00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
#ifndef CC_TelecommandFactoryH
00011
#define CC_TelecommandFactoryH
00012
00013
#include "../GeneralInclude/ForwardDeclarations.h"
00014
#include "../GeneralInclude/BasicTypes.h"
00015
#include "../Base/CC_RootObject.h"
00016
#include "../Telecommand/DC_DummyPUSTelecommand.h"
00017
#include "../Telecommand/DC_DummyTelecommand.h"
00018
#include "../Telecommand/DC_PUSControlDataReporting.h"
00019
#include "../Telecommand/DC_PUSDefineDataReporting.h"
00020
#include "../Telecommand/DC_PUSDumpMemoryAbsolute.h"
00021
#include "../Telecommand/DC_PUSDumpMemoryOffset.h"
00022
#include "../Telecommand/DC_PUSMemoryLoadAbsolute.h"
00023
#include "../Telecommand/DC_PUSMemoryLoadOffset.h"
00024
#include "../Telecommand/DC_TestPUSTelecommand.h"
00025
00069 class CC_TelecommandFactory :
public CC_RootObject {
00070
00071
private:
00072
static CC_TelecommandFactory* pInstance;
00073
unsigned int sizeDummyPUSTelecommand;
00074
DC_DummyPUSTelecommand** poolDummyPUSTelecommand;
00075
00076
unsigned int sizeDummyTelecommand;
00077
DC_DummyTelecommand** poolDummyTelecommand;
00078
00079
unsigned int sizePUSControlDataReporting;
00080
DC_PUSControlDataReporting** poolPUSControlDataReporting;
00081
00082
unsigned int sizePUSDefineDataReporting;
00083
DC_PUSDefineDataReporting** poolPUSDefineDataReporting;
00084
00085
unsigned int sizePUSDumpMemoryAbsolute;
00086
DC_PUSDumpMemoryAbsolute** poolPUSDumpMemoryAbsolute;
00087
00088
unsigned int sizePUSDumpMemoryOffset;
00089
DC_PUSDumpMemoryOffset** poolPUSDumpMemoryOffset;
00090
00091
unsigned int sizePUSMemoryLoadAbsolute;
00092
DC_PUSMemoryLoadAbsolute** poolPUSMemoryLoadAbsolute;
00093
00094
unsigned int sizePUSMemoryLoadOffset;
00095
DC_PUSMemoryLoadOffset** poolPUSMemoryLoadOffset;
00096
00097
unsigned int sizeTestPUSTelecommand;
00098
DC_TestPUSTelecommand** poolTestPUSTelecommand;
00099
00100
00101
protected:
00109
CC_TelecommandFactory(
void);
00110
00111
public:
00112
00117
static CC_TelecommandFactory*
getInstance(
void);
00118
00123
virtual bool isObjectConfigured();
00124
00125
00142
void setTelecommand(
unsigned int i,
DC_DummyPUSTelecommand* pItem);
00143
00150
unsigned int getNumberDummyPUSTelecommand(
void);
00151
00159
unsigned int getCapacityDummyPUSTelecommand(
void);
00160
00176
DC_DummyPUSTelecommand*
allocateDummyPUSTelecommand();
00177
00187
bool isFreeDummyPUSTelecommand();
00188
00189
00190
00207
void setTelecommand(
unsigned int i,
DC_DummyTelecommand* pItem);
00208
00215
unsigned int getNumberDummyTelecommand(
void);
00216
00224
unsigned int getCapacityDummyTelecommand(
void);
00225
00241
DC_DummyTelecommand*
allocateDummyTelecommand();
00242
00252
bool isFreeDummyTelecommand();
00253
00254
00255
00272
void setTelecommand(
unsigned int i,
DC_PUSControlDataReporting* pItem);
00273
00280
unsigned int getNumberPUSControlDataReporting(
void);
00281
00289
unsigned int getCapacityPUSControlDataReporting(
void);
00290
00313
DC_PUSControlDataReporting*
allocatePUSControlDataReporting(
unsigned int MaxNumberSID);
00314
00325
bool isFreePUSControlDataReporting(
unsigned int MaxNumberSID);
00326
00327
00328
00345
void setTelecommand(
unsigned int i,
DC_PUSDefineDataReporting* pItem);
00346
00353
unsigned int getNumberPUSDefineDataReporting(
void);
00354
00362
unsigned int getCapacityPUSDefineDataReporting(
void);
00363
00386
DC_PUSDefineDataReporting*
allocatePUSDefineDataReporting(
unsigned int NumberOfRawData);
00387
00398
bool isFreePUSDefineDataReporting(
unsigned int NumberOfRawData);
00399
00400
00401
00418
void setTelecommand(
unsigned int i,
DC_PUSDumpMemoryAbsolute* pItem);
00419
00426
unsigned int getNumberPUSDumpMemoryAbsolute(
void);
00427
00435
unsigned int getCapacityPUSDumpMemoryAbsolute(
void);
00436
00459
DC_PUSDumpMemoryAbsolute*
allocatePUSDumpMemoryAbsolute(
unsigned int NumberOfRawData);
00460
00471
bool isFreePUSDumpMemoryAbsolute(
unsigned int NumberOfRawData);
00472
00473
00474
00491
void setTelecommand(
unsigned int i,
DC_PUSDumpMemoryOffset* pItem);
00492
00499
unsigned int getNumberPUSDumpMemoryOffset(
void);
00500
00508
unsigned int getCapacityPUSDumpMemoryOffset(
void);
00509
00532
DC_PUSDumpMemoryOffset*
allocatePUSDumpMemoryOffset(
unsigned int NumberOfRawData);
00533
00544
bool isFreePUSDumpMemoryOffset(
unsigned int NumberOfRawData);
00545
00546
00547
00564
void setTelecommand(
unsigned int i,
DC_PUSMemoryLoadAbsolute* pItem);
00565
00572
unsigned int getNumberPUSMemoryLoadAbsolute(
void);
00573
00581
unsigned int getCapacityPUSMemoryLoadAbsolute(
void);
00582
00606
DC_PUSMemoryLoadAbsolute*
allocatePUSMemoryLoadAbsolute(
unsigned int MaxNumberData,
unsigned int MaxNumberBlocks);
00607
00619
bool isFreePUSMemoryLoadAbsolute(
unsigned int MaxNumberData,
unsigned int MaxNumberBlocks);
00620
00621
00622
00639
void setTelecommand(
unsigned int i,
DC_PUSMemoryLoadOffset* pItem);
00640
00647
unsigned int getNumberPUSMemoryLoadOffset(
void);
00648
00656
unsigned int getCapacityPUSMemoryLoadOffset(
void);
00657
00681
DC_PUSMemoryLoadOffset*
allocatePUSMemoryLoadOffset(
unsigned int MaxNumberData,
unsigned int MaxNumberBlocks);
00682
00694
bool isFreePUSMemoryLoadOffset(
unsigned int MaxNumberData,
unsigned int MaxNumberBlocks);
00695
00696
00697
00714
void setTelecommand(
unsigned int i,
DC_TestPUSTelecommand* pItem);
00715
00722
unsigned int getNumberTestPUSTelecommand(
void);
00723
00731
unsigned int getCapacityTestPUSTelecommand(
void);
00732
00748
DC_TestPUSTelecommand*
allocateTestPUSTelecommand();
00749
00759
bool isFreeTestPUSTelecommand();
00760
00761
00762
00763 };
00764
00765
#endif
00766