VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDriverManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtDriverManager.h,v $ $Revision: 1.38 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #ifndef DtDriverManager_H_
14 #define DtDriverManager_H_
15 
16 #include <vrvCore/vrvCore.h>
17 
19 #include <boost/signals.hpp>
20 
21 #include <vector>
22 
23 namespace makVrv
24 {
25  class DtDe;
26  class DtInputDriver;
27  class DtMessage;
28  class DtSceneDriver;
29  class DtDriver;
30  class DtDriverManager;
31  class DtDriverManagerSignaler;
32 
36  {
37  public:
38 
40  typedef std::vector<DtDriver*> Drivers;
41 
43  DtDriverManager(DtDe& de);
44 
46  ~DtDriverManager();
47 
50  void tick();
51 
56  void addDriver(DtDriver* driver);
57 
59  void startDriver(DtDriver* driver);
60 
62  void stopDriver(DtDriver* driver);
63 
66  void destroyDriver(DtDriver* driver);
67 
69  void renameDriver( DtDriver* driver, const std::string& newName);
70 
72  DtDriver* findDriver(const std::string& name);
73 
75  Drivers& drivers();
77  const Drivers& drivers() const;
79 
81  DtSceneDriver& sceneDriver();
82 
84  DtInputDriver& inputDriver();
85 
87  inline DtDe& de()
88  {
89  return myDe;
90  }
91 
92  //@name Signals
94  boost::signal<void (DtDriver&)> signal_driverAdded;
95  boost::signal<void (DtDriver&)> signal_driverToBeDestroyed;
96  boost::signal<void (DtDriver&)> signal_driverStarted;
97  boost::signal<void (DtDriver&)> signal_driverStopped;
98 
99  boost::signal<void (const std::string&)> signal_autoDriverChanged;
100 
102 
104  void saveDriverToFile(const DtDriver& driver) const;
105 
107  void deleteDriverFile(const DtDriver& driver) const;
108 
110  std::string createDriverFileName(const DtDriver& driver) const;
111 
113  void saveAutoDriver();
114 
116  void loadAutoDriversFromFile(bool errorIfNotFound);
117 
119  void autoStartDrivers();
120 
122  void setAutoDriver(const std::string& driver, bool saveToFile);
123 
124  const std::string& autoDriver() const;
125 
127  void startDrivers( const std::vector<std::string>& drivers);
128 
130  void autoLoadDrivers();
131 
133  void saveDrivers();
134 
136  void loadDriver(const std::string& filename);
137 
138  protected:
139 
141  void startWindowDependendDrivers();
142 
144  void stopWindowDependentDrivers();
145 
148  void onViewCreated();
149  void onViewToBeDestroyed();
150 
151  protected:
152 
160  std::string myAutoDriver;
163 
164  };
165 
169  {
170  public:
172  static DtDriverManagerSignaler& instance(DtDe& anIG);
173 
175  virtual ~DtDriverManagerSignaler();
176 
177  protected:
179 
180  };
181 
182 }
183 
184 #endif
Virtual base class.
Definition: DtVirtualBaseClass.h:22
DtSceneDriver * mySceneDriver
Definition: DtDriverManager.h:157
boost::signal< void(DtDriver &)> signal_driverStarted
Definition: DtDriverManager.h:96
void loadDriver(DtDe *de)
std::vector< DtDriver * > Drivers
A list of hosts.
Definition: DtDriverManager.h:40
boost::signal< void(DtDriver &)> signal_driverStopped
Definition: DtDriverManager.h:97
A class which contains the signals used by the DtDriverManager classes.
Definition: DtDriverManager.h:168
std::string myAutoDriver
Definition: DtDriverManager.h:160
The DtDriverManager manages all the DtDriver&#39;s in the DtDe.
Definition: DtDriverManager.h:35
DtDe & de()
Get the de.
Definition: DtDriverManager.h:87
bool myAllowDriversFlag
Definition: DtDriverManager.h:154
bool myInvalidToAddFlag
Definition: DtDriverManager.h:162
bool myAutoStartDrivers
Definition: DtDriverManager.h:161
Drivers myActiveDrivers
Definition: DtDriverManager.h:156
Drivers myDrivers
Definition: DtDriverManager.h:155
Contains makVrv::DtVirtualBaseClass class.
The DtDriver is an abstract class.
Definition: DtDriver.h:34
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtDriverManagerSignaler & mySignaler
Definition: DtDriverManager.h:159
This class&#39;s main responsibility is to handle keyboard and mouse events from OSG (Qt events are route...
Definition: DtInputDriver.h:44
The DtSceneDriver owns the scene.
Definition: DtSceneDriver.h:42
DtDe & myDe
Definition: DtDriverManager.h:153
boost::signal< void(DtDriver &)> signal_driverToBeDestroyed
Definition: DtDriverManager.h:95
DtInputDriver * myInputDriver
Definition: DtDriverManager.h:158
boost::signal< void(DtDriver &)> signal_driverAdded
Definition: DtDriverManager.h:94
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
boost::signal< void(const std::string &)> signal_autoDriverChanged
Definition: DtDriverManager.h:99
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)