VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfResourceManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrfGuiCore/vrfGuiCore.h>
16 
17 #include <vrfutil/rwUUID.h>
18 #include <boost/signals2.hpp>
19 
20 #include <set>
21 
22 namespace makVrv
23 {
24  class DtDe;
25 }
26 
27 namespace makVrfEvents
28 {
29  class DtResourceResponseEvent;
30 }
31 
32 namespace makVrf
33 {
34  class DtEventManagerEventInterface;
35 
37  {
38  public:
40  virtual ~DtVrfResourceManager() override;
41 
43  static DtVrfResourceManager& instance(makVrv::DtDe& de);
44 
45  public:
47  virtual void requestResourcesFor(const std::vector<DtUUID>& names);
48  boost::signals2::signal<void (const makVrfEvents::DtResourceResponseEvent&)> signal_resourceResponse;
49 
51  virtual void startMonitoring(const DtUUID&, int period);
52 
55  virtual bool stopMonitoring(const DtUUID&);
56 
58  virtual int updateRateFor(const DtUUID&);
59 
62  virtual void setUpdateRate(const DtUUID&, int);
63 
65  bool monitoring(const DtUUID& uuid) const
66  {
67  return (myMonitoring.find(uuid) != myMonitoring.end());
68  }
69 
70  protected:
71  virtual void processResourceResponse(DtEventManagerEventInterface*);
72 
73  protected:
75  std::map<DtUUID, int> myUpdateRates;
76 
77  struct Monitoring
78  {
79  int referenceCount = 1;
81  };
82 
83  typedef std::map<DtUUID, Monitoring> DtMonitoringMap;
85 
87  std::set<unsigned> myRequests;
88  boost::signals2::scoped_connection myResourceResponseConnection;
89  };
90 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
std::map< DtUUID, Monitoring > DtMonitoringMap
Definition: vrfResourceManager.h:83
boost::signals2::signal< void(const makVrfEvents::DtResourceResponseEvent &)> signal_resourceResponse
Definition: vrfResourceManager.h:48
std::set< unsigned > myRequests
This will only be set for requests that also want the full amount.
Definition: vrfResourceManager.h:87
Definition: resourceResponseEvent.h:15
DtMonitoringMap myMonitoring
Definition: vrfResourceManager.h:84
Contains the DtUUID class declaration.
Definition: eventManagerEventInterface.h:16
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
makVrfEvents::DtResourceResponseEvent resources
Definition: vrfResourceManager.h:80
Definition: vrfResourceManager.h:36
Contains makVrv::DtVirtualBaseClass class.
makVrv::DtDe & myDe
Definition: vrfResourceManager.h:74
std::map< DtUUID, int > myUpdateRates
Definition: vrfResourceManager.h:75
Definition: vrfResourceManager.h:77
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
bool monitoring(const DtUUID &uuid) const
Returns true if monitoring item.
Definition: vrfResourceManager.h:65
boost::signals2::scoped_connection myResourceResponseConnection
Definition: vrfResourceManager.h:88

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)