VR-Forces 4.5 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vrfutil
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
27
class
DT_DLL_vrfutil
DtConsoleCommand
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
48
class
DT_DLL_vrfutil
DtConsoleCommandManager
49
{
50
private
:
52
53
DtConsoleCommandManager
(
const
DtConsoleCommandManager
& orig);
54
DtConsoleCommandManager
& operator=(
const
DtConsoleCommandManager
& orig);
56
57
public
:
58
DtConsoleCommandManager
();
59
virtual
~
DtConsoleCommandManager
();
60
61
boost::signal<void ()>
signal_globalCommandManagerToBeDestroyed
;
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
98
class
DtHelpConsoleCommand
:
public
DtConsoleCommand
99
{
100
public
:
101
DtHelpConsoleCommand
(
DtConsoleCommandManager
* commandManager);
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
113
DtConsoleCommandMap
myCommandMap
;
114
DtConsoleCommandMap
myAliasMap
;
115
116
DtHelpConsoleCommand
*
myHelpCommand
;
117
118
static
DtConsoleCommandManager
*
theConsoleCommandManager
;
119
};
120
126
class
DT_DLL_vrfutil
DtSubCommandManager
:
public
DtConsoleCommandManager
127
{
128
public
:
131
DtSubCommandManager
(
const
DtString
& commandName,
132
DtConsoleCommandManager
* parentManager);
133
virtual
~
DtSubCommandManager
();
134
135
protected
:
138
class
DtRunSubCommand
:
public
DtConsoleCommand
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
149
DtConsoleCommandManager
*
myParentManager
;
150
DtRunSubCommand
*
myCommand
;
151
};
152
157
class
DT_DLL_vrfutil
DtConsoleCommandOwner
158
{
159
public
:
160
DtConsoleCommandOwner
(
DtConsoleCommandManager
* cmdMgr);
161
virtual
~
DtConsoleCommandOwner
();
162
163
private
:
165
166
DtConsoleCommandOwner
();
167
DtConsoleCommandOwner
(
const
DtConsoleCommandOwner
& orig);
168
DtConsoleCommandOwner
& operator=(
const
DtConsoleCommandOwner
& orig);
170
171
public
:
174
virtual
void
addCommand(
const
DtString
& commandString,
DtConsoleCommand
* command);
175
176
protected
:
177
DtConsoleCommandManager
*
myCommandManager
;
178
};
Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (
www.mak.com
)