$treeview $search $mathjax
00001 #ifndef __AIRRAC_SVC_AIRRACSERVICECONTEXT_HPP 00002 #define __AIRRAC_SVC_AIRRACSERVICECONTEXT_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STL 00008 #include <string> 00009 // StdAir 00010 #include <stdair/stdair_service_types.hpp> 00011 #include <stdair/service/ServiceAbstract.hpp> 00012 // Airrac 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 // ///////// Getters ////////// 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 // ///////////////// Setters /////////////////// 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 // ///////// Display Methods ////////// 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 // /////// Construction / initialisation //////// 00094 AIRRAC_ServiceContext(); 00095 00099 AIRRAC_ServiceContext (const AIRRAC_ServiceContext&); 00100 00104 ~AIRRAC_ServiceContext(); 00105 00109 void reset(); 00110 00111 00112 private: 00113 // //////////// Attributes ////////////////// 00117 stdair::STDAIR_ServicePtr_T _stdairService; 00118 00122 bool _ownStdairService; 00123 }; 00124 00125 } 00126 #endif // __AIRRAC_SVC_AIRRACSERVICECONTEXT_HPP