9 #ifndef BLOCKREGISTRY_H_
10 #define BLOCKREGISTRY_H_
163 static ListOfComponentRegistryEntries*
List_;
Client-side interface for injecting log data into the log queue.
Definition: Logger.h:30
static ControlThread * ControlThread_
Pointer to the ControlThread.
Definition: ComponentRegistry.h:169
static Component * PurgeEntry(ComponentRegistryEntry *entry)
The actual "cleanup" function called by RemoveC and DeleteAll.
Definition: ComponentRegistry.cpp:180
ComponentType
Components can indicate how they want to be handled by their type.
Definition: Component.h:107
ComponentRegistry()
Private Constructor for static class.
Definition: ComponentRegistry.h:159
A structure for containing all the ComponentRegistry's "entry" about a component. ...
Definition: ComponentRegistry.h:37
Contains the ControlThread class declaration.
static void Initialize()
Initializes the list and logger.
Definition: ComponentRegistry.cpp:29
Component::ComponentType handlerType_
Definition: ComponentRegistry.h:48
Component * component_
Pointer to the Component. Should always be valid.
Definition: ComponentRegistry.h:45
Contains the Component class definition.
Timespan class, represents a delta of time.
Definition: Timestamp.h:248
static void Uninitialize()
Uninitializes the list.
Definition: ComponentRegistry.cpp:38
static void Remove(Component *component)
Remove the given component from the registry.
Definition: ComponentRegistry.cpp:127
static void SetControlThreadPeriod(const Timespan &period)
Sets the period of the ControlThread.
Definition: ComponentRegistry.cpp:283
static Handler * FindHandler(const Str &name)
Finds a component handler given its name.
Definition: ComponentRegistry.cpp:161
Contains the FlexArrayBase and FlexArray class declarations.
static unsigned int GetEntryCount(void)
Returns the number of Entries.
Definition: ComponentRegistry.cpp:291
FlexArray< ComponentRegistry::ComponentRegistryEntry * > ListOfComponentRegistryEntries
Definition: ComponentRegistry.h:56
static Handler * Insert(Component *component, bool insertFront=false)
Add the component to the registry.
Definition: ComponentRegistry.cpp:48
static ListOfComponentRegistryEntries * List_
The list of ComponentRegistryEntries.
Definition: ComponentRegistry.h:160
Replacement for standard template class string.
Definition: Str.h:12
Base class for "handlers" of Components.
Definition: Handler.h:49
Abstract Base class for software components.
Definition: Component.h:53
static void DeleteAll(void)
Delete all contained components and handlers (cleanup).
Definition: ComponentRegistry.cpp:255
Definition: Component.h:112
static void UninitializeControlThread()
Uninitializes the control thread.
ComponentRegistryEntry(Component *component=NULL, Component::ComponentType handlerType=Component::COMPONENT_SYNC, Handler *handler=NULL)
Constructor. Takes pointer to Component.
Definition: ComponentRegistry.cpp:308
Contains the Handler class declaration.
static const Timespan & GetControlThreadPeriod()
Gets the period of the ControlThread.
Definition: ComponentRegistry.cpp:274
static void StartThreads(void)
Start (spawn) all of the Components which run in their own ThreadHandlers.
Definition: ComponentRegistry.cpp:223
static void ShutdownThreads(void)
Stop all of the Components which run in their own ThreadHandlers.
Definition: ComponentRegistry.cpp:239
Contains the ThreadHandler class declaration.
Simple class providing a flexible size array of pointers.
Definition: DataReader.h:19
static Component * Find(const Str &name)
Finds a component given its name.
Definition: ComponentRegistry.cpp:143
The supervisor is the "main" component in the vehicle software.
Definition: Supervisor.h:65
Handler * handler_
Pointer to the Component's handler.
Definition: ComponentRegistry.h:52
static size_t Length()
Returns the number of entries in the registry.
Definition: ComponentRegistry.cpp:218
static Logger * Logger_
Pointer to a Logger.
Definition: ComponentRegistry.h:166
Keeps track of all Components currently loaded and their assignment to handlers.
Definition: ComponentRegistry.h:32
The periodic "control thread".
Definition: ControlThread.h:38
static const Component * GetIndexed(const unsigned int index)
Returns the component at the indexed position Returns NULL if there is no component at the indicated ...
Definition: ComponentRegistry.cpp:300