24 #ifndef __ASPECT_MANAGER_H_ 25 #define __ASPECT_MANAGER_H_ 27 #include <core/threading/thread_initializer.h> 28 #include <core/threading/thread_finalizer.h> 43 class FawkesNetworkHub;
46 class ThreadCollector;
47 class NetworkNameResolver;
48 class ServicePublisher;
51 class BlockedTimingExecutor;
52 class MainLoopEmployer;
84 std::map<std::string, AspectIniFin *> __inifins;
85 std::map<std::string, AspectIniFin *> __default_inifins;
86 std::map<std::string, std::list<Thread *> > __threads;
Service publisher interface.
virtual void init(Thread *thread)
This method is called by the ThreadManager for each newly added Thread.
Fawkes library namespace.
This is supposed to be the central clock in Fawkes.
Logger employer The LoggerEmployer shall pipe all log messages of the system to added loggers...
virtual ~AspectManager()
Constructor.
Thread class encapsulation of pthreads.
void register_inifin(AspectIniFin *inifin)
Register initializer/finalizer.
void unregister_inifin(AspectIniFin *inifin)
Unregister initializer/finalizer.
Thread initializer interface.
Aspect and aspect initializer/finalizer manager.
virtual bool prepare_finalize(Thread *thread)
Prepare finalization of a thread.
bool has_threads_for_aspect(const char *aspect_name)
Check if threads for a particular aspect still exist.
Main loop employer The MainLoopEmployer calls the main loop for execution.
Network name and address resolver.
void register_default_inifins(BlackBoard *blackboard, ThreadCollector *collector, Configuration *config, Logger *logger, Clock *clock, FawkesNetworkHub *fnethub, MainLoopEmployer *mloop_employer, LoggerEmployer *logger_employer, BlockedTimingExecutor *btexec, NetworkNameResolver *nnresolver, ServicePublisher *service_publisher, ServiceBrowser *service_browser, PluginManager *pmanager)
Register default aspect initializer/finalizer.
The BlackBoard abstract class.
virtual void finalize(Thread *thread)
Finalize a thread.
Interface for configuration handling.
Aspect initializer/finalizer base class.
Thread finalizer interface.