VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
23 #include <boost/signal.hpp>
24 
27 {
28 public:
29  virtual ~DtConsoleCommand() {};
30 
33  virtual bool execute(const DtString& parameters) = 0;
35  virtual DtString help(const DtString& parameters) {return DtString::nullString();};
38  virtual bool showInHelp() const { return false; };
39 };
40 
48 {
49 private:
51 
53  DtConsoleCommandManager& operator=(const DtConsoleCommandManager& orig);
55 
56 public:
58  virtual ~DtConsoleCommandManager();
59 
61 
66  virtual void addCommand(DtString commandString, DtConsoleCommand* command);
67 
70 
71  virtual void addAlias(DtString aliasString, DtConsoleCommand* command);
72  virtual void addAlias(DtString aliasString, DtString commandString);
74 
77  virtual void removeCommand(DtString commandString);
79  virtual void removeCommand(DtConsoleCommand* command);
80 
84  virtual bool runCommand(DtString consoleString);
86  virtual DtString helpText(const DtString& parameters) const;
87 
89  static void cleanup();
90 
92  static DtConsoleCommandManager* globalConsoleCommandManager();
93 
94 protected:
95  typedef std::map<DtString, DtConsoleCommand* > DtConsoleCommandMap;
96 
98  {
99  public:
101  virtual bool execute(const DtString& parameters);
102  virtual DtString help(const DtString& parameters);
103  virtual bool showInHelp() const { return true; };
104  protected:
105  DtConsoleCommandManager* myCommandManager;
106  };
107 
109  {
110  public:
112  : DtConsoleCommand()
113  {
114 
115  }
117  virtual bool execute(const DtString& parameters)
118  {
119  int value = atoi(parameters.c_str());
120  std::cout << "Set notify level to " << value << std::endl;
121  DtNotifyLevel = value;
122  return true;
123  }
124 
125  virtual DtString help(const DtString& parameters)
126  {
127  return "Sets the notify level.";
128  };
129 
130  virtual bool showInHelp() const { return true; };
131  };
132 
134  virtual void removeReferencesFromMap(DtConsoleCommandMap& commandMap, DtConsoleCommand* command);
135 protected:
136 
139 
141 
143 };
144 
151 {
152 public:
155  DtSubCommandManager(const DtString& commandName,
156  DtConsoleCommandManager* parentManager);
157  virtual ~DtSubCommandManager();
158 
159 protected:
163  {
164  public:
165  DtRunSubCommand(DtSubCommandManager* commandManager);
166  virtual bool execute(const DtString& parameters);
167  virtual DtString help(const DtString& parameters);
168  virtual bool showInHelp() const { return true; };
169  protected:
170  DtSubCommandManager* myCommandManager;
171  };
172 
175 };
176 
182 {
183 public:
185  virtual ~DtConsoleCommandOwner();
186 
187 private:
189 
192  DtConsoleCommandOwner& operator=(const DtConsoleCommandOwner& orig);
194 
195 public:
198  virtual void addCommand(const DtString& commandString, DtConsoleCommand* command);
199 
200 protected:
202 };

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)