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

CC_RootObject.cpp

00001 // 00002 // Copyright 2004 P&P Software GmbH - All Rights Reserved 00003 // 00004 // CC_RootObject.cpp 00005 // 00006 // Version 1.0 00007 // Date 18.04.03 00008 // Author A. Pasetti (P&P Software) 00009 // 00010 // Change Record: 00011 00012 #include "../GeneralInclude/CompilerSwitches.h" 00013 #include "../GeneralInclude/DebugSupport.h" 00014 #include "../GeneralInclude/ClassId.h" 00015 #include "../GeneralInclude/Constants.h" 00016 #include "../Event/DC_EventRepository.h" 00017 #include "../System/Tracer.h" 00018 #include "CC_RootObject.h" 00019 00020 TD_InstanceId CC_RootObject::systemListSize = 0; 00021 TD_InstanceId CC_RootObject::instanceCounter = 0; 00022 DC_EventRepository* CC_RootObject::pEventRepository = pNULL; 00023 DataPool* CC_RootObject::pDataPool = pNULL; 00024 ParameterDatabase* CC_RootObject::pParameterDatabase = pNULL; 00025 Tracer* CC_RootObject::pTracer = pNULL; 00026 CC_RootObject** CC_RootObject::pSystemList = pNULL; 00027 00028 CC_RootObject::CC_RootObject(void) { 00029 assert(pSystemList != pNULL); 00030 assert(instanceCounter < getSystemListSize()); 00031 00032 instanceId = instanceCounter; 00033 setClassId(ID_ROOTOBJECT); 00034 00035 // register newly created object in the system list. 00036 if ( instanceCounter < getSystemListSize() ) { 00037 pSystemList[instanceCounter] = this; 00038 instanceCounter++; 00039 } 00040 } 00041 00042 CC_RootObject::~CC_RootObject(void) { 00043 assert( false ); 00044 return; 00045 } 00046 00047 CC_RootObject::CC_RootObject(const CC_RootObject& v) { 00048 assert( false ); 00049 return; 00050 } 00051 00052 CC_RootObject& CC_RootObject::operator= (const CC_RootObject& v) { 00053 assert ( false ); 00054 return *this; 00055 } 00056 00057 bool CC_RootObject::isObjectConfigured(void) { 00058 return (pEventRepository!=pNULL && pTracer!=pNULL && 00059 pSystemList!=pNULL && pDataPool!=pNULL && pParameterDatabase!=pNULL); 00060 } 00061 00062 bool CC_RootObject::isSystemConfigured(void) { 00063 for (TD_InstanceId i=0; i<instanceCounter; i++) 00064 if ( !pSystemList[i]->isObjectConfigured() ) 00065 return NOT_CONFIGURED; 00066 return CONFIGURED; 00067 } 00068 00069 TD_InstanceId CC_RootObject::getInstanceId(void) const { 00070 return instanceId; 00071 } 00072 00073 TD_ClassId CC_RootObject::getClassId(void) const { 00074 return classId; 00075 } 00076 00077 void CC_RootObject::setSystemListSize(TD_InstanceId sysListSize) { 00078 assert(pSystemList == pNULL); 00079 00080 systemListSize = sysListSize; 00081 pSystemList = new CC_RootObject*[systemListSize]; 00082 for (TD_InstanceId i=0; i<systemListSize; i++) 00083 pSystemList[i] = pNULL; 00084 } 00085 00086 TD_InstanceId CC_RootObject::getSystemListSize(void) { 00087 return systemListSize; 00088 } 00089 00090 void CC_RootObject::setClassId(TD_ClassId classId) { 00091 this->classId = classId; 00092 } 00093 00094 void CC_RootObject::setEventRepository(DC_EventRepository* pEventRep) { 00095 assert( pEventRep != pNULL ); 00096 pEventRepository = pEventRep; 00097 } 00098 00099 void CC_RootObject::setParameterDatabase(ParameterDatabase* pDatabase) { 00100 assert( pDatabase != pNULL ); 00101 pParameterDatabase = pDatabase; 00102 } 00103 00104 ParameterDatabase* CC_RootObject::getParameterDatabase(void) { 00105 assert( pParameterDatabase != pNULL ); 00106 return pParameterDatabase; 00107 } 00108 00109 void CC_RootObject::setDataPool(DataPool* pPool) { 00110 assert( pPool != pNULL ); 00111 pDataPool = pPool; 00112 } 00113 00114 DataPool* CC_RootObject::getDataPool(void) { 00115 assert( pDataPool != pNULL ); 00116 return pDataPool; 00117 } 00118 00119 void CC_RootObject::setTracer(Tracer* pTrace) { 00120 assert( pTrace != pNULL ); 00121 pTracer = pTrace; 00122 } 00123 00124 Tracer* CC_RootObject::getTracer(void) { 00125 assert( pTracer != pNULL ); 00126 return pTracer; 00127 } 00128 00129 void CC_RootObject::packetTrace(unsigned int n, TD_TraceItem traceData[]) { 00130 assert( (pTracer != pNULL) && (traceData != pNULL) ); 00131 pTracer->sendPacketTrace(n,traceData); 00132 } 00133 00134 void CC_RootObject::synchTrace(TD_TraceItem traceId) { 00135 assert( pTracer != pNULL ); 00136 pTracer->sendSynchTrace(traceId); 00137 } 00138 00139
Copyright 2003 P&P Software GmbH - All Rights Reserved