$treeview $search $mathjax
RMOL Logo  1.00.0
$projectbrief
$projectbrief
$searchbox

rmol/service/RMOL_ServiceContext.hpp

Go to the documentation of this file.
00001 #ifndef __RMOL_SVC_RMOL_SERVICE_CONTEXT_HPP
00002 #define __RMOL_SVC_RMOL_SERVICE_CONTEXT_HPP
00003 
00004 // //////////////////////////////////////////////////////////////////////
00005 // Import section
00006 // //////////////////////////////////////////////////////////////////////
00007 // STL
00008 #include <string>
00009 // StdAir
00010 #include <stdair/stdair_basic_types.hpp>
00011 #include <stdair/stdair_inventory_types.hpp>
00012 #include <stdair/stdair_maths_types.hpp>
00013 #include <stdair/stdair_service_types.hpp>
00014 #include <stdair/service/ServiceAbstract.hpp>
00015 // RMOL
00016 #include <rmol/RMOL_Types.hpp>
00017 
00019 namespace stdair {
00020   class STDAIR_Service;
00021   class LegCabin;
00022 }
00023 
00024 namespace RMOL {
00025 
00029   class RMOL_ServiceContext : public stdair::ServiceAbstract {
00035     friend class RMOL_Service;
00036     friend class FacRmolServiceContext;
00037     
00038   private:
00039     // ///////// Getters //////////
00043     stdair::STDAIR_ServicePtr_T getSTDAIR_ServicePtr() const {
00044       return _stdairService;
00045     }
00046 
00050     stdair::STDAIR_Service& getSTDAIR_Service() const;
00051 
00055     const bool getOwnStdairServiceFlag() const {
00056       return _ownStdairService;
00057     }
00058 
00059 
00060   private:    
00061     // ///////// Setters //////////
00065     void setSTDAIR_Service (stdair::STDAIR_ServicePtr_T ioSTDAIR_ServicePtr,
00066                             const bool iOwnStdairService) {
00067       _stdairService = ioSTDAIR_ServicePtr;
00068       _ownStdairService = iOwnStdairService;
00069     }
00070 
00074     void reset();
00075 
00076 
00077   private:
00078     // ///////// Display Methods //////////
00082     const std::string shortDisplay() const;
00083     
00087     const std::string display() const;
00088 
00092     const std::string describe() const;
00093 
00094 
00095   private:
00096     // /////// Construction / initialisation ////////
00100     RMOL_ServiceContext();
00104     RMOL_ServiceContext (const RMOL_ServiceContext&);
00105         
00109     ~RMOL_ServiceContext();
00110 
00111 
00112   private:
00113     // ///////////// Children ////////////
00117     stdair::STDAIR_ServicePtr_T _stdairService;
00118 
00122     bool _ownStdairService;
00123   };
00124 
00125 }
00126 #endif // __RMOL_SVC_RMOL_SERVICE_CONTEXT_HPP