Choreonoid  1.5
ProjectManager.h
Go to the documentation of this file.
1 
5 #ifndef CNOID_BASE_PROJECT_MANAGER_H_INCLUDED
6 #define CNOID_BASE_PROJECT_MANAGER_H_INCLUDED
7 
8 #include "Archive.h"
9 #include <string>
10 #include <boost/function.hpp>
11 #include "exportdecl.h"
12 
13 namespace cnoid {
14 
15 class ExtensionManager;
16 class ProjectManagerImpl;
17 
19 {
20 public:
21  static ProjectManager* instance();
22 
23  void loadProject(const std::string& filename);
24  void saveProject(const std::string& filename);
25  void overwriteCurrentProject();
26  const std::string& getProjectFileName();
27 
28  static void initialize(ExtensionManager* em);
29 
30 private:
32  ~ProjectManager();
33 
34  ProjectManagerImpl* impl;
35 
36  friend class ExtensionManager;
37  friend class ExtensionManagerImpl;
38 
39  void setArchiver(
40  const std::string& moduleName,
41  const std::string& objectName,
42  boost::function<bool(Archive&)> storeFunction,
43  boost::function<void(const Archive&)> restoreFunction);
44 
45  void resetArchivers(const std::string& moduleName);
46 };
47 
48 }
49 
50 #endif
Definition: ProjectManager.h:18
Definition: Archive.h:21
Definition: ExtensionManager.h:26
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37