00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
#include "../GeneralInclude/CompilerSwitches.h"
00011
#include "../GeneralInclude/DebugSupport.h"
00012
#include "../GeneralInclude/BasicTypes.h"
00013
#include "../GeneralInclude/ClassId.h"
00014
#include "../GeneralInclude/Constants.h"
00015
#include "../Telecommand/DC_DummyPUSTelecommand.h"
00016
#include "../Telecommand/DC_DummyTelecommand.h"
00017
#include "../Telecommand/DC_PUSControlDataReporting.h"
00018
#include "../Telecommand/DC_PUSDefineDataReporting.h"
00019
#include "../Telecommand/DC_PUSDumpMemoryAbsolute.h"
00020
#include "../Telecommand/DC_PUSDumpMemoryOffset.h"
00021
#include "../Telecommand/DC_PUSMemoryLoadAbsolute.h"
00022
#include "../Telecommand/DC_PUSMemoryLoadOffset.h"
00023
#include "../Telecommand/DC_TestPUSTelecommand.h"
00024
#include "../Base/CC_RootObject.h"
00025
#include "CC_TelecommandFactory.h"
00026
00027
CC_TelecommandFactory* CC_TelecommandFactory::pInstance = pNULL;
00028
00029 CC_TelecommandFactory::CC_TelecommandFactory(
void) {
00030 setClassId(ID_TELECOMMANDFACTORY);
00031
00032
00033 sizeDummyPUSTelecommand = 1;
00034 poolDummyPUSTelecommand =
new DC_DummyPUSTelecommand*[sizeDummyPUSTelecommand];
00035
for (
unsigned int i=0; i<sizeDummyPUSTelecommand; i++)
00036 poolDummyPUSTelecommand[i] = pNULL;
00037
00038 sizeDummyTelecommand = 2;
00039 poolDummyTelecommand =
new DC_DummyTelecommand*[sizeDummyTelecommand];
00040
for (
unsigned int i=0; i<sizeDummyTelecommand; i++)
00041 poolDummyTelecommand[i] = pNULL;
00042
00043 sizePUSControlDataReporting = 1;
00044 poolPUSControlDataReporting =
new DC_PUSControlDataReporting*[sizePUSControlDataReporting];
00045
for (
unsigned int i=0; i<sizePUSControlDataReporting; i++)
00046 poolPUSControlDataReporting[i] = pNULL;
00047
00048 sizePUSDefineDataReporting = 1;
00049 poolPUSDefineDataReporting =
new DC_PUSDefineDataReporting*[sizePUSDefineDataReporting];
00050
for (
unsigned int i=0; i<sizePUSDefineDataReporting; i++)
00051 poolPUSDefineDataReporting[i] = pNULL;
00052
00053 sizePUSDumpMemoryAbsolute = 1;
00054 poolPUSDumpMemoryAbsolute =
new DC_PUSDumpMemoryAbsolute*[sizePUSDumpMemoryAbsolute];
00055
for (
unsigned int i=0; i<sizePUSDumpMemoryAbsolute; i++)
00056 poolPUSDumpMemoryAbsolute[i] = pNULL;
00057
00058 sizePUSDumpMemoryOffset = 1;
00059 poolPUSDumpMemoryOffset =
new DC_PUSDumpMemoryOffset*[sizePUSDumpMemoryOffset];
00060
for (
unsigned int i=0; i<sizePUSDumpMemoryOffset; i++)
00061 poolPUSDumpMemoryOffset[i] = pNULL;
00062
00063 sizePUSMemoryLoadAbsolute = 2;
00064 poolPUSMemoryLoadAbsolute =
new DC_PUSMemoryLoadAbsolute*[sizePUSMemoryLoadAbsolute];
00065
for (
unsigned int i=0; i<sizePUSMemoryLoadAbsolute; i++)
00066 poolPUSMemoryLoadAbsolute[i] = pNULL;
00067
00068 sizePUSMemoryLoadOffset = 1;
00069 poolPUSMemoryLoadOffset =
new DC_PUSMemoryLoadOffset*[sizePUSMemoryLoadOffset];
00070
for (
unsigned int i=0; i<sizePUSMemoryLoadOffset; i++)
00071 poolPUSMemoryLoadOffset[i] = pNULL;
00072
00073 sizeTestPUSTelecommand = 3;
00074 poolTestPUSTelecommand =
new DC_TestPUSTelecommand*[sizeTestPUSTelecommand];
00075
for (
unsigned int i=0; i<sizeTestPUSTelecommand; i++)
00076 poolTestPUSTelecommand[i] = pNULL;
00077
00078 }
00079
00080 bool CC_TelecommandFactory::isObjectConfigured(
void) {
00081
00082
if ( !
CC_RootObject::isObjectConfigured() )
00083
return false;
00084
00085
if ( poolDummyPUSTelecommand==pNULL )
00086
return false;
00087
00088
for (
unsigned int i=0; i<sizeDummyPUSTelecommand; i++)
00089
if ( poolDummyPUSTelecommand[i]==pNULL )
00090
return false;
00091
00092
if ( poolDummyTelecommand==pNULL )
00093
return false;
00094
00095
for (
unsigned int i=0; i<sizeDummyTelecommand; i++)
00096
if ( poolDummyTelecommand[i]==pNULL )
00097
return false;
00098
00099
if ( poolPUSControlDataReporting==pNULL )
00100
return false;
00101
00102
for (
unsigned int i=0; i<sizePUSControlDataReporting; i++)
00103
if ( poolPUSControlDataReporting[i]==pNULL )
00104
return false;
00105
00106
if ( poolPUSDefineDataReporting==pNULL )
00107
return false;
00108
00109
for (
unsigned int i=0; i<sizePUSDefineDataReporting; i++)
00110
if ( poolPUSDefineDataReporting[i]==pNULL )
00111
return false;
00112
00113
if ( poolPUSDumpMemoryAbsolute==pNULL )
00114
return false;
00115
00116
for (
unsigned int i=0; i<sizePUSDumpMemoryAbsolute; i++)
00117
if ( poolPUSDumpMemoryAbsolute[i]==pNULL )
00118
return false;
00119
00120
if ( poolPUSDumpMemoryOffset==pNULL )
00121
return false;
00122
00123
for (
unsigned int i=0; i<sizePUSDumpMemoryOffset; i++)
00124
if ( poolPUSDumpMemoryOffset[i]==pNULL )
00125
return false;
00126
00127
if ( poolPUSMemoryLoadAbsolute==pNULL )
00128
return false;
00129
00130
for (
unsigned int i=0; i<sizePUSMemoryLoadAbsolute; i++)
00131
if ( poolPUSMemoryLoadAbsolute[i]==pNULL )
00132
return false;
00133
00134
if ( poolPUSMemoryLoadOffset==pNULL )
00135
return false;
00136
00137
for (
unsigned int i=0; i<sizePUSMemoryLoadOffset; i++)
00138
if ( poolPUSMemoryLoadOffset[i]==pNULL )
00139
return false;
00140
00141
if ( poolTestPUSTelecommand==pNULL )
00142
return false;
00143
00144
for (
unsigned int i=0; i<sizeTestPUSTelecommand; i++)
00145
if ( poolTestPUSTelecommand[i]==pNULL )
00146
return false;
00147
00148
00149
return true;
00150 }
00151
00152 CC_TelecommandFactory*
CC_TelecommandFactory::getInstance(
void) {
00153
if (pInstance==pNULL)
00154 pInstance =
new CC_TelecommandFactory();
00155
return pInstance;
00156 }
00157
00158
00159 void CC_TelecommandFactory::setTelecommand(
unsigned int i,
DC_DummyPUSTelecommand* pItem) {
00160 assert(i<sizeDummyPUSTelecommand);
00161 assert(pItem!=pNULL);
00162 poolDummyPUSTelecommand[i] = pItem;
00163 poolDummyPUSTelecommand[i]->
setInUse(
false);
00164 }
00165
00166 unsigned int CC_TelecommandFactory::getNumberDummyPUSTelecommand(
void) {
00167
unsigned int counter = 0;
00168
for (
unsigned int i=0; i<sizeDummyPUSTelecommand; i++)
00169
if ( poolDummyPUSTelecommand[i]->
isInUse() )
00170 counter++;
00171
return counter;
00172 }
00173
00174 unsigned int CC_TelecommandFactory::getCapacityDummyPUSTelecommand(
void) {
00175
return sizeDummyPUSTelecommand;
00176 }
00177
00178
00179 DC_DummyPUSTelecommand*
CC_TelecommandFactory::allocateDummyPUSTelecommand() {
00180 assert(
isObjectConfigured() );
00181
for (
unsigned int i=0; i<sizeDummyPUSTelecommand; i++)
00182
if (!poolDummyPUSTelecommand[i]->
isInUse() ) {
00183 poolDummyPUSTelecommand[i]->
setInUse(
true);
00184
return poolDummyPUSTelecommand[i];
00185 }
00186
return pNULL;
00187 }
00188
00189 bool CC_TelecommandFactory::isFreeDummyPUSTelecommand() {
00190
for (
unsigned int i=0; i<sizeDummyPUSTelecommand; i++)
00191
if ( !poolDummyPUSTelecommand[i]->
isInUse() )
00192
return true;
00193
00194
return false;
00195 }
00196
00197
00198
00199 void CC_TelecommandFactory::setTelecommand(
unsigned int i,
DC_DummyTelecommand* pItem) {
00200 assert(i<sizeDummyTelecommand);
00201 assert(pItem!=pNULL);
00202 poolDummyTelecommand[i] = pItem;
00203 poolDummyTelecommand[i]->
setInUse(
false);
00204 }
00205
00206 unsigned int CC_TelecommandFactory::getNumberDummyTelecommand(
void) {
00207
unsigned int counter = 0;
00208
for (
unsigned int i=0; i<sizeDummyTelecommand; i++)
00209
if ( poolDummyTelecommand[i]->
isInUse() )
00210 counter++;
00211
return counter;
00212 }
00213
00214 unsigned int CC_TelecommandFactory::getCapacityDummyTelecommand(
void) {
00215
return sizeDummyTelecommand;
00216 }
00217
00218
00219 DC_DummyTelecommand*
CC_TelecommandFactory::allocateDummyTelecommand() {
00220 assert(
isObjectConfigured() );
00221
for (
unsigned int i=0; i<sizeDummyTelecommand; i++)
00222
if (!poolDummyTelecommand[i]->
isInUse() ) {
00223 poolDummyTelecommand[i]->
setInUse(
true);
00224
return poolDummyTelecommand[i];
00225 }
00226
return pNULL;
00227 }
00228
00229 bool CC_TelecommandFactory::isFreeDummyTelecommand() {
00230
for (
unsigned int i=0; i<sizeDummyTelecommand; i++)
00231
if ( !poolDummyTelecommand[i]->
isInUse() )
00232
return true;
00233
00234
return false;
00235 }
00236
00237
00238
00239 void CC_TelecommandFactory::setTelecommand(
unsigned int i,
DC_PUSControlDataReporting* pItem) {
00240 assert(i<sizePUSControlDataReporting);
00241 assert(pItem!=pNULL);
00242 poolPUSControlDataReporting[i] = pItem;
00243 poolPUSControlDataReporting[i]->
setInUse(
false);
00244 }
00245
00246 unsigned int CC_TelecommandFactory::getNumberPUSControlDataReporting(
void) {
00247
unsigned int counter = 0;
00248
for (
unsigned int i=0; i<sizePUSControlDataReporting; i++)
00249
if ( poolPUSControlDataReporting[i]->
isInUse() )
00250 counter++;
00251
return counter;
00252 }
00253
00254 unsigned int CC_TelecommandFactory::getCapacityPUSControlDataReporting(
void) {
00255
return sizePUSControlDataReporting;
00256 }
00257
00258
00259 DC_PUSControlDataReporting*
CC_TelecommandFactory::allocatePUSControlDataReporting(
unsigned int MaxNumberSID) {
00260 assert(
isObjectConfigured() );
00261
for (
unsigned int i=0; i<sizePUSControlDataReporting; i++)
00262
if (poolPUSControlDataReporting[i]->
getMaxNumberSID()>=MaxNumberSID &&
00263 !poolPUSControlDataReporting[i]->
isInUse() ) {
00264 poolPUSControlDataReporting[i]->
setInUse(
true);
00265
return poolPUSControlDataReporting[i];
00266 }
00267
return pNULL;
00268 }
00269
00270 bool CC_TelecommandFactory::isFreePUSControlDataReporting(
unsigned int MaxNumberSID) {
00271
for (
unsigned int i=0; i<sizePUSControlDataReporting; i++)
00272
if ( poolPUSControlDataReporting[i]->
getMaxNumberSID()>=MaxNumberSID &&
00273 !poolPUSControlDataReporting[i]->
isInUse() )
00274
return true;
00275
00276
return false;
00277 }
00278
00279
00280
00281 void CC_TelecommandFactory::setTelecommand(
unsigned int i,
DC_PUSDefineDataReporting* pItem) {
00282 assert(i<sizePUSDefineDataReporting);
00283 assert(pItem!=pNULL);
00284 poolPUSDefineDataReporting[i] = pItem;
00285 poolPUSDefineDataReporting[i]->
setInUse(
false);
00286 }
00287
00288 unsigned int CC_TelecommandFactory::getNumberPUSDefineDataReporting(
void) {
00289
unsigned int counter = 0;
00290
for (
unsigned int i=0; i<sizePUSDefineDataReporting; i++)
00291
if ( poolPUSDefineDataReporting[i]->
isInUse() )
00292 counter++;
00293
return counter;
00294 }
00295
00296 unsigned int CC_TelecommandFactory::getCapacityPUSDefineDataReporting(
void) {
00297
return sizePUSDefineDataReporting;
00298 }
00299
00300
00301 DC_PUSDefineDataReporting*
CC_TelecommandFactory::allocatePUSDefineDataReporting(
unsigned int NumberOfRawData) {
00302 assert(
isObjectConfigured() );
00303
for (
unsigned int i=0; i<sizePUSDefineDataReporting; i++)
00304
if (poolPUSDefineDataReporting[i]->
getNumberOfRawData()>=NumberOfRawData &&
00305 !poolPUSDefineDataReporting[i]->
isInUse() ) {
00306 poolPUSDefineDataReporting[i]->
setInUse(
true);
00307
return poolPUSDefineDataReporting[i];
00308 }
00309
return pNULL;
00310 }
00311
00312 bool CC_TelecommandFactory::isFreePUSDefineDataReporting(
unsigned int NumberOfRawData) {
00313
for (
unsigned int i=0; i<sizePUSDefineDataReporting; i++)
00314
if ( poolPUSDefineDataReporting[i]->
getNumberOfRawData()>=NumberOfRawData &&
00315 !poolPUSDefineDataReporting[i]->
isInUse() )
00316
return true;
00317
00318
return false;
00319 }
00320
00321
00322
00323 void CC_TelecommandFactory::setTelecommand(
unsigned int i,
DC_PUSDumpMemoryAbsolute* pItem) {
00324 assert(i<sizePUSDumpMemoryAbsolute);
00325 assert(pItem!=pNULL);
00326 poolPUSDumpMemoryAbsolute[i] = pItem;
00327 poolPUSDumpMemoryAbsolute[i]->
setInUse(
false);
00328 }
00329
00330 unsigned int CC_TelecommandFactory::getNumberPUSDumpMemoryAbsolute(
void) {
00331
unsigned int counter = 0;
00332
for (
unsigned int i=0; i<sizePUSDumpMemoryAbsolute; i++)
00333
if ( poolPUSDumpMemoryAbsolute[i]->
isInUse() )
00334 counter++;
00335
return counter;
00336 }
00337
00338 unsigned int CC_TelecommandFactory::getCapacityPUSDumpMemoryAbsolute(
void) {
00339
return sizePUSDumpMemoryAbsolute;
00340 }
00341
00342
00343 DC_PUSDumpMemoryAbsolute*
CC_TelecommandFactory::allocatePUSDumpMemoryAbsolute(
unsigned int NumberOfRawData) {
00344 assert(
isObjectConfigured() );
00345
for (
unsigned int i=0; i<sizePUSDumpMemoryAbsolute; i++)
00346
if (poolPUSDumpMemoryAbsolute[i]->
getNumberOfRawData()>=NumberOfRawData &&
00347 !poolPUSDumpMemoryAbsolute[i]->
isInUse() ) {
00348 poolPUSDumpMemoryAbsolute[i]->
setInUse(
true);
00349
return poolPUSDumpMemoryAbsolute[i];
00350 }
00351
return pNULL;
00352 }
00353
00354 bool CC_TelecommandFactory::isFreePUSDumpMemoryAbsolute(
unsigned int NumberOfRawData) {
00355
for (
unsigned int i=0; i<sizePUSDumpMemoryAbsolute; i++)
00356
if ( poolPUSDumpMemoryAbsolute[i]->
getNumberOfRawData()>=NumberOfRawData &&
00357 !poolPUSDumpMemoryAbsolute[i]->
isInUse() )
00358
return true;
00359
00360
return false;
00361 }
00362
00363
00364
00365 void CC_TelecommandFactory::setTelecommand(
unsigned int i,
DC_PUSDumpMemoryOffset* pItem) {
00366 assert(i<sizePUSDumpMemoryOffset);
00367 assert(pItem!=pNULL);
00368 poolPUSDumpMemoryOffset[i] = pItem;
00369 poolPUSDumpMemoryOffset[i]->
setInUse(
false);
00370 }
00371
00372 unsigned int CC_TelecommandFactory::getNumberPUSDumpMemoryOffset(
void) {
00373
unsigned int counter = 0;
00374
for (
unsigned int i=0; i<sizePUSDumpMemoryOffset; i++)
00375
if ( poolPUSDumpMemoryOffset[i]->
isInUse() )
00376 counter++;
00377
return counter;
00378 }
00379
00380 unsigned int CC_TelecommandFactory::getCapacityPUSDumpMemoryOffset(
void) {
00381
return sizePUSDumpMemoryOffset;
00382 }
00383
00384
00385 DC_PUSDumpMemoryOffset*
CC_TelecommandFactory::allocatePUSDumpMemoryOffset(
unsigned int NumberOfRawData) {
00386 assert(
isObjectConfigured() );
00387
for (
unsigned int i=0; i<sizePUSDumpMemoryOffset; i++)
00388
if (poolPUSDumpMemoryOffset[i]->
getNumberOfRawData()>=NumberOfRawData &&
00389 !poolPUSDumpMemoryOffset[i]->
isInUse() ) {
00390 poolPUSDumpMemoryOffset[i]->
setInUse(
true);
00391
return poolPUSDumpMemoryOffset[i];
00392 }
00393
return pNULL;
00394 }
00395
00396 bool CC_TelecommandFactory::isFreePUSDumpMemoryOffset(
unsigned int NumberOfRawData) {
00397
for (
unsigned int i=0; i<sizePUSDumpMemoryOffset; i++)
00398
if ( poolPUSDumpMemoryOffset[i]->
getNumberOfRawData()>=NumberOfRawData &&
00399 !poolPUSDumpMemoryOffset[i]->
isInUse() )
00400
return true;
00401
00402
return false;
00403 }
00404
00405
00406
00407 void CC_TelecommandFactory::setTelecommand(
unsigned int i,
DC_PUSMemoryLoadAbsolute* pItem) {
00408 assert(i<sizePUSMemoryLoadAbsolute);
00409 assert(pItem!=pNULL);
00410 poolPUSMemoryLoadAbsolute[i] = pItem;
00411 poolPUSMemoryLoadAbsolute[i]->
setInUse(
false);
00412 }
00413
00414 unsigned int CC_TelecommandFactory::getNumberPUSMemoryLoadAbsolute(
void) {
00415
unsigned int counter = 0;
00416
for (
unsigned int i=0; i<sizePUSMemoryLoadAbsolute; i++)
00417
if ( poolPUSMemoryLoadAbsolute[i]->
isInUse() )
00418 counter++;
00419
return counter;
00420 }
00421
00422 unsigned int CC_TelecommandFactory::getCapacityPUSMemoryLoadAbsolute(
void) {
00423
return sizePUSMemoryLoadAbsolute;
00424 }
00425
00426
00427 DC_PUSMemoryLoadAbsolute*
CC_TelecommandFactory::allocatePUSMemoryLoadAbsolute(
unsigned int MaxNumberData,
unsigned int MaxNumberBlocks) {
00428 assert(
isObjectConfigured() );
00429
for (
unsigned int i=0; i<sizePUSMemoryLoadAbsolute; i++)
00430
if (poolPUSMemoryLoadAbsolute[i]->
getMaxNumberData()>=MaxNumberData &&
00431 poolPUSMemoryLoadAbsolute[i]->
getMaxNumberBlocks()>=MaxNumberBlocks &&
00432 !poolPUSMemoryLoadAbsolute[i]->isInUse() ) {
00433 poolPUSMemoryLoadAbsolute[i]->setInUse(
true);
00434
return poolPUSMemoryLoadAbsolute[i];
00435 }
00436
return pNULL;
00437 }
00438
00439 bool CC_TelecommandFactory::isFreePUSMemoryLoadAbsolute(
unsigned int MaxNumberData,
unsigned int MaxNumberBlocks) {
00440
for (
unsigned int i=0; i<sizePUSMemoryLoadAbsolute; i++)
00441
if ( poolPUSMemoryLoadAbsolute[i]->
getMaxNumberData()>=MaxNumberData &&
00442 poolPUSMemoryLoadAbsolute[i]->
getMaxNumberBlocks()>=MaxNumberBlocks &&
00443 !poolPUSMemoryLoadAbsolute[i]->isInUse() )
00444
return true;
00445
00446
return false;
00447 }
00448
00449
00450
00451 void CC_TelecommandFactory::setTelecommand(
unsigned int i,
DC_PUSMemoryLoadOffset* pItem) {
00452 assert(i<sizePUSMemoryLoadOffset);
00453 assert(pItem!=pNULL);
00454 poolPUSMemoryLoadOffset[i] = pItem;
00455 poolPUSMemoryLoadOffset[i]->
setInUse(
false);
00456 }
00457
00458 unsigned int CC_TelecommandFactory::getNumberPUSMemoryLoadOffset(
void) {
00459
unsigned int counter = 0;
00460
for (
unsigned int i=0; i<sizePUSMemoryLoadOffset; i++)
00461
if ( poolPUSMemoryLoadOffset[i]->
isInUse() )
00462 counter++;
00463
return counter;
00464 }
00465
00466 unsigned int CC_TelecommandFactory::getCapacityPUSMemoryLoadOffset(
void) {
00467
return sizePUSMemoryLoadOffset;
00468 }
00469
00470
00471 DC_PUSMemoryLoadOffset*
CC_TelecommandFactory::allocatePUSMemoryLoadOffset(
unsigned int MaxNumberData,
unsigned int MaxNumberBlocks) {
00472 assert(
isObjectConfigured() );
00473
for (
unsigned int i=0; i<sizePUSMemoryLoadOffset; i++)
00474
if (poolPUSMemoryLoadOffset[i]->
getMaxNumberData()>=MaxNumberData &&
00475 poolPUSMemoryLoadOffset[i]->
getMaxNumberBlocks()>=MaxNumberBlocks &&
00476 !poolPUSMemoryLoadOffset[i]->isInUse() ) {
00477 poolPUSMemoryLoadOffset[i]->setInUse(
true);
00478
return poolPUSMemoryLoadOffset[i];
00479 }
00480
return pNULL;
00481 }
00482
00483 bool CC_TelecommandFactory::isFreePUSMemoryLoadOffset(
unsigned int MaxNumberData,
unsigned int MaxNumberBlocks) {
00484
for (
unsigned int i=0; i<sizePUSMemoryLoadOffset; i++)
00485
if ( poolPUSMemoryLoadOffset[i]->
getMaxNumberData()>=MaxNumberData &&
00486 poolPUSMemoryLoadOffset[i]->
getMaxNumberBlocks()>=MaxNumberBlocks &&
00487 !poolPUSMemoryLoadOffset[i]->isInUse() )
00488
return true;
00489
00490
return false;
00491 }
00492
00493
00494
00495 void CC_TelecommandFactory::setTelecommand(
unsigned int i,
DC_TestPUSTelecommand* pItem) {
00496 assert(i<sizeTestPUSTelecommand);
00497 assert(pItem!=pNULL);
00498 poolTestPUSTelecommand[i] = pItem;
00499 poolTestPUSTelecommand[i]->
setInUse(
false);
00500 }
00501
00502 unsigned int CC_TelecommandFactory::getNumberTestPUSTelecommand(
void) {
00503
unsigned int counter = 0;
00504
for (
unsigned int i=0; i<sizeTestPUSTelecommand; i++)
00505
if ( poolTestPUSTelecommand[i]->
isInUse() )
00506 counter++;
00507
return counter;
00508 }
00509
00510 unsigned int CC_TelecommandFactory::getCapacityTestPUSTelecommand(
void) {
00511
return sizeTestPUSTelecommand;
00512 }
00513
00514
00515 DC_TestPUSTelecommand*
CC_TelecommandFactory::allocateTestPUSTelecommand() {
00516 assert(
isObjectConfigured() );
00517
for (
unsigned int i=0; i<sizeTestPUSTelecommand; i++)
00518
if (!poolTestPUSTelecommand[i]->
isInUse() ) {
00519 poolTestPUSTelecommand[i]->
setInUse(
true);
00520
return poolTestPUSTelecommand[i];
00521 }
00522
return pNULL;
00523 }
00524
00525 bool CC_TelecommandFactory::isFreeTestPUSTelecommand() {
00526
for (
unsigned int i=0; i<sizeTestPUSTelecommand; i++)
00527
if ( !poolTestPUSTelecommand[i]->
isInUse() )
00528
return true;
00529
00530
return false;
00531 }
00532
00533
00534