AirInv Logo  0.1.2
C++ Simulated Airline Inventory Management System library
AIRINV_Master_ServiceContext.hpp
Go to the documentation of this file.
00001 #ifndef __AIRINV_SVC_AIRINVMASTERSERVICECONTEXT_HPP
00002 #define __AIRINV_SVC_AIRINVMASTERSERVICECONTEXT_HPP
00003 
00004 // //////////////////////////////////////////////////////////////////////
00005 // Import section
00006 // //////////////////////////////////////////////////////////////////////
00007 // STL
00008 #include <string>
00009 // Boost
00010 #include <boost/shared_ptr.hpp>
00011 // StdAir
00012 #include <stdair/stdair_service_types.hpp>
00013 #include <stdair/bom/Inventory.hpp>
00014 #include <stdair/service/ServiceAbstract.hpp>
00015 // AirInv
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     // ///////////////// Getters ///////////////////
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     // ///////////////// Setters ///////////////////
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     // //////////////////// Display Methods /////////////////////
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     // /////////////// Children ///////////////
00131     stdair::STDAIR_ServicePtr_T _stdairService;
00132 
00136     bool _ownStdairService;
00137 
00138 
00139   private:
00140     // //////////// Attributes //////////////////
00144     AIRINV_ServicePtr_T _airinvService;
00145   };
00146 
00147 }
00148 #endif // __AIRINV_SVC_AIRINVMASTERSERVICECONTEXT_HPP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines