VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfCurrentTaskManager.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 
16 #include <vrvCore/DtStateView.h>
17 #include <vrvCore/DtEntityState.h>
18 
19 #include <vrftasks/simTask.h>
21 #include <vrfutil/rwUUID.h>
22 
23 #include <vrvUtil/signalslib.h>
24 #include <boost/function.hpp>
25 
26 class DtVrfObjectMessage;
27 
28 namespace makVrv
29 {
30  class DtDe;
31  class DtSimObjectEntry;
32 }
33 
34 namespace makVrf
35 {
37  {
38  public:
39  typedef DtBoost::shared_ptr<DtSimTask> DtSimTaskSharedPtr;
40  typedef DtBoost::shared_ptr<DtSetDataRequest> DtSetDataRequestSharedPtr;
41  typedef std::vector<DtSimTaskMessageType> Conflicting;
42 
46  {
49  std::vector<TaskInformation> subtasks;
50  int status;
53  };
54 
55  typedef std::vector<TaskInformation> EntityTaskInformation;
56 
57  public:
59  virtual ~DtVrfCurrentTaskManager();
60 
62  static DtVrfCurrentTaskManager& instance(makVrv::DtDe& de);
63 
64  public:
65  boost::signals2::signal<void (const DtUUID&)> signal_currentTaskChanged;
66 
69  boost::signals2::signal<void ()> signal_allRequestsReceived;
70 
71  virtual void subscribeForTaskInformation(const makVrv::DtUniqueID& simId);
72  virtual void unsubscribeForTaskInformation(const makVrv::DtUniqueID& simId, bool all = false);
73 
76  typedef boost::function<void (DtUUID, const EntityTaskInformation&)> DtRequestTaskCallbackFcn;
77 
78  virtual void requestCurrentTasksFor(const makVrv::DtUniqueID& simId, DtRequestTaskCallbackFcn);
79 
81  virtual void requestCurrentTasksFor(const std::vector<makVrv::DtUniqueID>& simIds);
82  virtual void requestCurrentTasksFor(const std::vector<makVrv::DtSimEntry*>&);
83 
85  virtual void defaultReceivedTaskCallback(const DtUUID&, const EntityTaskInformation&);
86 
89  virtual const EntityTaskInformation* tasksFor(const makVrv::DtUniqueID& simId) const;
90 
91  protected:
92  virtual void slot_simObjectEntryAboutToBeRemoved(makVrv::DtSimObjectEntry& entry);
93  virtual void processEntityCurrentTaskCallback(const DtVrfObjectMessage* msg);
94 
95  virtual makVrv::DtUniqueID isMonitoring(const DtUUID&) const;
96  virtual makVrv::DtUniqueID isRequesting(const DtUUID&) const;
97 
99  virtual void convertTaskList(const DtCurrentTasksAdminContent::DtTaskList&, EntityTaskInformation&) const;
100 
102  virtual void convertScriptedSetList(const DtCurrentTasksAdminContent::DtScriptedSetList&, EntityTaskInformation&) const;
103 
105  virtual TaskInformation convertDataToTaskInformation(const DtCurrentTaskData& data) const;
106 
108  virtual TaskInformation convertDataToScriptedSetInformation(const DtCurrentScriptedSetData& data) const;
109 
111  virtual void convertMessageToInformation(const DtCurrentTasksAdminContent*, EntityTaskInformation&) const;
112 
113  protected:
115 
116  typedef std::pair<EntityTaskInformation, int> EntityTasks;
117 
118  typedef std::map<makVrv::DtUniqueID, EntityTasks> DtEntityTaskMap;
120 
121  typedef std::vector<DtRequestTaskCallbackFcn> DtRequestCallbackVector;
122  typedef std::map<makVrv::DtUniqueID, DtRequestCallbackVector> DtRequestCallbackMap;
123 
126  };
127 }
boost::signals2::signal< void(const DtUUID &)> signal_currentTaskChanged
Definition: vrfCurrentTaskManager.h:65
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
makVrv::DtDe & myDe
Definition: vrfCurrentTaskManager.h:114
Virtual base class.
Definition: DtVirtualBaseClass.h:19
DtSimTaskSharedPtr task
Definition: vrfCurrentTaskManager.h:47
Note, check task or set.
Definition: vrfCurrentTaskManager.h:45
std::vector< DtSimTaskMessageType > Conflicting
Definition: vrfCurrentTaskManager.h:41
std::map< makVrv::DtUniqueID, DtRequestCallbackVector > DtRequestCallbackMap
Definition: vrfCurrentTaskManager.h:122
std::vector< DtRequestTaskCallbackFcn > DtRequestCallbackVector
Definition: vrfCurrentTaskManager.h:121
Contains makVrv::DtStateView class.
Structure holding the current task information for one of the current tasks for an entity...
Definition: currentTasksAdminContent.h:25
Definition: vrfCurrentTaskManager.h:36
boost::signals2::signal< void()> signal_allRequestsReceived
When all immediately requested tasks are received (via the requestCurrentTasksFor) this signal is sen...
Definition: vrfCurrentTaskManager.h:69
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
std::pair< EntityTaskInformation, int > EntityTasks
Definition: vrfCurrentTaskManager.h:116
DtString controller
Definition: vrfCurrentTaskManager.h:51
DtSetDataRequestSharedPtr set
Definition: vrfCurrentTaskManager.h:48
boost::function< void(DtUUID, const EntityTaskInformation &)> DtRequestTaskCallbackFcn
Request current tasks.
Definition: vrfCurrentTaskManager.h:76
int status
Definition: vrfCurrentTaskManager.h:50
Contains makVrv::DtVirtualBaseClass class.
A DtSimObjectEntry is an entry for a persistent simulation object like an entity. ...
Definition: DtSimObjectEntry.h:22
std::map< makVrv::DtUniqueID, EntityTasks > DtEntityTaskMap
Definition: vrfCurrentTaskManager.h:118
Contains makVrv::DtEntityState class.
DtBoost::shared_ptr< DtSetDataRequest > DtSetDataRequestSharedPtr
Definition: vrfCurrentTaskManager.h:40
The base class for all messages to/from a specific DtVrfObject.
Definition: vrfObjectMessage.h:30
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
std::list< DtCurrentTaskData > DtTaskList
Definition: currentTasksAdminContent.h:116
Admin content that is used to send the current tasks status from a specific entity.
Definition: currentTasksAdminContent.h:113
std::vector< TaskInformation > subtasks
Definition: vrfCurrentTaskManager.h:49
DtEntityTaskMap myTasks
Definition: vrfCurrentTaskManager.h:119
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Structure holding the current set information for one of the current scripted sets for an entity...
Definition: currentTasksAdminContent.h:51
DtRequestCallbackMap myTaskRequestCallbacks
Definition: vrfCurrentTaskManager.h:124
std::vector< TaskInformation > EntityTaskInformation
Definition: vrfCurrentTaskManager.h:55
bool myConnectedToReceiveTasks
Definition: vrfCurrentTaskManager.h:125
DtBoost::shared_ptr< DtSimTask > DtSimTaskSharedPtr
Definition: vrfCurrentTaskManager.h:39
std::list< DtCurrentScriptedSetData > DtScriptedSetList
Definition: currentTasksAdminContent.h:117
Conflicting conflictingTasks
Definition: vrfCurrentTaskManager.h:52

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)