log4tango
5.0.0
Main Page
Namespaces
Classes
Files
File List
File Members
lib
cpp
log4tango
include
log4tango
AppenderAttachable.hh
Go to the documentation of this file.
1
//
2
// AppenderAttachable.hh
3
//
4
// Copyright (C) : 2000 - 2002
5
// LifeLine Networks BV (www.lifeline.nl). All rights reserved.
6
// Bastiaan Bakker. All rights reserved.
7
//
8
// 2004,2005,2006,2007,2008,2009,2010,2011,2012
9
// Synchrotron SOLEIL
10
// L'Orme des Merisiers
11
// Saint-Aubin - BP 48 - France
12
//
13
// This file is part of log4tango.
14
//
15
// Log4ango is free software: you can redistribute it and/or modify
16
// it under the terms of the GNU Lesser General Public License as published by
17
// the Free Software Foundation, either version 3 of the License, or
18
// (at your option) any later version.
19
//
20
// Log4tango is distributed in the hope that it will be useful,
21
// but WITHOUT ANY WARRANTY; without even the implied warranty of
22
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23
// GNU Lesser General Public License for more details.
24
//
25
// You should have received a copy of the GNU Lesser General Public License
26
// along with Log4Tango. If not, see <http://www.gnu.org/licenses/>.
27
28
#ifndef _LOG4TANGO_APPENDER_ATTACHABLE_H
29
#define _LOG4TANGO_APPENDER_ATTACHABLE_H
30
31
#include <
log4tango/Portability.hh
>
32
#include <map>
33
#include <vector>
34
#include <
log4tango/Appender.hh
>
35
#include <
log4tango/threading/Threading.hh
>
36
37
namespace
log4tango {
38
42
typedef
std::map<std::string, Appender*>
AppenderMap
;
43
47
typedef
AppenderMap::iterator
AppenderMapIterator
;
48
52
typedef
std::vector<Appender*>
AppenderList
;
53
54
55
//-----------------------------------------------------------------------------
56
// class : AppenderAttachable
57
//-----------------------------------------------------------------------------
58
class
LOG4TANGO_EXPORT
AppenderAttachable
59
{
60
public
:
61
65
AppenderAttachable
();
66
70
virtual
~
AppenderAttachable
();
71
76
void
add_appender (
Appender
* appender);
77
84
AppenderList
get_all_appenders (
void
);
85
93
Appender
* get_appender (
const
std::string& name);
94
99
bool
is_attached (
Appender
* appender);
100
104
void
remove_all_appenders();
105
109
void
remove_appender(
Appender
* appender);
110
115
void
remove_appender(
const
std::string& name);
116
117
protected
:
118
122
AppenderMap
_appenders
;
123
127
threading::Mutex
_appendersMutex
;
128
129
AppenderAttachable
(
const
AppenderAttachable
& other);
130
AppenderAttachable
& operator=(
const
AppenderAttachable
& other);
131
};
132
133
}
// namespace log4tango
134
135
#endif // _LOG4TANGO_APPENDER_ATTACHABLE_H
Generated on Sun Mar 30 2014 16:20:27 for log4tango by
1.8.1.2