lshal: Lshal register commands
Register commands to the controller class Lshal to autogenerate
help messages and select the correct Command.
Test: lshal_test
Change-Id: I846aef13d77bcee328c8410dc61f2e8b4c0e0d69
diff --git a/cmds/lshal/Lshal.h b/cmds/lshal/Lshal.h
index 89b38db..9f8eeaa 100644
--- a/cmds/lshal/Lshal.h
+++ b/cmds/lshal/Lshal.h
@@ -54,11 +54,12 @@
std::ostream &out,
NullableOStream<std::ostream> err) const;
- std::unique_ptr<Command> selectCommand(const std::string& command);
+ Command* selectCommand(const std::string& command) const;
+
+ void forEachCommand(const std::function<void(const Command* c)>& f) const;
private:
Status parseArgs(const Arg &arg);
- std::unique_ptr<HelpCommand> selectHelpCommand();
std::string mCommand;
Arg mCmdArgs;
@@ -68,6 +69,8 @@
sp<hidl::manager::V1_0::IServiceManager> mServiceManager;
sp<hidl::manager::V1_0::IServiceManager> mPassthroughManager;
+ std::vector<std::unique_ptr<Command>> mRegisteredCommands;
+
DISALLOW_COPY_AND_ASSIGN(Lshal);
};