VR-Forces 4.1.1 Class Documentation
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 
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 {
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:
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:
76 
77  typedef std::pair<EntityTaskInformation, int> EntityTasks;
78 
79  typedef std::map<makVrv::DtUniqueID, EntityTasks> DtEntityTaskMap;
81 
82  typedef std::vector<DtRequestTaskCallbackFcn> DtRequestCallbackVector;
83  typedef std::map<makVrv::DtUniqueID, DtRequestCallbackVector> DtRequestCallbackMap;
84 
86  };
87 }

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)