5 #ifndef CNOID_BASE_EXTENSION_MANAGER_H 6 #define CNOID_BASE_EXTENSION_MANAGER_H 8 #include <cnoid/Signal> 20 class TimeSyncItemEngineManager;
24 class ExtensionManagerImpl;
31 ExtensionManager(
const std::string& moduleName,
const std::string& version,
bool isPlugin);
34 const std::string& name()
const;
35 const std::string& textDomain()
const;
46 virtual ~PtrHolderBase();
50 template <
class Po
interType>
struct PtrHolder :
public PtrHolderBase {
51 PtrHolder(PointerType pointer) : pointer(pointer) { }
52 virtual ~PtrHolder() { }
57 template <
class Object>
struct PtrHolder<Object*> :
public PtrHolderBase {
58 PtrHolder(Object* pointer) : pointer(pointer) { }
59 virtual ~PtrHolder() {
delete pointer; }
63 void manageSub(PtrHolderBase* holder);
67 void addToolBar(
ToolBar* toolBar);
69 template <
class Po
interType> PointerType
manage(PointerType pointer) {
70 manageSub(
new PtrHolder<PointerType>(pointer));
93 static void notifySystemUpdate();
97 void setProjectArchiver(
98 const std::string& name,
99 boost::function<
bool(
Archive&)> storeFunction,
100 boost::function<
void(
const Archive&)> restoreFunction);
102 void setProjectArchiver(
103 boost::function<
bool(
Archive&)> storeFunction,
104 boost::function<
void(
const Archive&)> restoreFunction);
109 ExtensionManagerImpl* impl;
111 friend class ExtensionManagerImpl;
PointerType manage(PointerType pointer)
Definition: ExtensionManager.h:69
Definition: ExtensionManager.h:26
Definition: OptionManager.h:15
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
Definition: ViewManager.h:20
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37
Definition: TimeSyncItemEngine.h:28
Definition: ItemManager.h:39