00001 #ifndef __RMOL_SVC_RMOL_SERVICE_CONTEXT_HPP
00002 #define __RMOL_SVC_RMOL_SERVICE_CONTEXT_HPP
00003
00004
00005
00006
00007
00008 #include <string>
00009
00010 #include <stdair/stdair_basic_types.hpp>
00011 #include <stdair/stdair_inventory_types.hpp>
00012 #include <stdair/stdair_maths_types.hpp>
00013 #include <stdair/stdair_service_types.hpp>
00014 #include <stdair/service/ServiceAbstract.hpp>
00015
00016 #include <rmol/RMOL_Types.hpp>
00017
00019 namespace stdair {
00020 class STDAIR_Service;
00021 class LegCabin;
00022 }
00023
00024 namespace RMOL {
00025
00029 class RMOL_ServiceContext : public stdair::ServiceAbstract {
00035 friend class RMOL_Service;
00036 friend class FacRmolServiceContext;
00037
00038 private:
00039
00043 stdair::STDAIR_ServicePtr_T getSTDAIR_ServicePtr() const {
00044 return _stdairService;
00045 }
00046
00050 stdair::STDAIR_Service& getSTDAIR_Service() const;
00051
00055 const bool getOwnStdairServiceFlag() const {
00056 return _ownStdairService;
00057 }
00058
00059
00060 private:
00061
00065 void setSTDAIR_Service (stdair::STDAIR_ServicePtr_T ioSTDAIR_ServicePtr,
00066 const bool iOwnStdairService) {
00067 _stdairService = ioSTDAIR_ServicePtr;
00068 _ownStdairService = iOwnStdairService;
00069 }
00070
00074 void reset();
00075
00076
00077 private:
00078
00082 const std::string shortDisplay() const;
00083
00087 const std::string display() const;
00088
00092 const std::string describe() const;
00093
00094
00095 private:
00096
00100 RMOL_ServiceContext();
00104 RMOL_ServiceContext (const RMOL_ServiceContext&);
00105
00109 ~RMOL_ServiceContext();
00110
00111
00112 private:
00113
00117 stdair::STDAIR_ServicePtr_T _stdairService;
00118
00122 bool _ownStdairService;
00123 };
00124
00125 }
00126 #endif // __RMOL_SVC_RMOL_SERVICE_CONTEXT_HPP