StdAir Logo  1.00.0
C++ Standard Airline IT Object Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BasLogParams.hpp
Go to the documentation of this file.
1 #ifndef __STDAIR_BAS_BASLOGPARAMS_HPP
2 #define __STDAIR_BAS_BASLOGPARAMS_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <iosfwd>
9 #include <string>
10 // Stdair
11 #include <stdair/stdair_log.hpp>
13 
14 namespace stdair {
15 
19  struct BasLogParams : public StructAbstract {
20  friend class Logger;
21  public:
22  // ///////// Getters ////////
26  const LOG::EN_LogLevel& getLogLevel() const {
27  return _logLevel;
28  }
29 
33  std::ostream& getLogStream() const {
34  return _logStream;
35  }
36 
40  const bool getForcedInitialisationFlag() const {
41  return _forceMultipleInit;
42  }
43 
44 
45  // ///////// Setters //////////
49  void setForcedInitialisationFlag (const bool iForceMultipleInstance) {
50  _forceMultipleInit = iForceMultipleInstance;
51  }
52 
53 
54  public:
55  // ///////// Busines methods ////////
59  bool check() const;
60 
61 
62  public:
63  // ///////// Display methods ////////
67  const std::string describe() const;
68 
72  std::string toShortString() const;
73 
77  std::string toString() const;
78 
79 
80  public:
89  BasLogParams (const LOG::EN_LogLevel iLogLevel,
90  std::ostream& ioLogOutputStream,
91  const bool iForceMultipleInstance = false);
92 
96  BasLogParams (const BasLogParams&);
97 
101  ~BasLogParams();
102 
103  private:
107  BasLogParams();
108 
109 
110  private:
111  // /////// Attributes /////////
115  const LOG::EN_LogLevel _logLevel;
116 
120  std::ostream& _logStream;
121 
135  bool _forceMultipleInit;
136  };
137 
138 }
139 #endif // __STDAIR_BAS_BASLOGPARAMS_HPP