VR-Forces 4.3 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
vrfobjcore
multiTaskControllerComponent.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2014 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
10
11
#pragma once
12
13
#include "
vrfobjcore/vrfobjcoreDefines.h
"
14
#include "
vrfobjcore/taskControllerComponent.h
"
15
#include "
vrftasks/radioMessageTypes.h
"
16
21
class
DT_DLL_vrfobjcore
DtMultiTaskControllerComponent
:
public
DtTaskControllerComponent
22
{
23
24
public
:
25
31
DtMultiTaskControllerComponent
(
const
DtString
& name,
DtVrfObject
* owner,
32
DtSimManager
* simManager,
33
DtComponentDescriptor
* compDesc = 0,
34
DtReaderWriterRegistry
* parentRegistry = 0);
35
37
virtual
~
DtMultiTaskControllerComponent
();
38
39
virtual
bool
init
();
40
45
virtual
void
postTick
();
46
55
virtual
bool
beginProcessingTask
(
const
DtTaskMessage
&
task
,
56
DtSimTaskStatePtr
taskState);
57
63
virtual
void
taskComplete(
int
taskId,
bool
success);
64
66
virtual
void
clearTask
(
int
taskId);
67
70
virtual
void
suspendTask(
int
taskId);
71
73
virtual
DtTaskMessage
* currentTaskMessage(
int
taskId);
74
80
virtual
DtSimTaskStatePtr
currentTaskState(
int
taskId)
const
;
81
85
virtual
int
sendSubtask(
DtSimTask
& task,
int
taskId);
86
94
virtual
int
sendTask(
DtSimTask
& task,
const
DtString
& receiver,
int
taskId,
95
bool
actAsSubtask =
true
,
bool
useRadio =
false
);
96
101
virtual
void
clearSubtask(
int
subtaskId,
int
taskId);
102
106
virtual
void
addPendingSubtaskId(
int
subtaskId,
int
taskId);
107
112
virtual
bool
findPendingSubtaskId(
int
subtaskId,
int
taskId);
113
118
virtual
void
removePendingSubtaskId(
int
subtaskId,
int
taskId);
119
122
virtual
DtSubtaskStatusEntry
* subtaskStatus(
int
subtaskId,
int
taskId);
123
128
virtual
void
removeAllPendingSubtaskIds(
int
taskId);
129
131
virtual
std::vector<int> currentPendingSubstaskIds(
int
taskId)
const
;
132
135
virtual
bool
decideToGiveUpTask()
const
;
136
140
virtual
void
giveUpTask();
141
143
virtual
bool
taskActive
(
int
taskId)
const
;
144
146
virtual
bool
clearTopLevelTasks
();
147
149
virtual
void
clearConflictingTopLevelTasks
(
const
DtSimTaskMessageType
& conflictType);
150
152
virtual
void
clearTasksByType
(
const
DtSimTaskMessageType
& taskType);
153
155
virtual
void
clearTaskById
(
int
taskId);
156
157
virtual
DtSuspendedTaskInfo
*
suspendTaskById
(
int
taskId);
158
160
virtual
std::list<DtTaskMessage*>
currentTaskMessages
()
const
;
161
163
virtual
DtTaskWithTaskStateListPtr
topLevelTasks
()
const
;
164
167
virtual
void
setScriptTickPeriod(
const
DtString
& scriptId,
double
period);
168
169
protected
:
171
virtual
void
addCurrentTaskMessage(
const
DtTaskMessage
* taskMessage);
174
virtual
void
clearCurrentTaskMessage(
int
taskId);
175
178
virtual
void
clearPendingSubtasks(
int
taskId);
179
183
virtual
void
clearSubtasksByType(
const
DtSimTaskMessageType
& taskType,
int
taskId);
184
187
virtual
int
taskIdWhichStartedSubtask(
int
subtaskId);
188
};
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
)