11 #ifndef smtk_plugin_Manager_h
12 #define smtk_plugin_Manager_h
14 #include "smtk/CoreExports.h"
16 #include "smtk/plugin/ClientBase.h"
19 #include "smtk/common/Singleton.h"
41 template<
typename Manager_t>
44 setRegistryStatus(manager,
true);
49 template<
typename Manager_t>
52 setRegistryStatus(manager,
false);
56 void addClient(
const std::weak_ptr<ClientBase>& pluginClient);
59 template<
typename Manager_t>
60 void setRegistryStatus(
const std::shared_ptr<Manager_t>&,
bool);
62 std::vector<std::weak_ptr<ClientBase>> m_clients;
68 typedef std::function<bool(
const std::weak_ptr<ClientBase>&)> RegisterFunction;
72 bool operator()(
const RegisterFunction& lhs,
const RegisterFunction& rhs)
const
78 std::set<RegisterFunction, fn_compare> m_registerToExistingManagers;
96 #ifndef smtkCore_EXPORTS
102 #include "smtk/plugin/Manager.txx"