libqicore-api  2.4.3.28
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
logmanager.hpp
Go to the documentation of this file.
1 /*
2 ** Author(s):
3 ** - Herve Cuche <hcuche@aldebaran-robotics.com>
4 ** - Matthieu Nottale <mnottale@aldebaran-robotics.com>
5 **
6 ** Copyright (C) 2013 Aldebaran Robotics
7 */
8 
9 #ifndef LOGMANAGER_HPP_
10 #define LOGMANAGER_HPP_
11 
12 #include <qi/macro.hpp>
13 #include <qicore/api.hpp>
14 #include <qicore/logmessage.hpp>
15 
16 #include <qi/anyobject.hpp>
17 
18 namespace qi
19 {
20 class LogListener;
21 typedef qi::Object<LogListener> LogListenerPtr;
23 typedef qi::Object<LogProvider> LogProviderPtr;
25 {
26 public:
27  virtual ~LogManager()
28  {
29  }
30 
31  virtual void log(const std::vector<LogMessage>& msgs) = 0;
32 
33  virtual LogListenerPtr createListener() = 0;
37  virtual QI_API_DEPRECATED LogListenerPtr getListener() = 0;
38  virtual int addProvider(LogProviderPtr provider) = 0;
39  virtual void removeProvider(int idProvider) = 0;
40 };
41 
42 typedef qi::Object<LogManager> LogManagerPtr;
43 } // !qi
44 
45 namespace qi
46 {
47 namespace detail
48 {
49  template <>
50  struct QICORE_API ForceProxyInclusion<qi::LogManager>
51  {
52  bool dummyCall();
53  };
54 }
55 }
56 
57 #endif // !LOGMANAGER_HPP_
qi::Object< LogProvider > LogProviderPtr
Definition: logmanager.hpp:22
qi::Object< LogListener > LogListenerPtr
Definition: loglistener.hpp:58
virtual ~LogManager()
Definition: logmanager.hpp:27
qi::Object< LogManager > LogManagerPtr
Definition: logmanager.hpp:42
#define QICORE_API
Definition: api.hpp:14