VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 "vrfutil/vrfPrint.h"
15 #include <vlutil/vlString.h>
16 #include <vlutil/vlPrint.h>
17 
19 #include <map>
20 #include <list>
21 #include <iostream>
22 #include <stdlib.h>
23 
24 #include <boost/signal.hpp>
25 
28 {
29 public:
30  virtual ~DtConsoleCommand() {};
31 
34  virtual bool execute(const DtString& parameters) = 0;
36  virtual DtString help(const DtString& parameters) {return DtString::nullString();};
39  virtual bool showInHelp() const { return false; };
40 };
41 
49 {
50 private:
52 
54  DtConsoleCommandManager& operator=(const DtConsoleCommandManager& orig);
56 
57 public:
59  virtual ~DtConsoleCommandManager();
60 
62 
67  virtual void addCommand(DtString commandString, DtConsoleCommand* command);
68 
71 
72  virtual void addAlias(DtString aliasString, DtConsoleCommand* command);
73  virtual void addAlias(DtString aliasString, DtString commandString);
75 
78  virtual void removeCommand(DtString commandString);
80  virtual void removeCommand(DtConsoleCommand* command);
81 
85  virtual bool runCommand(DtString consoleString);
87  virtual DtString helpText(const DtString& parameters) const;
88 
90  static void cleanup();
91 
93  static DtConsoleCommandManager* globalConsoleCommandManager();
94 
95 protected:
96  typedef std::map<DtString, DtConsoleCommand* > DtConsoleCommandMap;
97 
99  {
100  public:
102  virtual bool execute(const DtString& parameters);
103  virtual DtString help(const DtString& parameters);
104  virtual bool showInHelp() const { return true; };
105  protected:
106  DtConsoleCommandManager* myCommandManager;
107  };
108 
110  virtual void removeReferencesFromMap(DtConsoleCommandMap& commandMap, DtConsoleCommand* command);
111 protected:
112 
115 
117 
119 };
120 
127 {
128 public:
131  DtSubCommandManager(const DtString& commandName,
132  DtConsoleCommandManager* parentManager);
133  virtual ~DtSubCommandManager();
134 
135 protected:
139  {
140  public:
141  DtRunSubCommand(DtSubCommandManager* commandManager);
142  virtual bool execute(const DtString& parameters);
143  virtual DtString help(const DtString& parameters);
144  virtual bool showInHelp() const { return true; };
145  protected:
146  DtSubCommandManager* myCommandManager;
147  };
148 
151 };
152 
158 {
159 public:
161  virtual ~DtConsoleCommandOwner();
162 
163 private:
165 
168  DtConsoleCommandOwner& operator=(const DtConsoleCommandOwner& orig);
170 
171 public:
174  virtual void addCommand(const DtString& commandString, DtConsoleCommand* command);
175 
176 protected:
178 };

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)