00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
#ifndef CC_TelemetryPacketFactoryH
00011
#define CC_TelemetryPacketFactoryH
00012
00013
#include "../GeneralInclude/ForwardDeclarations.h"
00014
#include "../GeneralInclude/BasicTypes.h"
00015
#include "../Base/CC_RootObject.h"
00016
#include "../Telemetry/DC_DummyPUSTelemetryPacket.h"
00017
#include "../Telemetry/DC_PUSDataReportingPacket.h"
00018
#include "../Telemetry/DC_PUSMemoryDumpAbsolute.h"
00019
#include "../Telemetry/DC_PUSMemoryDumpOffset.h"
00020
#include "../Telemetry/DC_PUSTcVerificationPacket.h"
00021
00061 class CC_TelemetryPacketFactory :
public CC_RootObject {
00062
00063
private:
00064
static CC_TelemetryPacketFactory* pInstance;
00065
unsigned int sizeDummyPUSTelemetryPacket;
00066
DC_DummyPUSTelemetryPacket** poolDummyPUSTelemetryPacket;
00067
00068
unsigned int sizePUSDataReportingPacket;
00069
DC_PUSDataReportingPacket** poolPUSDataReportingPacket;
00070
00071
unsigned int sizePUSMemoryDumpAbsolute;
00072
DC_PUSMemoryDumpAbsolute** poolPUSMemoryDumpAbsolute;
00073
00074
unsigned int sizePUSMemoryDumpOffset;
00075
DC_PUSMemoryDumpOffset** poolPUSMemoryDumpOffset;
00076
00077
unsigned int sizePUSTcVerificationPacket;
00078
DC_PUSTcVerificationPacket** poolPUSTcVerificationPacket;
00079
00080
00081
protected:
00089
CC_TelemetryPacketFactory(
void);
00090
00091
public:
00092
00097
static CC_TelemetryPacketFactory*
getInstance(
void);
00098
00103
virtual bool isObjectConfigured();
00104
00105
00122
void setTelemetryPacket(
unsigned int i,
DC_DummyPUSTelemetryPacket* pItem);
00123
00130
unsigned int getNumberDummyPUSTelemetryPacket(
void);
00131
00139
unsigned int getCapacityDummyPUSTelemetryPacket(
void);
00140
00156
DC_DummyPUSTelemetryPacket*
allocateDummyPUSTelemetryPacket();
00157
00167
bool isFreeDummyPUSTelemetryPacket();
00168
00169
00170
00187
void setTelemetryPacket(
unsigned int i,
DC_PUSDataReportingPacket* pItem);
00188
00195
unsigned int getNumberPUSDataReportingPacket(
void);
00196
00204
unsigned int getCapacityPUSDataReportingPacket(
void);
00205
00230
DC_PUSDataReportingPacket*
allocatePUSDataReportingPacket(
unsigned int DefinitionBufferSize,
unsigned int ValueBufferSize,
unsigned int MaxNumberFA);
00231
00244
bool isFreePUSDataReportingPacket(
unsigned int DefinitionBufferSize,
unsigned int ValueBufferSize,
unsigned int MaxNumberFA);
00245
00246
00247
00258
DC_PUSDataReportingPacket*
getPUSDataReportingPacket(
TD_SID sid);
00259
00276
void setTelemetryPacket(
unsigned int i,
DC_PUSMemoryDumpAbsolute* pItem);
00277
00284
unsigned int getNumberPUSMemoryDumpAbsolute(
void);
00285
00293
unsigned int getCapacityPUSMemoryDumpAbsolute(
void);
00294
00318
DC_PUSMemoryDumpAbsolute*
allocatePUSMemoryDumpAbsolute(
unsigned int MaxNumberBlocks,
unsigned int DumpBufferSize);
00319
00331
bool isFreePUSMemoryDumpAbsolute(
unsigned int MaxNumberBlocks,
unsigned int DumpBufferSize);
00332
00333
00334
00351
void setTelemetryPacket(
unsigned int i,
DC_PUSMemoryDumpOffset* pItem);
00352
00359
unsigned int getNumberPUSMemoryDumpOffset(
void);
00360
00368
unsigned int getCapacityPUSMemoryDumpOffset(
void);
00369
00393
DC_PUSMemoryDumpOffset*
allocatePUSMemoryDumpOffset(
unsigned int MaxNumberBlocks,
unsigned int DumpBufferSize);
00394
00406
bool isFreePUSMemoryDumpOffset(
unsigned int MaxNumberBlocks,
unsigned int DumpBufferSize);
00407
00408
00409
00426
void setTelemetryPacket(
unsigned int i,
DC_PUSTcVerificationPacket* pItem);
00427
00434
unsigned int getNumberPUSTcVerificationPacket(
void);
00435
00443
unsigned int getCapacityPUSTcVerificationPacket(
void);
00444
00460
DC_PUSTcVerificationPacket*
allocatePUSTcVerificationPacket();
00461
00471
bool isFreePUSTcVerificationPacket();
00472
00473
00474
00475 };
00476
00477
#endif
00478