#include <CC_ComponentFactory.h>
This class creates and configures all the components required by the target application and makes them available through getter methods. The components are created in the constructor and are then stored in an array. A configuration method is provided that will configure all the created components. The components can be accessed by clients exclusively through their pointers. The pointers are returned by getter methods. There is one getter method for each type of components managed by the component factory. The name of the getter methods is of the form: getXXX
where "XXX" is the type name stripped of the initial prefix "DC_" or "CC_". The argument of the getter name is an integer that represents the symbolic identifier of the component (it is an integer that, from the point of view of external components, acts as the component name). The symbolic identifiers of the components are stored in the include file CC_ComponentFactory_inc.h
. The getter methods return typed instances of the components. An assertion is used to verify that the getter method is consistent with the actual type of the component that is being retrieved (i.e. to verify that a component of type "XXX" is retrieved with a call to method getXXX
). There are no other run-time checks on the consistency of usage of the getter methods. This approach is justified because the component factory should normally be used only during the application instantiation phase and the type and order of the calls to the getter methods should be fixed. This allows their correctness to be verified once and for all with assertions enabled.
This is a singleton class. Its only instance is accessed through its method getInstance
.
This class is automatically generated by an XSL program that processes the XML-based model of the target application.
This class manages a total of 101 components.
For reasons of efficiency, all getter methods are declared to be inline.
Implementation note: this class maintains the component references in two distinct location. For each component, a dedicated variable is delcared that holds the pointer to the component. Additionally, an array list
of pointers to the top-level type CC_RootObject
is declared that holds all the pointers to the components. The getter methods retrieve the components from this array. The configuration methods instead use directly the component variables. Finally, an array of integers is provided that holds the values of the type identifiers for each created component.
Definition at line 63 of file CC_ComponentFactory.h.
Public Member Functions | |
void | configureApplication (void) |
Configure the application. | |
DC_ControlAction * | getControlAction (int compName) |
Getter method for components of type DC_ControlAction . | |
DC_SampleControlBlock_1 * | getSampleControlBlock_1 (int compName) |
Getter method for components of type DC_SampleControlBlock_1 . | |
DC_SampleControlBlock_2 * | getSampleControlBlock_2 (int compName) |
Getter method for components of type DC_SampleControlBlock_2 . | |
DC_SampleControlBlock_3 * | getSampleControlBlock_3 (int compName) |
Getter method for components of type DC_SampleControlBlock_3 . | |
DC_SampleControlBlock_4 * | getSampleControlBlock_4 (int compName) |
Getter method for components of type DC_SampleControlBlock_4 . | |
DC_SampleFullDataPool * | getSampleFullDataPool (int compName) |
Getter method for components of type DC_SampleFullDataPool . | |
DC_SampleR2Database * | getSampleR2Database (int compName) |
Getter method for components of type DC_SampleR2Database . | |
DC_PUSEventRepository * | getPUSEventRepository (int compName) |
Getter method for components of type DC_PUSEventRepository . | |
DC_NullRecoveryAction * | getNullRecoveryAction (int compName) |
Getter method for components of type DC_NullRecoveryAction . | |
DC_OutOfRangeProfile * | getOutOfRangeProfile (int compName) |
Getter method for components of type DC_OutOfRangeProfile . | |
DC_SampleMonitoringProfile * | getSampleMonitoringProfile (int compName) |
Getter method for components of type DC_SampleMonitoringProfile . | |
DC_SampleRecoveryAction * | getSampleRecoveryAction (int compName) |
Getter method for components of type DC_SampleRecoveryAction . | |
DC_StuckDataProfile * | getStuckDataProfile (int compName) |
Getter method for components of type DC_StuckDataProfile . | |
CC_FSM * | getFSM (int compName) |
Getter method for components of type CC_FSM . | |
DC_AfsFsmState * | getAfsFsmState (int compName) |
Getter method for components of type DC_AfsFsmState . | |
DC_DummyFsmState * | getDummyFsmState (int compName) |
Getter method for components of type DC_DummyFsmState . | |
DC_FromFsmEvent * | getFromFsmEvent (int compName) |
Getter method for components of type DC_FromFsmEvent . | |
DC_NestedFsmActivatorWithEndState * | getNestedFsmActivatorWithEndState (int compName) |
Getter method for components of type DC_NestedFsmActivatorWithEndState . | |
DC_NestedFsmActivatorWithExitCheck * | getNestedFsmActivatorWithExitCheck (int compName) |
Getter method for components of type DC_NestedFsmActivatorWithExitCheck . | |
DC_OCM_FsmState * | getOCM_FsmState (int compName) |
Getter method for components of type DC_OCM_FsmState . | |
DC_SBY_PostSepFsmState * | getSBY_PostSepFsmState (int compName) |
Getter method for components of type DC_SBY_PostSepFsmState . | |
DC_SBY_PreSepFsmState * | getSBY_PreSepFsmState (int compName) |
Getter method for components of type DC_SBY_PreSepFsmState . | |
DC_SCM_FsmState * | getSCM_FsmState (int compName) |
Getter method for components of type DC_SCM_FsmState . | |
DC_SM_PreSepFsmState * | getSM_PreSepFsmState (int compName) |
Getter method for components of type DC_SM_PreSepFsmState . | |
DC_UnstableFsmState * | getUnstableFsmState (int compName) |
Getter method for components of type DC_UnstableFsmState . | |
CC_ManoeuvreManager * | getManoeuvreManager (int compName) |
Getter method for components of type CC_ManoeuvreManager . | |
DC_DummyConfigurableManoeuvre * | getDummyConfigurableManoeuvre (int compName) |
Getter method for components of type DC_DummyConfigurableManoeuvre . | |
DC_DummyManoeuvre * | getDummyManoeuvre (int compName) |
Getter method for components of type DC_DummyManoeuvre . | |
DC_TestPUSConfigurableManoeuvre * | getTestPUSConfigurableManoeuvre (int compName) |
Getter method for components of type DC_TestPUSConfigurableManoeuvre . | |
DC_DummyObsClock * | getDummyObsClock (int compName) |
Getter method for components of type DC_DummyObsClock . | |
DC_DummyTracer * | getDummyTracer (int compName) |
Getter method for components of type DC_DummyTracer . | |
CC_TelecommandManager * | getTelecommandManager (int compName) |
Getter method for components of type CC_TelecommandManager . | |
DC_BasicPUSTcLoader * | getBasicPUSTcLoader (int compName) |
Getter method for components of type DC_BasicPUSTcLoader . | |
DC_DummyPUSTelecommand * | getDummyPUSTelecommand (int compName) |
Getter method for components of type DC_DummyPUSTelecommand . | |
DC_DummyTelecommand * | getDummyTelecommand (int compName) |
Getter method for components of type DC_DummyTelecommand . | |
DC_PUSControlDataReporting * | getPUSControlDataReporting (int compName) |
Getter method for components of type DC_PUSControlDataReporting . | |
DC_PUSDefineDataReporting * | getPUSDefineDataReporting (int compName) |
Getter method for components of type DC_PUSDefineDataReporting . | |
DC_PUSDumpMemoryAbsolute * | getPUSDumpMemoryAbsolute (int compName) |
Getter method for components of type DC_PUSDumpMemoryAbsolute . | |
DC_PUSDumpMemoryOffset * | getPUSDumpMemoryOffset (int compName) |
Getter method for components of type DC_PUSDumpMemoryOffset . | |
DC_PUSMemoryLoadAbsolute * | getPUSMemoryLoadAbsolute (int compName) |
Getter method for components of type DC_PUSMemoryLoadAbsolute . | |
DC_PUSMemoryLoadOffset * | getPUSMemoryLoadOffset (int compName) |
Getter method for components of type DC_PUSMemoryLoadOffset . | |
DC_TestPUSTelecommand * | getTestPUSTelecommand (int compName) |
Getter method for components of type DC_TestPUSTelecommand . | |
CC_TelemetryManager * | getTelemetryManager (int compName) |
Getter method for components of type CC_TelemetryManager . | |
DC_BasicPUSTmStream * | getBasicPUSTmStream (int compName) |
Getter method for components of type DC_BasicPUSTmStream . | |
DC_DummyPUSTelemetryPacket * | getDummyPUSTelemetryPacket (int compName) |
Getter method for components of type DC_DummyPUSTelemetryPacket . | |
DC_PUSDataReportingPacket * | getPUSDataReportingPacket (int compName) |
Getter method for components of type DC_PUSDataReportingPacket . | |
DC_PUSMemoryDumpAbsolute * | getPUSMemoryDumpAbsolute (int compName) |
Getter method for components of type DC_PUSMemoryDumpAbsolute . | |
DC_PUSMemoryDumpOffset * | getPUSMemoryDumpOffset (int compName) |
Getter method for components of type DC_PUSMemoryDumpOffset . | |
DC_PUSTcVerificationPacket * | getPUSTcVerificationPacket (int compName) |
Getter method for components of type DC_PUSTcVerificationPacket . | |
DC_PUSTelemetryModeManager * | getPUSTelemetryModeManager (int compName) |
Getter method for components of type DC_PUSTelemetryModeManager . | |
Static Public Member Functions | |
CC_ComponentFactory * | getInstance (void) |
Get the single instance of this singleton class. | |
Protected Member Functions | |
CC_ComponentFactory (void) | |
Instantiate the factory component. | |
void | configureRootObject (void) |
Configure the static part of the base class CC_RootObject . | |
void | configureObsClock (void) |
Configure the component implementing the OBS Clock. | |
void | configureEventRepository (void) |
Configure the component implementing the event repository. | |
void | configureFSM (void) |
Configure the components implementing the applications FSMs. | |
void | configureControllers (void) |
Configure the components implementing the control actions and control blocks. | |
void | configureDataPool (void) |
Configure the components implementing the application data pool. | |
void | configureParameterDatabase (void) |
Configure the components implementing the parameter database. | |
void | configureFunctionalityManagers (void) |
Configure the functionality managers. |
|
Instantiate the factory component. The components are created and their pointers are stored in an internal array. A second array is initialized that holds the type identifier of each component. This constructor is defined to be protected because this is a singleton class. Definition at line 98 of file CC_ComponentFactory.cpp. |
|
Configure the application.
All the components created in the constructor are configured and linked together. The configuration code implements the configuration actions specified in the application model. The application configuration process is broken up into a sequence of steps. To each step a protected method in this class is associated. This method only calls the step methods in sequence. The names of the step methods are formed as follows: Definition at line 419 of file CC_ComponentFactory.cpp. |
|
Configure the components implementing the control actions and control blocks.
This method is called by method Definition at line 624 of file CC_ComponentFactory.cpp. |
|
Configure the components implementing the application data pool.
This method is called by method Definition at line 660 of file CC_ComponentFactory.cpp. |
|
Configure the component implementing the event repository.
This method is called by method Definition at line 457 of file CC_ComponentFactory.cpp. |
|
Configure the components implementing the applications FSMs.
This method configures the FSM, their FsmStates and their FsmEvents. This method is called by method Definition at line 467 of file CC_ComponentFactory.cpp. |
|
Configure the functionality managers.
This method is called by method Definition at line 743 of file CC_ComponentFactory.cpp. |
|
Configure the component implementing the OBS Clock.
This method is called by method Definition at line 449 of file CC_ComponentFactory.cpp. |
|
Configure the components implementing the parameter database.
This method is called by method Definition at line 735 of file CC_ComponentFactory.cpp. |
|
Configure the static part of the base class
This method is called by method Definition at line 430 of file CC_ComponentFactory.cpp. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 472 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 742 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 907 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 262 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 652 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 487 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 667 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 697 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 757 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 922 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 772 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 712 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 502 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 457 of file CC_ComponentFactory.h. |
|
Get the single instance of this singleton class. If the instance does not yet exist, it is created. Definition at line 413 of file CC_ComponentFactory.cpp. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 637 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 517 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 532 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 382 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 547 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 397 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 787 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 937 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 802 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 817 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 832 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 367 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 952 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 967 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 847 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 862 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 982 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 997 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 277 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 292 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 307 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 322 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 337 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 412 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 352 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 427 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 562 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 577 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 592 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 607 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 442 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 727 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 892 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 682 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 877 of file CC_ComponentFactory.h. |
|
Getter method for components of type
An assertion exception is raised if the component that is sought with this method is not of type
Definition at line 622 of file CC_ComponentFactory.h. |