openMSX
InfoCommand.hh
Go to the documentation of this file.
1 #ifndef INFOCOMMAND_HH
2 #define INFOCOMMAND_HH
3 
4 #include "Command.hh"
5 #include "StringMap.hh"
6 
7 namespace openmsx {
8 
9 class InfoTopic;
10 
11 class InfoCommand : public Command
12 {
13 public:
14  InfoCommand(CommandController& commandController, const std::string& name);
15  virtual ~InfoCommand();
16 
17  void registerTopic(InfoTopic& topic, string_ref name);
18  void unregisterTopic(InfoTopic& topic, string_ref name);
19 
20 private:
21  // Command
22  virtual void execute(const std::vector<TclObject>& tokens,
23  TclObject& result);
24  virtual std::string help(const std::vector<std::string>& tokens) const;
25  virtual void tabCompletion(std::vector<std::string>& tokens) const;
26 
27  StringMap<const InfoTopic*> infoTopics;
28 };
29 
30 } // namespace openmsx
31 
32 #endif