Go to the documentation of this file.00001
00002
00003
00004
00005 #include <assert.h>
00006
00007 #include <rmol/bom/BucketHolder.hpp>
00008 #include <rmol/factory/FacSupervisor.hpp>
00009 #include <rmol/factory/FacBucketHolder.hpp>
00010
00011 namespace RMOL {
00012
00013 FacBucketHolder* FacBucketHolder::_instance = NULL;
00014
00015
00016 FacBucketHolder::~FacBucketHolder () {
00017 _instance = NULL;
00018 }
00019
00020
00021 FacBucketHolder& FacBucketHolder::instance () {
00022
00023 if (_instance == NULL) {
00024 _instance = new FacBucketHolder();
00025 assert (_instance != NULL);
00026
00027 FacSupervisor::instance().registerBomFactory (_instance);
00028 }
00029 return *_instance;
00030 }
00031
00032
00033 BucketHolder& FacBucketHolder::create (const double iCabinCapacity) {
00034 BucketHolder* aBucketHolder_ptr = NULL;
00035
00036 aBucketHolder_ptr = new BucketHolder (iCabinCapacity);
00037 assert (aBucketHolder_ptr != NULL);
00038
00039
00040 _pool.push_back (aBucketHolder_ptr);
00041
00042 return *aBucketHolder_ptr;
00043 }
00044
00045
00046 void FacBucketHolder::addBucket (BucketHolder& ioBucketHolder,
00047 Bucket& ioBucket) {
00048 ioBucketHolder._bucketList.push_back (&ioBucket);
00049 }
00050
00051 }