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_;
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.
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.
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.
This class gives access to SyncPoints.
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.
The BlackBoard abstract class.
virtual void finalize(Thread *thread)
Finalize a thread.
Interface for configuration handling.
Aspect initializer/finalizer base class.
Thread finalizer interface.