VR-Forces 5.0.2 Developer's Guide
 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/signals2.hpp>
25 #include <tbb/spin_rw_mutex.h>
26 
29 {
30 public:
31  virtual ~DtConsoleCommand() {};
32 
35  virtual bool execute(const DtString& parameters) = 0;
37  virtual DtString help(const DtString& parameters) {return parameters;};
40  virtual bool showInHelp() const { return false; };
41 };
42 
57 {
58 private:
60 
62  DtConsoleCommandManager& operator=(const DtConsoleCommandManager& orig);
64 
65 public:
67  virtual ~DtConsoleCommandManager();
68 
69  boost::signals2::signal<void ()> signal_globalCommandManagerToBeDestroyed;
70 
75  virtual void addCommand(DtString commandString, DtConsoleCommand* command);
76 
79 
80  virtual void addAlias(DtString aliasString, DtConsoleCommand* command);
81  virtual void addAlias(DtString aliasString, DtString commandString);
83 
86  virtual void removeCommand(DtString commandString);
88  virtual void removeCommand(DtConsoleCommand* command);
89 
93  virtual bool runCommand(DtString consoleString);
95  virtual DtString helpText(const DtString& parameters) const;
96 
98  static void cleanup();
99 
101  static DtConsoleCommandManager* globalConsoleCommandManager();
102 
103 protected:
104  typedef std::map<DtString, DtConsoleCommand* > DtConsoleCommandMap;
105 
107  {
108  public:
110  virtual bool execute(const DtString& parameters);
111  virtual DtString help(const DtString& parameters);
112  virtual bool showInHelp() const { return true; };
113  protected:
114  DtConsoleCommandManager* myCommandManager;
115  };
116 
118  virtual void removeReferencesFromMap(DtConsoleCommandMap& commandMap, DtConsoleCommand* command);
119 protected:
120 
123  tbb::spin_rw_mutex myMutex;
124 
126 
128 };
129 
136 {
137 public:
140  DtSubCommandManager(const DtString& commandName,
141  DtConsoleCommandManager* parentManager);
142  virtual ~DtSubCommandManager();
143 
144 protected:
148  {
149  public:
150  DtRunSubCommand(DtSubCommandManager* commandManager);
151  virtual bool execute(const DtString& parameters);
152  virtual DtString help(const DtString& parameters);
153  virtual bool showInHelp() const { return true; };
154  protected:
155  DtSubCommandManager* myCommandManager;
156  };
157 
160 };
161 
167 {
168 public:
170  virtual ~DtConsoleCommandOwner();
171 
172 private:
174 
177  DtConsoleCommandOwner& operator=(const DtConsoleCommandOwner& orig);
179 
180 public:
183  virtual void addCommand(const DtString& commandString, DtConsoleCommand* command);
184 
185 protected:
187 };
virtual ~DtConsoleCommand()
Definition: consoleCommandManager.h:31
static DtConsoleCommandManager * theConsoleCommandManager
Definition: consoleCommandManager.h:127
DtHelpConsoleCommand * myHelpCommand
Definition: consoleCommandManager.h:125
DtConsoleCommandMap myCommandMap
Definition: consoleCommandManager.h:121
Command which is registered on the parent manager, and invokes this command manager.
Definition: consoleCommandManager.h:147
DtConsoleCommandManager * myParentManager
Definition: consoleCommandManager.h:158
This is a class which maintains a list of string command names and the callback functions that are to...
Definition: consoleCommandManager.h:56
tbb::spin_rw_mutex myMutex
Definition: consoleCommandManager.h:123
virtual DtString help(const DtString &parameters)
Definition: consoleCommandManager.h:37
DtRunSubCommand * myCommand
Definition: consoleCommandManager.h:159
Definition: consoleCommandManager.h:106
A utility class for use with DtConsoleCommandManager. This class takes ownership of an arbitrary numb...
Definition: consoleCommandManager.h:166
system includes
Definition: consoleCommandManager.h:28
virtual bool showInHelp() const
Definition: consoleCommandManager.h:153
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
A specialized version of DtConsoleCommandManager which handles a set of sub commands from another con...
Definition: consoleCommandManager.h:135
boost::signals2::signal< void()> signal_globalCommandManagerToBeDestroyed
Definition: consoleCommandManager.h:69
virtual bool showInHelp() const
Definition: consoleCommandManager.h:40
DtConsoleCommandMap myAliasMap
Definition: consoleCommandManager.h:122
std::map< DtString, DtConsoleCommand * > DtConsoleCommandMap
Definition: consoleCommandManager.h:104
DtConsoleCommandManager * myCommandManager
Definition: consoleCommandManager.h:186
virtual bool showInHelp() const
Definition: consoleCommandManager.h:112

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)