Go to the documentation of this file.00001 #ifndef __AIRINV_SVC_AIRINVMASTERSERVICECONTEXT_HPP
00002 #define __AIRINV_SVC_AIRINVMASTERSERVICECONTEXT_HPP
00003
00004
00005
00006
00007
00008 #include <string>
00009
00010 #include <boost/shared_ptr.hpp>
00011
00012 #include <stdair/stdair_service_types.hpp>
00013 #include <stdair/bom/Inventory.hpp>
00014 #include <stdair/service/ServiceAbstract.hpp>
00015
00016 #include <airinv/AIRINV_Types.hpp>
00017
00018 namespace AIRINV {
00019
00021 class AIRINV_Service;
00022
00026 class AIRINV_Master_ServiceContext : public stdair::ServiceAbstract {
00032 friend class AIRINV_Master_Service;
00033 friend class FacAirinvMasterServiceContext;
00034
00035 private:
00036
00040 stdair::STDAIR_ServicePtr_T getSTDAIR_ServicePtr() const {
00041 return _stdairService;
00042 }
00043
00047 stdair::STDAIR_Service& getSTDAIR_Service() const {
00048 assert (_stdairService != NULL);
00049 return *_stdairService;
00050 }
00051
00055 const bool getOwnStdairServiceFlag() const {
00056 return _ownStdairService;
00057 }
00058
00063 AIRINV_Service& getAIRINV_Service() const {
00064 assert (_airinvService != NULL);
00065 return *_airinvService;
00066 }
00067
00068
00072 void setSTDAIR_Service (stdair::STDAIR_ServicePtr_T ioSTDAIR_ServicePtr,
00073 const bool iOwnStdairService) {
00074 _stdairService = ioSTDAIR_ServicePtr;
00075 _ownStdairService = iOwnStdairService;
00076 }
00077
00081 void setAIRINV_Service (AIRINV_ServicePtr_T ioAIRINV_ServicePtr) {
00082 _airinvService = ioAIRINV_ServicePtr;
00083 }
00084
00085
00086 private:
00087
00091 const std::string shortDisplay() const;
00092
00096 const std::string display() const;
00097
00101 const std::string describe() const;
00102
00103
00104 private:
00106
00109 AIRINV_Master_ServiceContext();
00113 AIRINV_Master_ServiceContext (const AIRINV_Master_ServiceContext&);
00114
00118 ~AIRINV_Master_ServiceContext();
00119
00123 void reset();
00124
00125
00126 private:
00127
00131 stdair::STDAIR_ServicePtr_T _stdairService;
00132
00136 bool _ownStdairService;
00137
00138
00139 private:
00140
00144 AIRINV_ServicePtr_T _airinvService;
00145 };
00146
00147 }
00148 #endif // __AIRINV_SVC_AIRINVMASTERSERVICECONTEXT_HPP