From c998e0172f31fd5707a8361962ec99b3ff9b1b10 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sun, 5 Feb 2023 12:16:17 -0500 Subject: Move value-only methods to `InstallableValue` These methods would previously fail on the other `Installable`s, so moving them to this class is more correct as to where they actually work. Additionally, a `InstallableValueCommand` is created to make it easier (or rather no worse than before) to write commands that just work on `InstallableValue`s. Besides being a cleanup to avoid failing default methods, this gets us closer to https://github.com/NixOS/rfcs/pull/134. --- src/libcmd/command-installable-value.hh | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 src/libcmd/command-installable-value.hh (limited to 'src/libcmd/command-installable-value.hh') diff --git a/src/libcmd/command-installable-value.hh b/src/libcmd/command-installable-value.hh new file mode 100644 index 000000000..8e31a0b92 --- /dev/null +++ b/src/libcmd/command-installable-value.hh @@ -0,0 +1,13 @@ +#include "installable-value.hh" +#include "command.hh" + +namespace nix { + +struct InstallableValueCommand : InstallableCommand +{ + virtual void run(ref store, ref installable) = 0; + + void run(ref store, ref installable) override; +}; + +} -- cgit v1.2.3