NDS3  1.0.0
API reference manual
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
logStreamGetterImpl.h
1 /*
2  * Nominal Device Support v3 (NDS3)
3  *
4  * Copyright (c) 2015 Cosylab d.d.
5  *
6  * For more information about the license please refer to the license.txt
7  * file included in the distribution.
8  */
9 
10 #ifndef NDSLOGSTREAMGETTERIMPL_H
11 #define NDSLOGSTREAMGETTERIMPL_H
12 
13 #include <ostream>
14 #include <array>
15 #include "nds3/definitions.h"
16 
17 namespace nds
18 {
19 
20 class BaseImpl;
21 
22 
23 class NDS3_API LogStreamGetterImpl
24 {
25 public:
26  LogStreamGetterImpl();
27 
28  virtual ~LogStreamGetterImpl();
29 
41  std::ostream* getLogStream(const logLevel_t logLevel);
42 
43 protected:
44  virtual std::ostream* createLogStream(const logLevel_t logLevel) = 0;
45 
51 private:
52  static void deleteLogger(void* logger);
53 
57  std::array<pthread_key_t, (size_t)logLevel_t::none> m_loggersKeys;
58 
59 
60 };
61 }
62 #endif // NDSLOGSTREAMGETTERIMPL_H
logLevel_t
Defines the severities of the log information.
Definition: definitions.h:80
Defines all the enumeration and common types used across the NDS library.