VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
40 
42  {
43  public:
45 
46  virtual ~DtVrfGuiPluginManagerExt();
47 
50  virtual void initializePluginsInOrder(bool loadDefaultPlugins = true);
51 
52  makVrv::DtLibraryLoader* libraryLoader()
53  {
54  return myLibraryLoader;
55  }
56 
57  };
58 
61  {
62  public:
63  typedef std::vector<DtVrfMessagePluginInformation> PluginInformationList;
64  typedef std::map<std::string, PluginInformationList> PluginInformationMap;
65 
66  public:
68  virtual ~DtVrfGuiPluginManager();
69 
71  static DtVrfGuiPluginManager& instance(makVrv::DtDe& de);
72 
74  virtual void readPluginsFrom(makVrv::DtVrvApplicationConfiguration& config);
75 
76  virtual const std::vector<std::string>& additionalPluginsToLoad();
77  virtual void setAdditionalPluginsToLoad(const std::vector<std::string>&);
78 
79  virtual bool loadDefaultPlugins();
80  virtual void setLoadDefaultPlugins(bool);
81 
82  virtual void setPluginsDirectory(const std::string&);
83  virtual const std::string& pluginsDirectory() const;
84 
85  virtual void addPluginRecord(const DtVrfPluginRecord&);
86 
88  virtual bool removePluginRecord(const std::string&);
89 
92  virtual bool renamePluginRecord(const std::string& curFileName, const std::string& newName);
93 
96  virtual bool removePlugin(const std::string& fileName, const std::string& application,
97  const std::string& platform, const std::string& configuration, const std::string& transport);
98 
100  virtual bool addPlugin(const std::string& fileName, const std::string& application,
101  const std::string& platform, const std::string& configuration, const std::string& transport);
102 
104  virtual void setLoadPlugin(const std::string& fileName, bool b);
105 
107  const PluginInformationMap& loadedPlugins() const;
108 
109  void setVrvPluginManager(makVrv::DtPluginManager* m)
110  {
111  myVrvPluginManager = m;
112  }
113 
115  void setCheckPluginVersions(bool);
116  bool checkPluginVersions() const;
117 
118  public:
119  boost::signal<void (const DtVrfPluginRecord&)> signal_pluginRecordAdded;
120  boost::signal<void (const DtVrfPluginRecord&)> signal_pluginRecordRemoved;
121  boost::signal<void (const std::string&, const std::string&)> signal_pluginRecordRenamed;
122  boost::signal<void (const std::string&, const std::string&,
123  const std::string&, const std::string&, const std::string&)> signal_pluginRemoved;
124  boost::signal<void (const std::string&, const std::string&,
125  const std::string&, const std::string&, const std::string&)> signal_pluginAdded;
126  boost::signal<void (const std::string&, bool)> signal_pluginLoadStateChanged;
127 
128  boost::signal<void (const std::string&, const PluginInformationList&)> signal_pluginsAdded;
129  boost::signal<void (const std::string&, const PluginInformationList&)> signal_pluginsRemoved;
130 
131  protected:
133  virtual void initializePlugins();
134  virtual void initializeFrontEndPlugins();
135  virtual void initializeBackEndPlugins();
136 
137  virtual void slot_backendDiscovered(const DtVrfBackendState&);
138  virtual void slot_backendRemoved(const DtVrfBackendState&);
139  virtual void slot_allBackendsAboutToBeRemoved();
140 
141  virtual void processPluginData(DtSimMessage*);
142  virtual void removePendingRequest(const DtVrfBackendState&);
143 
144  virtual bool checkVersion(DtDynamicLibrary* lib, const std::string& appVer) const;
145 
147  virtual std::string pluginVersion() const;
148 
149  protected:
150  std::vector<std::string> myAdditionalPluginsToLoad;
151 
154  std::string myPluginsDirectory;
156 
157  std::vector<std::string> myPendingPluginRequests;
158 
160 
162  };
163 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)