VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSensorManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
14 
15 #include <string>
16 #include <vector>
17 
18 #include <vrvUtil/signalslib.h>
19 
20 namespace makArchives { class DtSensorSetRecord; }
21 
22 namespace makVrv
23 {
24  class DtDe;
25  class DtSensor;
26  class DtSensorModule;
27  class DtSensorSettingsManager;
28  class DtSensorController;
29  class DtBackupInterface;
30  class DtChannel;
31 
37  {
38  public:
40  typedef std::vector<DtSensor*> SensorVec;
41 
43  typedef std::vector<const DtSensorModule*> SensorModuleVec;
44 
46  virtual ~DtSensorManager();
47 
51  static DtSensorManager& instance(DtDe& de);
52 
57  static void registerInstance(DtSensorManager* mgr, DtDe& de);
58 
62  static DtSensorManager* findInstance(DtDe& de);
63 
68  virtual void addSensor(DtSensor* sensor) = 0;
69 
73  virtual void removeSensor(DtSensor* sensor) = 0;
74 
79  virtual DtSensor* findSensor(const std::string& sensorName) const = 0;
80 
83  virtual unsigned int getSensorId(DtSensor* sensor) = 0;
84 
86  virtual void getSensors(SensorVec& sensorVec ) const = 0;
87 
92  virtual void addSensorModule(DtSensorModule* sensorModule) = 0;
93 
97  virtual void removeSensorModule(DtSensorModule* sensorModule) = 0;
98 
100  virtual std::string generateName() = 0;
101 
105  virtual DtSensorModule* findSensorModule(
106  const std::string& sensorModuleName) = 0;
107 
109  virtual void getSensorModules(SensorModuleVec& moduleVec) const = 0;
110 
112  virtual void setSensorsFromRecord(const makArchives::DtSensorSetRecord& rec) = 0;
113 
115  virtual void getSensorsRecord(makArchives::DtSensorSetRecord& rec) const = 0;
116 
118  virtual void loadDefaults(bool loadOnlyFactorySettings = false) = 0;
119 
121  virtual void saveAsDefaults() = 0;
122 
124  virtual void exportSettings(const std::string& fileName) = 0;
125 
127  virtual void importSettings(const std::string& fileName) = 0;
128 
130  virtual DtBackupInterface* backup() = 0;
131 
133  virtual void enableSensor(DtSensor* sensor, DtChannel& channel) = 0;
134 
136  virtual void disableSensor(DtSensor* sensor, DtChannel& channel) = 0;
137 
145  virtual bool hasSensorModuleForSensor(const std::string& sensorName) const = 0;
146 
148  boost::signalslib::signal<void (DtSensor*)> signal_sensorAdded;
149 
151  boost::signalslib::signal<void (DtSensor*)> signal_sensorRemoved;
152 
154  boost::signalslib::signal<void (DtSensor*)> signal_sensorAboutToBeDeleted;
155 
159  boost::signalslib::signal<void (DtSensor*, const std::string&)> signal_sensorRenamed;
160 
162  boost::signalslib::signal<void (DtChannel*, const std::string&)> signal_sensorEnabled;
163  };
164 }
Virtual base class.
Definition: DtVirtualBaseClass.h:19
boost::signalslib::signal< void(DtChannel *, const std::string &)> signal_sensorEnabled
Emitted when the manager enables a sensor.
Definition: DtSensorManager.h:162
Interface for a sensor implementation module.
Definition: DtSensorModule.h:31
Manages sensor and sensor module objects and their settings.
Definition: DtSensorManager.h:36
The abstract Channel Class.
Definition: DtChannel.h:30
Contains makVrv::DtVirtualBaseClass class.
Record of a collection of sensor definitions.
Definition: DtSensorSetRecord.h:16
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Definition of a sensor.
Definition: DtSensor.h:30
boost::signalslib::signal< void(DtSensor *)> signal_sensorAdded
Emitted when a sensor is added to the manager.
Definition: DtSensorManager.h:148
boost::signalslib::signal< void(DtSensor *)> signal_sensorAboutToBeDeleted
Emitted before the manager deletes a sensor.
Definition: DtSensorManager.h:154
boost::signalslib::signal< void(DtSensor *)> signal_sensorRemoved
Emitted when a sensor is removed from the manager.
Definition: DtSensorManager.h:151
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
boost::signalslib::signal< void(DtSensor *, const std::string &)> signal_sensorRenamed
Emitted when the manager renames a sensor.
Definition: DtSensorManager.h:159
The backup interface, is used by components to control backups of a state.
Definition: DtBackupInterface.h:19
std::vector< DtSensor * > SensorVec
List of sensors.
Definition: DtSensorManager.h:40
std::vector< const DtSensorModule * > SensorModuleVec
List of sensor modules.
Definition: DtSensorManager.h:43
Contains DLL export macros.

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)