VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 std::vector<DtSimTaskMessageType> Conflicting;
41 
43  {
45  std::vector<TaskInformation> subtasks;
46  int status;
49  };
50 
51  typedef std::vector<TaskInformation> EntityTaskInformation;
52 
53  public:
55  virtual ~DtVrfCurrentTaskManager();
56 
58  static DtVrfCurrentTaskManager& instance(makVrv::DtDe& de);
59 
60  public:
61  boost::signal<void (const DtUUID&)> signal_currentTaskChanged;
62 
65  boost::signal<void ()> signal_allRequestsReceived;
66 
67  virtual void subscribeForTaskInformation(const makVrv::DtUniqueID& simId);
68  virtual void unsubscribeForTaskInformation(const makVrv::DtUniqueID& simId, bool all = false);
69 
72  typedef boost::function<void (DtUUID, const EntityTaskInformation&)> DtRequestTaskCallbackFcn;
73 
74  virtual void requestCurrentTasksFor(const makVrv::DtUniqueID& simId, DtRequestTaskCallbackFcn);
75 
77  virtual void requestCurrentTasksFor(const std::vector<makVrv::DtUniqueID>& simIds);
78  virtual void requestCurrentTasksFor(const std::vector<makVrv::DtSimEntry*>&);
79 
81  virtual void defaultReceivedTaskCallback(const DtUUID&, const EntityTaskInformation&);
82 
85  virtual const EntityTaskInformation* tasksFor(const makVrv::DtUniqueID& simId) const;
86 
87  protected:
88  virtual void slot_simObjectEntryAboutToBeRemoved(makVrv::DtSimObjectEntry& entry);
89  virtual void processEntityCurrentTaskCallback(const DtVrfObjectMessage* msg);
90 
91  virtual makVrv::DtUniqueID isMonitoring(const DtUUID&) const;
92  virtual makVrv::DtUniqueID isRequesting(const DtUUID&) const;
93 
95  virtual void convertTaskList(const DtCurrentTasksAdminContent::DtTaskList&, EntityTaskInformation&) const;
96 
98  virtual TaskInformation convertDataToTaskInformation(const DtCurrentTaskData& data) const;
99 
101  virtual void convertMessageToInformation(const DtCurrentTasksAdminContent*, EntityTaskInformation&) const;
102 
103  protected:
105 
106  typedef std::pair<EntityTaskInformation, int> EntityTasks;
107 
108  typedef std::map<makVrv::DtUniqueID, EntityTasks> DtEntityTaskMap;
110 
111  typedef std::vector<DtRequestTaskCallbackFcn> DtRequestCallbackVector;
112  typedef std::map<makVrv::DtUniqueID, DtRequestCallbackVector> DtRequestCallbackMap;
113 
115  };
116 }

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)