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
vrftasks
scriptedTaskTask.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2012 MaK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
9
#pragma once
10
11
#include "
vrftasks/vrftasksDefines.h
"
12
#include "
vrftasks/simTask.h
"
13
#include "
vrftasks/setDataRequest.h
"
14
#include "
vrfutil/rwVariableBindings.h
"
15
#include "
vrfutil/rwString.h
"
16
#include "
vrfutil/scriptedTaskVariable.h
"
17
18
#include <
vrftasks/stringRepHelper.h
>
19
25
27
class
DT_DLL_vrftasks
DtScriptedTask
28
{
29
public
:
30
class
ScriptedTaskFormatter
31
{
32
public
:
33
virtual
DtString
stringRep(
const
DtScriptedTask
&)
const
= 0;
34
virtual
DtString
stringRep(
const
DtString
& scriptId,
const
DtRwVariableBindings
& variables,
const
DtRwVariableBindings
& variableDataTypes)
const
= 0;
35
};
36
37
DtScriptedTask
() {};
38
virtual
~DtScriptedTask
() {};
39
41
virtual
bool
init
() = 0;
42
44
virtual
const
DtString
& scriptId()
const
= 0;
45
virtual
void
setScriptId(
const
DtString
&) = 0;
46
48
virtual
DtRwVariableBindings
& variables() = 0;
49
virtual
const
DtRwVariableBindings
& variables()
const
= 0;
50
53
virtual
DtRwVariableBindings
& variableDataTypes() = 0;
54
virtual
const
DtRwVariableBindings
& variableDataTypes()
const
= 0;
55
58
61
virtual
int
netRepSize()
const
= 0;
62
64
virtual
bool
setFromNet(
const
char
* contentBuffer,
65
unsigned
contentSize) = 0;
66
67
virtual
char
* setToNet(
char
*) = 0;
69
70
static
void
setScriptedTaskFormatter(ScriptedTaskFormatter*);
71
static
ScriptedTaskFormatter* scriptedTaskFormatter();
72
73
virtual
DtString
allVariablesStringRep()
const
= 0;
74
75
protected
:
76
static
ScriptedTaskFormatter
*
theScriptedTaskFormatter
;
77
};
78
79
template
<
class
T>
class
DtScriptedTaskTemplate
:
public
T,
public
DtScriptedTask
80
{
81
82
public
:
83
85
DtScriptedTaskTemplate
();
86
89
DtScriptedTaskTemplate
(
const
DtString
& writeName,
90
DtReaderWriterRegistry
* parentRegistry = 0);
91
93
DtScriptedTaskTemplate
(
const
DtString
& writeName,
const
DtScriptedTaskTemplate
& orig,
94
DtReaderWriterRegistry
* parentRegistry = 0);
95
97
DtScriptedTaskTemplate
(
const
DtScriptedTaskTemplate
& orig );
98
100
const
DtScriptedTaskTemplate
&
operator=
(
const
DtScriptedTaskTemplate
& orig);
101
102
virtual
~DtScriptedTaskTemplate
();
103
106
virtual
DtString
stringRep
()
const
;
107
109
virtual
DtString
allVariablesStringRep
()
const
;
110
113
virtual
int
netRepSize
()
const
;
114
116
virtual
bool
setFromNet
(
const
char
* contentBuffer,
117
unsigned
contentSize);
118
120
virtual
bool
init
();
121
124
virtual
bool
setToNet
();
125
virtual
char
*
setToNet
(
char
*);
126
128
virtual
DtRwVariableBindings
&
variables
();
129
virtual
const
DtRwVariableBindings
&
variables
()
const
;
130
131
virtual
void
setVariables
(
const
DtRwVariableBindings
&);
132
135
virtual
DtRwVariableBindings
&
variableDataTypes
();
136
virtual
const
DtRwVariableBindings
&
variableDataTypes
()
const
;
137
139
virtual
void
setScriptId
(
const
DtString
&);
140
virtual
const
DtString
&
scriptId
()
const
;
141
143
virtual
void
getSelf
(DtlObjPtr args,
144
const
DtReaderWriter::SearchPaths
& searchPaths =
DtReaderWriter::SearchPaths
(),
145
const
DtVariableBindingsList
& variableBindings =
DtReaderWriter::nullVariableReference
());
146
virtual
void
getSelf
(
const
DtEnvironmentSP
,
const
DtEnvValueSP root,
147
const
DtReaderWriter::SearchPaths
& searchPaths =
DtReaderWriter::SearchPaths
(),
148
const
DtVariableBindingsList
& bindings =
DtVariableBindingsList
());
149
150
protected
:
151
virtual
void
upgradeVariables
();
152
153
protected
:
154
DtRwString
myScriptId
;
155
DtRwVariableBindings
myVariables
;
156
DtRwVariableBindings
myVariableDataTypes
;
157
};
158
160
class
DT_DLL_vrftasks
DtScriptedTaskStringRepHelper
:
public
DtStringRepHelper
161
{
162
public
:
163
DtScriptedTaskStringRepHelper
() {};
164
DtScriptedTaskStringRepHelper
(
const
std::vector<DtScriptedTaskVariable>&);
165
166
virtual
~DtScriptedTaskStringRepHelper
() {};
167
168
virtual
bool
isDisplayableSymbol
(
const
DtString
& s,
const
DtReaderWriter
* value,
const
DtReaderWriter
* type)
const
;
169
virtual
bool
isDisplayableScriptSymbol
(
const
DtString
& scriptId,
const
DtString
& scriptVariableName)
const
;
170
171
protected
:
172
std::map<std::string, DtScriptedTaskVariable>
myVariables
;
173
};
174
176
class
DT_DLL_vrftasks
DtScriptedTaskTask
:
public
DtScriptedTaskTemplate
<DtSimTask>
177
{
178
public
:
180
DtScriptedTaskTask
();
181
184
DtScriptedTaskTask
(
const
DtString
& writeName,
185
DtReaderWriterRegistry
* parentRegistry = 0);
186
188
DtScriptedTaskTask
(
const
DtString
& writeName,
const
DtScriptedTaskTask
& orig,
189
DtReaderWriterRegistry
* parentRegistry = 0);
190
192
DtScriptedTaskTask
(
const
DtScriptedTaskTask
& orig );
193
195
const
DtScriptedTaskTask
&
operator=
(
const
DtScriptedTaskTask
& orig);
196
197
virtual
~
DtScriptedTaskTask
();
198
200
virtual
const
DtSimTaskMessageType
& type()
const
;
201
203
virtual
int
scriptPriority()
const
;
204
206
virtual
void
setScriptPriority(
int
);
207
210
virtual
bool
scriptEnabled()
const
;
211
213
virtual
void
setScriptEnabled(
bool
);
214
216
virtual
bool
scriptActive()
const
;
217
219
virtual
void
setScriptActive(
bool
);
220
222
virtual
DtSimTask
* clone(
const
DtString
& name,
DtReaderWriterRegistry
*
223
parentRegistry = 0)
const
;
224
225
static
DtSimTask
* creator();
226
227
protected
:
228
mutable
DtSimTaskMessageType
myType
;
229
};
230
231
namespace
DtBufferSerialize
232
{
233
DT_DLL_vrftasks
int
getSize
(
const
DtScriptedTask
& list);
234
DT_DLL_vrftasks
char
*
encode
(
const
DtScriptedTask
& list,
char
* buffer);
235
DT_DLL_vrftasks
const
char
*
decode
(
DtScriptedTask
& list,
const
char
* buffer);
236
}
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
)