AirRAC Logo  0.2.3
C++ Simulated Revenue Accounting (RAC) System Library
 All Classes Namespaces Files Functions Variables Typedefs Friends Defines
AIRRAC_ServiceContext.hpp
Go to the documentation of this file.
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