OFFIS DCMTK  Version 3.6.0
apndimpl.h
Go to the documentation of this file.
1 // Module: Log4CPLUS
2 // File: appenderattachableimpl.h
3 // Created: 6/2001
4 // Author: Tad E. Smith
5 //
6 //
7 // Copyright 2001-2009 Tad E. Smith
8 //
9 // Licensed under the Apache License, Version 2.0 (the "License");
10 // you may not use this file except in compliance with the License.
11 // You may obtain a copy of the License at
12 //
13 // http://www.apache.org/licenses/LICENSE-2.0
14 //
15 // Unless required by applicable law or agreed to in writing, software
16 // distributed under the License is distributed on an "AS IS" BASIS,
17 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 // See the License for the specific language governing permissions and
19 // limitations under the License.
20 
23 #ifndef _LOG4CPLUS_HELPERS_APPENDER_ATTACHABLE_IMPL_HEADER_
24 #define _LOG4CPLUS_HELPERS_APPENDER_ATTACHABLE_IMPL_HEADER_
25 
26 #include "dcmtk/oflog/config.h"
27 #include "dcmtk/oflog/layout.h"
28 #include "dcmtk/oflog/tstring.h"
33 
34 //#include <memory>
35 //#include <vector>
36 
37 
38 namespace log4cplus {
39  namespace helpers {
40 
44  class LOG4CPLUS_EXPORT AppenderAttachableImpl
47  {
48  public:
49  // Data
50  LOG4CPLUS_MUTEX_PTR_DECLARE appender_list_mutex;
51 
52  // Ctors
54 
55  // Dtor
56  virtual ~AppenderAttachableImpl();
57 
58  // Methods
63  virtual void addAppender(SharedAppenderPtr newAppender);
64 
68  virtual SharedAppenderPtrList getAllAppenders();
69 
76  virtual SharedAppenderPtr getAppender(const log4cplus::tstring& name);
77 
81  virtual void removeAllAppenders();
82 
86  virtual void removeAppender(SharedAppenderPtr appender);
87 
92  virtual void removeAppender(const log4cplus::tstring& name);
93 
97  int appendLoopOnAppenders(const spi::InternalLoggingEvent& event) const;
98 
99  protected:
100  // Types
102  typedef OFListIterator(SharedAppenderPtr) ListIteratorType;
103  typedef OFListConstIterator(SharedAppenderPtr) ListConstIteratorType;
104 
105  // Data
108  }; // end class AppenderAttachableImpl
109 
110  } // end namespace helpers
111 } // end namespace log4cplus
112 
113 #endif // _LOG4CPLUS_HELPERS_APPENDER_ATTACHABLE_IMPL_HEADER_
114 


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2