VR-Forces 4.1.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrfobjcore
multiTaskControllerComponent.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 "
vrfobjcore/vrfobjcoreDefines.h
"
14
#include "
vrfobjcore/taskCtlrCmpnt.h
"
15
#include "
vrftasks/radioMsgTypes.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
69
virtual
DtTaskMessage
* currentTaskMessage(
int
taskId);
70
76
virtual
DtSimTaskStatePtr
currentTaskState(
int
taskId)
const
;
77
81
virtual
int
sendSubtask(
DtSimTask
& task,
int
taskId);
82
89
virtual
int
sendTask(
DtSimTask
& task,
const
DtString
& receiver,
int
taskId);
90
95
virtual
void
clearSubtask(
int
subtaskId,
int
taskId);
96
100
virtual
void
addPendingSubtaskId(
int
subtaskId,
int
taskId);
101
106
virtual
bool
findPendingSubtaskId(
int
subtaskId,
int
taskId);
107
112
virtual
void
removePendingSubtaskId(
int
subtaskId,
int
taskId);
113
116
virtual
DtSubtaskStatusEntry
* subtaskStatus(
int
subtaskId,
int
taskId);
117
122
virtual
void
removeAllPendingSubtaskIds(
int
taskId);
123
125
virtual
std::vector<int> currentPendingSubstaskIds(
int
taskId)
const
;
126
129
virtual
bool
decideToGiveUpTask()
const
;
130
134
virtual
void
giveUpTask();
135
137
virtual
bool
taskActive
(
int
taskId)
const
;
138
140
virtual
bool
clearTopLevelTasks
();
141
143
virtual
void
clearConflictingTopLevelTasks
(
const
DtSimTaskMessageType
& conflictType);
144
146
virtual
void
clearTasksByType
(
const
DtSimTaskMessageType
& taskType);
147
149
virtual
void
clearTaskById
(
int
taskId);
150
152
virtual
std::list<DtTaskMessage*>
currentTaskMessages
()
const
;
153
155
virtual
DtTaskWithTaskStateListPtr
topLevelTasks
()
const
;
156
157
protected
:
159
virtual
void
addCurrentTaskMessage(
const
DtTaskMessage
* taskMessage);
162
virtual
void
clearCurrentTaskMessage(
int
taskId);
163
166
virtual
void
clearPendingSubtasks(
int
taskId);
167
171
virtual
void
clearSubtasksByType(
const
DtSimTaskMessageType
& taskType,
int
taskId);
172
175
virtual
int
taskIdWhichStartedSubtask(
int
subtaskId);
176
};
Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)