8 #ifndef META_OCEAN_BASE_OCEAN_MANAGER_H
9 #define META_OCEAN_BASE_OCEAN_MANAGER_H
33 typedef void (*SingletonDestroyFunction)();
This class implements a recursive lock object.
Definition: Lock.h:31
This class implements the basic manager for the Ocean framework.
Definition: OceanManager.h:27
void registerSingleton(const SingletonDestroyFunction &singletonDestroyFunction)
Registers a new singleton object.
std::vector< SingletonDestroyFunction > SingletonDestroyFunctions
Definition of a vector holding functions to release singleton objects.
Definition: OceanManager.h:40
OceanManager(const OceanManager &oceanManager)=delete
Disabled copy constructor.
OceanManager()
Creates a new manager object.
SingletonDestroyFunctions singletonDestroyFunctions_
The pointers to release functions for all registered singletons.
Definition: OceanManager.h:101
~OceanManager()
Destructs this manager object.
static void internalRelease()
Internal callback function for a std::atexit call.
Lock lock_
Lock of this manager.
Definition: OceanManager.h:98
static OceanManager & get()
Returns a reference to the OceanManager object.
OceanManager & operator=(const OceanManager &oceanManager)=delete
Disabled assign operator.
void shutdown()
Explicit shutdown of all Ocean framework resources that are handled by the Singleton class implementa...
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15