Lumiera
0.pre.03
»edit your freedom«
|
#include "include/lifecycle.h"
define and register a callback for a specific lifecycle event.
The purpose of this class is to be defined as a static variable in the implementation of some subsystem (i.e. in the cpp file), providing the ctor with the pointer to a callback function. Thus the specified callback gets enrolled when the corresponding object file is loaded. The event ON_BASIC_INIT is handled specifically, firing off the referred callback function as soon as possible. All other labels are just arbitrary (string) constants and it is necessary that "someone" cares to fire off the lifecycle events at the right place. For example, lumiera-main (and the test runner) calls LifecycleHook::trigger(ON_GLOBAL_INIT)
(and..SHUTDOWN)
Definition at line 67 of file lifecycle.h.
Public Types | |
typedef void(* | Hook) (void) |
Public Member Functions | |
LifecycleHook (Symbol eventLabel, Hook callbackFun) | |
Static Public Member Functions | |
static void | add (Symbol eventLabel, Hook callbackFun) |
alternative, static interface for registering a callback | |
static void | trigger (Symbol eventLabel) |
trigger lifecycle callbacks registered under the given label | |
Additional Inherited Members | |
Private Member Functions inherited from NonCopyable | |
NonCopyable (NonCopyable const &)=delete | |
NonCopyable & | operator= (NonCopyable const &)=delete |