Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

PUSDumpMemory.cpp

00001 // 00002 // Copyright 2004 P&P Software GmbH - All Rights Reserved 00003 // 00004 // PUSDumpMemory.cpp 00005 // 00006 // Version 1.0 00007 // Date 4.01.04 00008 // Author A. Pasetti (P&P Software) 00009 00010 #include "../GeneralInclude/CompilerSwitches.h" 00011 #include "../GeneralInclude/DebugSupport.h" 00012 #include "../GeneralInclude/ClassId.h" 00013 #include "../GeneralInclude/Constants.h" 00014 #include "PUSDumpMemory.h" 00015 #include "../Telemetry/CC_TelemetryManager.h" 00016 #include "../Telemetry/CC_TelemetryPacketFactory.h" 00017 #include "../Telemetry/DC_PUSMemoryDumpOffset.h" 00018 #include "../Telemetry/DC_PUSMemoryDumpAbsolute.h" 00019 #include "../Data/DataPool.h" 00020 00021 PUSDumpMemory::PUSDumpMemory(void) { 00022 setType(PUS_TYPE_MEM); 00023 00024 data = pNULL; 00025 maxNumberData = 0; 00026 numberData = 0; 00027 pTmManager = pNULL; 00028 } 00029 00030 void PUSDumpMemory::setNumberOfRawData(unsigned int max) { 00031 assert( max>0 ); 00032 assert( data==pNULL ); 00033 00034 maxNumberData = max; 00035 data = new unsigned char[maxNumberData]; 00036 for (unsigned int i=0; i<maxNumberData; i++) 00037 data[i] = 0; 00038 } 00039 00040 unsigned int PUSDumpMemory::getNumberOfRawData() { 00041 return maxNumberData; 00042 } 00043 00044 void PUSDumpMemory::setRawData(unsigned char* d, unsigned int n) { 00045 assert( data!=pNULL ); 00046 00047 if ( n>maxNumberData ) { 00048 setValidityCheckCode(VC_TOO_MANY_RAW_DATA); 00049 return; 00050 } 00051 00052 numberData = n; 00053 for (unsigned int i=0; i<numberData; i++) 00054 data[i] = d[i]; 00055 00056 setValidityCheckCode(0); 00057 return; 00058 } 00059 00060 unsigned int PUSDumpMemory::getNumberOfApplicationData(void) const { 00061 return numberData; 00062 } 00063 00064 void PUSDumpMemory::setTelemetryManager(CC_TelemetryManager* pTmManager) { 00065 assert( pTmManager!=pNULL ); 00066 this->pTmManager = pTmManager; 00067 } 00068 00069 CC_TelemetryManager* PUSDumpMemory::getTelemetryManager() const { 00070 return pTmManager; 00071 } 00072 00073 bool PUSDumpMemory::isObjectConfigured(void) { 00074 return (PUSTelecommand::isObjectConfigured() && data!=pNULL && 00075 pTmManager!=pNULL); 00076 }
Copyright 2003 P&P Software GmbH - All Rights Reserved