RMOL Logo Get Revenue Management Optimisation Library at SourceForge.net. Fast, secure and Free Open Source software downloads

RMOL_ServiceContext.hpp

Go to the documentation of this file.
00001 #ifndef __RMOL_SVC_RMOL_SERVICE_CONTEXT_HPP
00002 #define __RMOL_SVC_RMOL_SERVICE_CONTEXT_HPP
00003 
00004 // //////////////////////////////////////////////////////////////////////
00005 // Import section
00006 // //////////////////////////////////////////////////////////////////////
00007 // STL
00008 #include <string>
00009 // RMOL
00010 #include <rmol/RMOL_Types.hpp>
00011 #include <rmol/service/ServiceAbstract.hpp>
00012 
00013 namespace RMOL {
00014 
00016   class BucketHolder;
00017 
00019   class RMOL_ServiceContext : public ServiceAbstract {
00023     friend class RMOL_Service;
00024     friend class FacRmolServiceContext;
00025 
00026   private:
00028     RMOL_ServiceContext ();
00029     RMOL_ServiceContext (const RMOL_ServiceContext&);
00030     RMOL_ServiceContext (const ResourceCapacity_T iResourceCapacity);
00031     void init (const ResourceCapacity_T iResourceCapacity);
00033     ~RMOL_ServiceContext();
00034 
00036     void setBucketHolder (BucketHolder* ioBucketHolderPtr) {
00037       _bucketHolder = ioBucketHolderPtr;
00038     }
00039 
00041     void addBucket (const double iYieldRange, const double iDemandMean,
00042                     const double iDemandStandardDev);
00043 
00045     void readFromInputFile (const std::string& iInputFileName);
00046     
00048     BucketHolder* getBucketHolder() const {
00049       return _bucketHolder;
00050     }
00051 
00053     ResourceCapacity_T getCapacity() const {
00054       return _capacity;
00055     }
00056 
00057   private:
00059     BucketHolder* _bucketHolder;
00060 
00062     ResourceCapacity_T _capacity;
00063   };
00064 
00065 }
00066 #endif // __RMOL_SVC_RMOL_SERVICE_CONTEXT_HPP
SourceForge Logo

Generated on Sun Jun 14 23:33:59 2009 for RMOL by Doxygen 1.5.8