VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfGuiPluginManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
11 
12 #pragma once
13 
14 #include <vrfGuiCore/vrfGuiCore.h>
15 
19 #include <vrvUtil/signalslib.h>
20 
21 #include <vrfmsgs/ifPluginData.h>
22 
23 namespace makVrv
24 {
25  class DtDe;
26  class DtVrvApplicationConfiguration;
27 }
28 
29 class DtSimMessage;
30 class DtSimulationAddress;
31 class DtIfPluginData;
32 class DtDynamicLibrary;
33 
34 namespace makVrf
35 {
36  class DtVrfBackendState;
37  class DtVrfGuiCommandLineParser;
38 
41 
43  {
44  public:
46 
47  virtual ~DtVrfGuiPluginManagerExt();
48 
51  virtual void initializePluginsInOrder(bool loadDefaultPlugins = true);
52 
54  {
55  return myLibraryLoader;
56  }
57 
59  virtual void initializeCommandLineArguments(bool loadDefaultPlugins, DtVrfGuiCommandLineParser*);
60 
62  virtual void initializePluginsToLoad(bool loadDefaultPlugins);
63 
64  protected:
66  std::list<std::string> myPlugins;
67  };
68 
71  {
72  public:
73  typedef std::vector<DtVrfMessagePluginInformation> PluginInformationList;
74  typedef std::map<std::string, PluginInformationList> PluginInformationMap;
75 
76  public:
78  virtual ~DtVrfGuiPluginManager();
79 
81  static DtVrfGuiPluginManager& instance(makVrv::DtDe& de);
82 
84  virtual void readPluginsFrom(makVrv::DtVrvApplicationConfiguration& config);
85 
86  virtual const std::vector<std::string>& additionalPluginsToLoad();
87  virtual void setAdditionalPluginsToLoad(const std::vector<std::string>&);
88 
89  virtual bool loadDefaultPlugins();
90  virtual void setLoadDefaultPlugins(bool);
91 
92  virtual void setPluginsDirectory(const std::string&);
93  virtual const std::string& pluginsDirectory() const;
94 
95  virtual void addPluginRecord(const DtVrfPluginRecord&);
96 
98  virtual bool removePluginRecord(const std::string&);
99 
102  virtual bool renamePluginRecord(const std::string& curFileName, const std::string& newName);
103 
106 
109  virtual bool removePlugin(const std::string& fileName, const std::string& application,
110  const std::string& platform, const std::string& configuration, const std::string& transport);
111 
113  virtual bool addPlugin(const std::string& fileName, const std::string& application,
114  const std::string& platform, const std::string& configuration, const std::string& transport);
115 
117  virtual void setLoadPlugin(const std::string& fileName, bool b);
118 
120  const PluginInformationMap& loadedPlugins() const;
121 
123  {
124  myVrvPluginManager = m;
125  }
126 
128  void setCheckPluginVersions(bool);
129  bool checkPluginVersions() const;
130 
131  public:
132  boost::signals2::signal<void (const DtVrfPluginRecord&)> signal_pluginRecordAdded;
133  boost::signals2::signal<void (const DtVrfPluginRecord&)> signal_pluginRecordRemoved;
134  boost::signals2::signal<void (const std::string&, const std::string&)> signal_pluginRecordRenamed;
135  boost::signals2::signal<void (const std::string&, const std::string&,
136  const std::string&, const std::string&, const std::string&)> signal_pluginRemoved;
137  boost::signals2::signal<void (const std::string&, const std::string&,
138  const std::string&, const std::string&, const std::string&)> signal_pluginAdded;
139  boost::signals2::signal<void (const std::string&, bool)> signal_pluginLoadStateChanged;
140 
141  boost::signals2::signal<void (const std::string&, const PluginInformationList&)> signal_pluginsAdded;
142  boost::signals2::signal<void (const std::string&, const PluginInformationList&)> signal_pluginsRemoved;
143 
144  protected:
146  virtual void initializePlugins();
147 
148  virtual void initializeFrontEndPlugins();
149  virtual void initializeBackEndPlugins();
150 
151  virtual void slot_backendDiscovered(const DtVrfBackendState&);
152  virtual void slot_backendRemoved(const DtVrfBackendState&);
153  virtual void slot_allBackendsAboutToBeRemoved();
154 
155  virtual void processPluginData(DtSimMessage*);
156  virtual void removePendingRequest(const DtVrfBackendState&);
157 
158  virtual bool checkVersion(DtDynamicLibrary* lib, const std::string& appVer) const;
159 
161  virtual std::string pluginVersion() const;
162 
163  protected:
164  std::vector<std::string> myAdditionalPluginsToLoad;
165 
168  std::string myPluginsDirectory;
170 
171  std::vector<std::string> myPendingPluginRequests;
172 
174 
176  };
177 }
Definition: vrfBackendState.h:69
makVrv::DtPluginManager * myVrvPluginManager
Definition: vrfGuiPluginManager.h:175
PluginInformationMap myPlugins
Definition: vrfGuiPluginManager.h:173
Virtual base class.
Definition: DtVirtualBaseClass.h:19
Extend the base level Vantage plugin manager class to allow for additional plugins to be loaded after...
Definition: vrfGuiPluginManager.h:42
Loads plugins.
Definition: DtPluginManager.h:25
std::vector< std::string > myAdditionalPluginsToLoad
Definition: vrfGuiPluginManager.h:164
boost::signals2::signal< void(const std::string &, const PluginInformationList &)> signal_pluginsAdded
Definition: vrfGuiPluginManager.h:141
boost::signals2::signal< void(const std::string &, const std::string &)> signal_pluginRecordRenamed
Definition: vrfGuiPluginManager.h:134
std::map< std::string, PluginInformationList > PluginInformationMap
Definition: vrfGuiPluginManager.h:74
bool myLoadDefaultPlugins
Definition: vrfGuiPluginManager.h:166
class DtVrfPluginRecordManager:
Definition: vrfPluginRecordManager.h:24
makVrv::DtLibraryLoader * libraryLoader()
Definition: vrfGuiPluginManager.h:53
DT_VRF_DLL_PLUGIN void initializeCommandLineArguments(makVrf::DtVrfGuiCommandLineParser *)
This method is called when trying to add additional command line arguments to the command line proces...
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
void setVrvPluginManager(makVrv::DtPluginManager *m)
Definition: vrfGuiPluginManager.h:122
bool myCheckPluginVersions
Definition: vrfGuiPluginManager.h:167
Contains makVrv::DtVirtualBaseClass class.
std::vector< std::string > myPendingPluginRequests
Definition: vrfGuiPluginManager.h:171
DtLibraryLoader is used to load VR-Vantage plugins.
Definition: DtLibraryLoader.h:27
File: simMsg.h.
Definition: simMessage.h:35
boost::signals2::signal< void(const DtVrfPluginRecord &)> signal_pluginRecordAdded
Definition: vrfGuiPluginManager.h:132
std::list< std::string > myPlugins
Definition: vrfGuiPluginManager.h:66
This owns a list of display engine configurations.
Definition: DtVrvApplicationConfiguration.h:27
boost::signals2::signal< void(const std::string &, const std::string &, const std::string &, const std::string &, const std::string &)> signal_pluginRemoved
Definition: vrfGuiPluginManager.h:136
std::vector< DtVrfMessagePluginInformation > PluginInformationList
Definition: vrfGuiPluginManager.h:73
class DtVrfPluginRecord:
Definition: vrfPluginRecord.h:28
boost::signals2::signal< void(const std::string &, bool)> signal_pluginLoadStateChanged
Definition: vrfGuiPluginManager.h:139
Contains DtPluginManager class.
boost::signals2::signal< void(const std::string &, const std::string &, const std::string &, const std::string &, const std::string &)> signal_pluginAdded
Definition: vrfGuiPluginManager.h:138
The MAK Stealth Application&#39;s command line processor.
Definition: vrfGuiCommandLineParser.h:27
bool myPluginsLoaded
Definition: vrfGuiPluginManager.h:65
Definition: vrfGuiPluginManager.h:69
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: ifPluginData.h:54
boost::signals2::signal< void(const std::string &, const PluginInformationList &)> signal_pluginsRemoved
Definition: vrfGuiPluginManager.h:142
std::string myPluginsDirectory
Definition: vrfGuiPluginManager.h:168
boost::signals2::signal< void(const DtVrfPluginRecord &)> signal_pluginRecordRemoved
Definition: vrfGuiPluginManager.h:133
makVrv::DtDe & myDe
Definition: vrfGuiPluginManager.h:169

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)