RSC
0.9.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
LoggerProxy.h
Go to the documentation of this file.
1
/* ============================================================
2
*
3
* This file is a part of the RSC project.
4
*
5
* Copyright (C) 2011 by Johannes Wienke <jwienke at techfak dot uni-bielefeld dot de>
6
*
7
* This file may be licensed under the terms of the
8
* GNU Lesser General Public License Version 3 (the ``LGPL''),
9
* or (at your option) any later version.
10
*
11
* Software distributed under the License is distributed
12
* on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
13
* express or implied. See the LGPL for the specific language
14
* governing rights and limitations.
15
*
16
* You should have received a copy of the LGPL along with this
17
* program. If not, go to http://www.gnu.org/licenses/lgpl.html
18
* or write to the Free Software Foundation, Inc.,
19
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
*
21
* The development of this software was supported by:
22
* CoR-Lab, Research Institute for Cognition and Robotics
23
* Bielefeld University
24
*
25
* ============================================================ */
26
27
#pragma once
28
29
#include <boost/enable_shared_from_this.hpp>
30
#include <boost/shared_ptr.hpp>
31
32
#include "
Logger.h
"
33
34
namespace
rsc {
35
namespace
logging {
36
43
class
LoggerProxy
:
public
Logger
,
public
boost::enable_shared_from_this<
44
LoggerProxy> {
45
public
:
46
57
class
SetLevelCallback
{
58
public
:
59
virtual
~SetLevelCallback
();
60
virtual
void
call
(boost::shared_ptr<LoggerProxy> proxy,
61
const
Logger::Level
& level) = 0;
62
};
63
typedef
boost::shared_ptr<SetLevelCallback>
SetLevelCallbackPtr
;
64
70
LoggerProxy
(
LoggerPtr
logger
,
SetLevelCallbackPtr
callback
);
71
virtual
~LoggerProxy
();
72
77
78
virtual
Logger::Level
getLevel
()
const
;
79
virtual
void
setLevel
(
const
Logger::Level
& level);
80
virtual
std::string
getName
()
const
;
81
virtual
void
setName
(
const
std::string& name);
82
virtual
void
log
(
const
Logger::Level
& level,
const
std::string& msg);
83
85
90
LoggerPtr
getLogger
()
const
;
91
98
void
setLogger
(
LoggerPtr
logger
);
99
100
private
:
101
106
LoggerPtr
logger
;
107
108
SetLevelCallbackPtr
callback
;
109
110
};
111
112
typedef
boost::shared_ptr<LoggerProxy>
LoggerProxyPtr
;
113
114
}
115
}
rsc
logging
LoggerProxy.h
Generated on Tue Aug 6 2013 15:04:20 for RSC by
1.8.1.2