Go to the documentation of this file.00001 #ifndef __AIRRAC_SVC_AIRRACSERVICECONTEXT_HPP
00002 #define __AIRRAC_SVC_AIRRACSERVICECONTEXT_HPP
00003
00004
00005
00006
00007
00008 #include <string>
00009
00010 #include <stdair/stdair_service_types.hpp>
00011 #include <stdair/service/ServiceAbstract.hpp>
00012
00013 #include <airrac/AIRRAC_Types.hpp>
00014
00016 namespace stdair {
00017 class STDAIR_Service;
00018 }
00019
00020 namespace AIRRAC {
00021
00025 class AIRRAC_ServiceContext : public stdair::ServiceAbstract {
00031 friend class AIRRAC_Service;
00032 friend class FacAirracServiceContext;
00033
00034 private:
00035
00039 stdair::STDAIR_ServicePtr_T getSTDAIR_ServicePtr() const {
00040 return _stdairService;
00041 }
00042
00046 stdair::STDAIR_Service& getSTDAIR_Service() const {
00047 assert (_stdairService != NULL);
00048 return *_stdairService;
00049 }
00050
00054 const bool getOwnStdairServiceFlag() const {
00055 return _ownStdairService;
00056 }
00057
00058
00059 private:
00060
00064 void setSTDAIR_Service (stdair::STDAIR_ServicePtr_T ioSTDAIR_ServicePtr,
00065 const bool iOwnStdairService) {
00066 _stdairService = ioSTDAIR_ServicePtr;
00067 _ownStdairService = iOwnStdairService;
00068 }
00069
00070
00071 private:
00072
00076 const std::string shortDisplay() const;
00077
00081 const std::string display() const;
00082
00086 const std::string describe() const;
00087
00088
00089 private:
00090
00094 AIRRAC_ServiceContext();
00095
00099 AIRRAC_ServiceContext (const AIRRAC_ServiceContext&);
00100
00104 ~AIRRAC_ServiceContext();
00105
00109 void reset();
00110
00111
00112 private:
00113
00117 stdair::STDAIR_ServicePtr_T _stdairService;
00118
00122 bool _ownStdairService;
00123 };
00124
00125 }
00126 #endif // __AIRRAC_SVC_AIRRACSERVICECONTEXT_HPP