VR-Forces 4.1.1 Class Documentation
consoleCommandManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include "vrfutil/vrfutilDefines.h"
14 #include <vlutil/vlString.h>
15 #include <vlutil/vlPrint.h>
16 
18 #include <map>
19 #include <list>
20 #include <iostream>
21 #include <stdlib.h>
22 
25 {
26 public:
27  virtual ~DtConsoleCommand() {};
28 
31  virtual bool execute(const DtString& parameters) = 0;
33  virtual DtString help(const DtString& parameters) {return DtString::nullString();};
36  virtual bool showInHelp() const { return false; };
37 };
38 
46 {
47 private:
49 
51  DtConsoleCommandManager& operator=(const DtConsoleCommandManager& orig);
53 
54 public:
56  virtual ~DtConsoleCommandManager();
57 
61  virtual void addCommand(DtString commandString, DtConsoleCommand* command);
64 
65  virtual void addAlias(DtString aliasString, DtConsoleCommand* command);
66  virtual void addAlias(DtString aliasString, DtString commandString);
68 
71  virtual void removeCommand(DtString commandString);
73  virtual void removeCommand(DtConsoleCommand* command);
74 
78  virtual bool runCommand(DtString consoleString);
80  virtual DtString helpText(const DtString& parameters) const;
81 
83  static DtConsoleCommandManager* globalConsoleCommandManager();
84 
85 protected:
86  typedef std::map<DtString, DtConsoleCommand* > DtConsoleCommandMap;
87 
89  {
90  public:
92  virtual bool execute(const DtString& parameters);
93  virtual DtString help(const DtString& parameters);
94  virtual bool showInHelp() const { return true; };
95  protected:
96  DtConsoleCommandManager* myCommandManager;
97  };
98 
100  {
101  public:
103  : DtConsoleCommand()
104  {
105 
106  }
108  virtual bool execute(const DtString& parameters)
109  {
110  int value = atoi(parameters.c_str());
111  std::cout << "Set notify level to " << value << std::endl;
112  DtNotifyLevel = value;
113  return true;
114  }
115 
116  virtual DtString help(const DtString& parameters)
117  {
118  return "Sets the notify level.";
119  };
120 
121  virtual bool showInHelp() const { return true; };
122  };
123 
125  virtual void removeReferencesFromMap(DtConsoleCommandMap& commandMap, DtConsoleCommand* command);
126 protected:
127 
130 
133 
135 };
136 
143 {
144 public:
147  DtSubCommandManager(const DtString& commandName,
148  DtConsoleCommandManager* parentManager);
149  virtual ~DtSubCommandManager();
150 
151 protected:
155  {
156  public:
157  DtRunSubCommand(DtSubCommandManager* commandManager);
158  virtual bool execute(const DtString& parameters);
159  virtual DtString help(const DtString& parameters);
160  virtual bool showInHelp() const { return true; };
161  protected:
162  DtSubCommandManager* myCommandManager;
163  };
164 
167 };
168 
174 {
175 public:
177  virtual ~DtConsoleCommandOwner();
178 
179 private:
181 
184  DtConsoleCommandOwner& operator=(const DtConsoleCommandOwner& orig);
186 
187 public:
190  virtual void addCommand(const DtString& commandString, DtConsoleCommand* command);
191 
192 protected:
194  std::list<DtConsoleCommand*> myCommandList;
195 };

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)