Fawkes API
Fawkes Development Version
|
Initializer/finalizer for the AspectProviderAspect. More...
#include <>>
Public Member Functions | |
AspectProviderAspectIniFin (AspectManager *manager) | |
Constructor. More... | |
virtual void | init (Thread *thread) |
Initialize thread. More... | |
virtual void | finalize (Thread *thread) |
Finalize thread. More... | |
virtual bool | prepare_finalize (Thread *thread) |
Default finalize preparation. More... | |
![]() | |
AspectIniFin (const char *aspect_name) __attribute__((nonnull)) | |
Constructor. More... | |
virtual | ~AspectIniFin () |
Virtual empty destructor. More... | |
const char * | get_aspect_name () const |
Get aspect name. More... | |
Initializer/finalizer for the AspectProviderAspect.
This initializer/finalizer will register the AspectIniFin instance with the main aspect manager on init, and unregister it on finalization. it will deny unloading if there are still threads using the provided aspect.
Definition at line 36 of file aspect_provider.h.
fawkes::AspectProviderAspectIniFin::AspectProviderAspectIniFin | ( | AspectManager * | manager | ) |
Constructor.
manager | aspect manager to register new aspects to |
Definition at line 44 of file aspect_provider.cpp.
|
virtual |
Finalize thread.
The aspect for the given thread must be initialized. Use dynamic_cast to cast the thread into the expected aspect class. An exception must be thrown if this fails. If anything fails during initialization of the aspect an Exception must be thrown. This will not prevent the thread from being removed. Use prepare_finalize() to report problems that should prevent the thread from being unloaded.
thread | thread to finalize |
Implements fawkes::AspectIniFin.
Definition at line 93 of file aspect_provider.cpp.
References fawkes::AspectProviderAspect::aspect_provider_aspects(), fawkes::Thread::name(), and fawkes::AspectManager::unregister_inifin().
|
virtual |
Initialize thread.
The aspect for the given thread must be initialized. Use dynamic_cast to cast the thread into the expected aspect class. An exception must be thrown if this fails. If anything fails during initialization of the aspect an Exception must be thrown.
thread | thread to initialize |
Implements fawkes::AspectIniFin.
Definition at line 52 of file aspect_provider.cpp.
References fawkes::AspectProviderAspect::aspect_provider_aspects(), fawkes::Thread::name(), and fawkes::AspectManager::register_inifin().
|
virtual |
Default finalize preparation.
This is a default implementation that assumes that finalization is always safe. Override it if you need to make more fine-grained decisions.
thread | thread to prepare for finalization |
Reimplemented from fawkes::AspectIniFin.
Definition at line 73 of file aspect_provider.cpp.
References fawkes::AspectProviderAspect::aspect_provider_aspects(), and fawkes::AspectManager::has_threads_for_aspect().