VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrfGuiCore
DtVrfCurrentTaskManager.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 2009 MAK Technologies, Inc.
3
** All rights reserved.
4
******************************************************************************/
5
8
10
11
#pragma once
12
13
#include <
vrfGuiCore/vrfGuiCore.h
>
14
15
#include <
vrvUtil/DtVirtualBaseClass.h
>
16
#include <
vrvCore/DtStateView.h
>
17
#include <
vrvCore/DtEntityState.h
>
18
19
#include <
vrftasks/simTask.h
>
20
21
#include <boost/signal.hpp>
22
#include <boost/function.hpp>
23
24
class
DtSimTask
;
25
class
DtVrfObjectMessage
;
26
27
namespace
makVrv
28
{
29
class
DtDe;
30
class
DtSimObjectEntry;
31
}
32
33
namespace
makVrf
34
{
35
class
DT_DLL_VRFGUICORE
DtVrfCurrentTaskManager
:
public
makVrv::DtVirtualBaseClass
36
{
37
public
:
38
39
typedef
std::vector<DtSimTaskMessageType>
Conflicting
;
40
typedef
DtBoost::shared_ptr<DtSimTask>
DtSimTaskSharedPtr
;
41
typedef
std::pair<DtSimTaskSharedPtr, Conflicting>
TaskInformation
;
42
typedef
std::vector<TaskInformation>
EntityTaskInformation
;
43
44
public
:
45
DtVrfCurrentTaskManager
(
makVrv::DtDe
&);
46
virtual
~
DtVrfCurrentTaskManager
();
47
49
static
DtVrfCurrentTaskManager
& instance(
makVrv::DtDe
& de);
50
51
public
:
52
boost::signal<void (const std::string& entityName)>
signal_currentTaskChanged
;
53
54
virtual
void
subscribeForTaskInformation(
const
makVrv::DtUniqueID
& simId);
55
virtual
void
unsubscribeForTaskInformation(
const
makVrv::DtUniqueID
& simId,
bool
all =
false
);
56
59
typedef
boost::function<void (std::string, const EntityTaskInformation&)>
DtRequestTaskCallbackFcn
;
60
61
virtual
void
requestCurrentTasksFor(
const
makVrv::DtUniqueID
& simId,
DtRequestTaskCallbackFcn
);
62
65
virtual
const
EntityTaskInformation
* tasksFor(
const
makVrv::DtUniqueID
& simId)
const
;
66
67
protected
:
68
virtual
void
slot_simObjectEntryAboutToBeRemoved(
makVrv::DtSimObjectEntry
& entry);
69
virtual
void
processEntityCurrentTaskCallback(
const
DtVrfObjectMessage
* msg);
70
71
virtual
makVrv::DtUniqueID
isMonitoring(
const
std::string& e)
const
;
72
virtual
makVrv::DtUniqueID
isRequesting(
const
std::string& e)
const
;
73
74
protected
:
75
makVrv::DtDe
&
myDe
;
76
77
typedef
std::pair<EntityTaskInformation, int>
EntityTasks
;
78
79
typedef
std::map<makVrv::DtUniqueID, EntityTasks>
DtEntityTaskMap
;
80
DtEntityTaskMap
myTasks
;
81
82
typedef
std::vector<DtRequestTaskCallbackFcn>
DtRequestCallbackVector
;
83
typedef
std::map<makVrv::DtUniqueID, DtRequestCallbackVector>
DtRequestCallbackMap
;
84
85
DtRequestCallbackMap
myTaskRequestCallbacks
;
86
};
87
}
Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)