157 #ifndef MODULEDECLARE_H 158 #define MODULEDECLARE_H 177 virtual void msgReady(
void ) {}
178 virtual void msgGroupReady(
void ) {}
179 virtual void msgSystemReady(
void ) {}
180 virtual void msgGoingDown(
void ) {}
181 virtual void msgDestroy(
void ) {}
182 virtual ~
Module(
void ) {}
228 namespace ModulePrivate
245 void sendMsgReady(
void );
250 void sendMsgDestroy(
void );
255 bool isCreated = {
false};
258 Module *userObject{
nullptr};
267 virtual void create(
void ) = 0;
276 virtual void destroy(
void ) = 0;
279 enum class ModuleType {
295 virtual ModuleType getType(
void ) = 0;
303 void startup(
void );
311 void shutdown(
void );
318 inline bool isRunning(
void );
323 void sendMsgGroupReady(
void );
328 void sendMsgSystemReady(
void );
333 void sendMsgGoingDown(
void );
348 template <
class TypeToLaunch,
349 LauncherBase::ModuleType mt=LauncherBase::ModuleType::STATIC>
357 assert(
nullptr == userObject);
360 userObject =
new TypeToLaunch;
369 userObject =
nullptr;
372 ModuleType moduleType = {mt};
405 return LauncherBase::ModuleType::UNKNOWN;
The LauncherBase class is the non-template class for other Launchers.
Definition: moduledeclare.h:239
Message broadcasted when all static modules in a group are ready.
Definition: moduledeclare.h:210
The Launcher class is used for dynamically launching the user clases.
Definition: moduledeclare.h:350
The BaseMsg class is the base class for all messages.
Definition: basemsg.h:54
Message broadcasted when the system is initialised.
Definition: moduledeclare.h:193
ModuleType getType(void) override
Function to retrieve info about the user object containd.
Definition: moduledeclare.h:382
Base class for all modules.
Definition: moduledeclare.h:174
Contains interface declaration for the FSYS::BaseMsg class.
Last message broadcasted to threads.
Definition: moduledeclare.h:218
void create(void) override
Virtual function, called when the user object should be created.
Definition: moduledeclare.h:398
ModuleType getType(void) override
Function to retrieve info about the user object containd.
Definition: moduledeclare.h:403
void destroy(void) override
Virtual function, called when the user object should be destroyed.
Definition: moduledeclare.h:363
virtual ~LauncherBase(void)
LauncherBase destructor.
Definition: moduledeclare.h:340
Last message broadcasted in system.
Definition: moduledeclare.h:226
void destroy(void) override
Virtual function, called when the user object should be destroyed.
Definition: moduledeclare.h:400
void create(void) override
Virtual function, called when the user object should be created.
Definition: moduledeclare.h:354
Dummy launcher class to mark the end of the launcher list.
Definition: moduledeclare.h:394
Message broadcasted when the system is being terminated.
Definition: moduledeclare.h:202
Contains interface declaration for the FSYS::Log class.