RMOL Logo  1.00.10
C++ library of Revenue Management and Optimisation classes and functions
Loading...
Searching...
No Matches
RMOL_ServiceContext.hpp
Go to the documentation of this file.
1#ifndef __RMOL_SVC_RMOL_SERVICE_CONTEXT_HPP
2#define __RMOL_SVC_RMOL_SERVICE_CONTEXT_HPP
3
4// //////////////////////////////////////////////////////////////////////
5// Import section
6// //////////////////////////////////////////////////////////////////////
7// STL
8#include <string>
9// StdAir
10#include <stdair/stdair_basic_types.hpp>
11#include <stdair/stdair_inventory_types.hpp>
12#include <stdair/stdair_maths_types.hpp>
13#include <stdair/stdair_service_types.hpp>
14#include <stdair/service/ServiceAbstract.hpp>
15// RMOL
16#include <rmol/RMOL_Types.hpp>
17
19namespace stdair {
20 class STDAIR_Service;
21 class LegCabin;
22}
23
24namespace RMOL {
25
29 class RMOL_ServiceContext : public stdair::ServiceAbstract {
35 friend class RMOL_Service;
37
38 private:
39 // ///////// Getters //////////
43 stdair::STDAIR_ServicePtr_T getSTDAIR_ServicePtr() const {
44 return _stdairService;
45 }
46
50 stdair::STDAIR_Service& getSTDAIR_Service() const;
51
55 const bool getOwnStdairServiceFlag() const {
56 return _ownStdairService;
57 }
58
59
60 private:
61 // ///////// Setters //////////
65 void setSTDAIR_Service (stdair::STDAIR_ServicePtr_T ioSTDAIR_ServicePtr,
66 const bool iOwnStdairService) {
67 _stdairService = ioSTDAIR_ServicePtr;
68 _ownStdairService = iOwnStdairService;
69 }
70
74 void reset();
75
76
77 private:
78 // ///////// Display Methods //////////
82 const std::string shortDisplay() const;
83
87 const std::string display() const;
88
92 const std::string describe() const;
93
94
95 private:
96 // /////// Construction / initialisation ////////
100 RMOL_ServiceContext();
104 RMOL_ServiceContext (const RMOL_ServiceContext&);
105
109 ~RMOL_ServiceContext();
110
111
112 private:
113 // ///////////// Children ////////////
117 stdair::STDAIR_ServicePtr_T _stdairService;
118
122 bool _ownStdairService;
123 };
124
125}
126#endif // __RMOL_SVC_RMOL_SERVICE_CONTEXT_HPP
Forward declarations.
Factory for the service context.
Interface for the RMOL Services.
Inner class holding the context for the RMOL Service object.