StdAir Logo  0.45.1
C++ Standard Airline IT Object Library
STDAIR_ServiceContext.hpp
Go to the documentation of this file.
00001 #ifndef __STDAIR_SVC_STDAIRSERVICECONTEXT_HPP
00002 #define __STDAIR_SVC_STDAIRSERVICECONTEXT_HPP
00003 
00004 // //////////////////////////////////////////////////////////////////////
00005 // Import section
00006 // //////////////////////////////////////////////////////////////////////
00007 // STL
00008 #include <string>
00009 // StdAir
00010 #include <stdair/stdair_basic_types.hpp>
00011 #include <stdair/basic/BasLogParams.hpp>
00012 #include <stdair/basic/BasDBParams.hpp>
00013 #include <stdair/basic/ServiceInitialisationType.hpp>
00014 #include <stdair/service/ServiceAbstract.hpp>
00015 
00016 namespace stdair {
00017 
00019   class BomRoot;
00020   class EventQueue;
00021 
00025   class STDAIR_ServiceContext : public ServiceAbstract {
00029     friend class STDAIR_Service;
00030     friend class FacSTDAIRServiceContext;
00031     
00032   private:
00033     // ///////// Getters //////////
00037     BomRoot& getBomRoot() const;
00038 
00042     EventQueue& getEventQueue() const;
00043 
00047     const BasDBParams& getDBParams() const {
00048       return _dbParams;
00049     }
00050 
00054     const ServiceInitialisationType& getServiceInitialisationType() const {
00055       return _initType;
00056     }
00057 
00058 
00059   private:
00060     // ///////// Setters //////////
00064     void setDBParams (const BasDBParams& iDBParams) {
00065       _dbParams = iDBParams;
00066     }
00067 
00071     void setServiceInitialisationType (const ServiceInitialisationType& iSIT) {
00072       _initType = iSIT;
00073     }
00074 
00075     
00076   private:
00077     // ///////// Display Methods //////////
00081     const std::string shortDisplay() const;
00082     
00086     const std::string display() const;
00087 
00091     const std::string describe() const;
00092     
00093 
00094   private:
00095     // /////// Construction / initialisation ////////
00099     STDAIR_ServiceContext();
00100 
00107     STDAIR_ServiceContext (const STDAIR_ServiceContext&);
00108 
00112     ~STDAIR_ServiceContext();
00113 
00121     void init();
00122 
00129     void initBomRoot();
00130     
00137     void initEventQueue();
00138     
00139 
00140   private:
00141     // ///////////// Children ////////////
00145     BomRoot* _bomRoot;
00146 
00150     EventQueue* _eventQueue;
00151 
00155     BasDBParams _dbParams;
00156 
00170     ServiceInitialisationType _initType;
00171   };
00172 
00173 }
00174 #endif // __STDAIR_SVC_STDAIRSERVICECONTEXT_HPP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines