VR-Forces 4.7 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 <boost/signal.hpp>
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::signal<void (const DtUUID&)> signal_currentTaskChanged;
66 
69  boost::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 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)