24 #ifndef _ASPECT_MANAGER_H_
25 #define _ASPECT_MANAGER_H_
27 #include <core/threading/thread_finalizer.h>
28 #include <core/threading/thread_initializer.h>
40 class FawkesNetworkHub;
43 class ThreadCollector;
44 class NetworkNameResolver;
45 class ServicePublisher;
48 class BlockedTimingExecutor;
49 class MainLoopEmployer;
51 class SyncPointManager;
88 std::map<std::string, AspectIniFin *> inifins_;
89 std::map<std::string, AspectIniFin *> default_inifins_;
90 std::map<std::string, std::list<Thread *>> threads_;
Aspect initializer/finalizer base class.
Aspect and aspect initializer/finalizer manager.
virtual bool prepare_finalize(Thread *thread)
Prepare finalization of a thread.
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, tf::Transformer *tf_listener, SyncPointManager *syncpoint_manager)
Register default aspect initializer/finalizer.
virtual void finalize(Thread *thread)
Finalize a thread.
virtual void init(Thread *thread)
This method is called by the ThreadManager for each newly added Thread.
void register_inifin(AspectIniFin *inifin)
Register initializer/finalizer.
void unregister_inifin(AspectIniFin *inifin)
Unregister initializer/finalizer.
bool has_threads_for_aspect(const char *aspect_name)
Check if threads for a particular aspect still exist.
virtual ~AspectManager()
Constructor.
The BlackBoard abstract class.
This is supposed to be the central clock in Fawkes.
Interface for configuration handling.
Logger employer The LoggerEmployer shall pipe all log messages of the system to added loggers.
Main loop employer The MainLoopEmployer calls the main loop for execution.
Network name and address resolver.
Service publisher interface.
This class gives access to SyncPoints.
Thread finalizer interface.
Thread initializer interface.
Thread class encapsulation of pthreads.
Fawkes library namespace.