Choreonoid  1.5
PluginManager.h
Go to the documentation of this file.
1 
5 #ifndef CNOID_BASE_PLUGIN_MANAGER_H
6 #define CNOID_BASE_PLUGIN_MANAGER_H
7 
8 #include <string>
9 #include "exportdecl.h"
10 
11 namespace cnoid {
12 
13 class Plugin;
14 class ExtensionManager;
15 class PluginManagerImpl;
16 
18 {
19 public:
20 
21  static void initialize(ExtensionManager* ext);
22  static PluginManager* instance();
23  static void finalize();
24 
25  ~PluginManager();
26 
27  void doStartupLoading(const char* pluginPathList);
28  void scanPluginFilesInPathList(const std::string& pathList);
29  void scanPluginFilesInDirectoyOfExecFile();
30  void scanPluginFiles(const std::string& pathString);
31  void clearUnusedPlugins();
32  void loadPlugins();
33  bool finalizePlugins();
34 
35  int numPlugins() const;
36 
37  const std::string& pluginPath(int index) const;
38  const std::string& pluginName(int index) const;
39 
40  enum PluginStatus { NOT_LOADED, LOADED, ACTIVE, FINALIZED, INVALID, CONFLICT };
41  int pluginStatus(int index) const;
42 
43  Plugin* findPlugin(const std::string& name);
44 
45  bool loadPlugin(int index);
46  bool unloadPlugin(int index);
47 
48  const char* guessActualPluginName(const std::string& name);
49 
50 private:
52 
53  PluginManagerImpl* impl;
54 };
55 
56 }
57 
58 #endif
PluginStatus
Definition: PluginManager.h:40
Definition: ExtensionManager.h:26
Definition: Plugin.h:18
Definition: PluginManager.h:17
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37