OFFIS DCMTK  Version 3.6.0
apndatch.h
Go to the documentation of this file.
1 // Module: Log4CPLUS
2 // File: appenderattachable.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_SPI_APPENDER_ATTACHABLE_HEADER_
24 #define _LOG4CPLUS_SPI_APPENDER_ATTACHABLE_HEADER_
25 
26 #include "dcmtk/oflog/config.h"
27 #include "dcmtk/oflog/appender.h"
28 #include "dcmtk/oflog/tstring.h"
30 //#include <vector>
31 
32 namespace log4cplus {
33  // Forward Declarations
34  typedef helpers::SharedObjectPtr<Appender> SharedAppenderPtr;
35  typedef OFList<log4cplus::SharedAppenderPtr> SharedAppenderPtrList;
36  typedef OFListIterator(log4cplus::SharedAppenderPtr) SharedAppenderPtrListIterator;
37 
38  namespace spi {
39 
43  class LOG4CPLUS_EXPORT AppenderAttachable {
44  public:
45  // Methods
49  virtual void addAppender(SharedAppenderPtr newAppender) = 0;
50 
54  virtual SharedAppenderPtrList getAllAppenders() = 0;
55 
59  virtual SharedAppenderPtr getAppender(const log4cplus::tstring& name) = 0;
60 
64  virtual void removeAllAppenders() = 0;
65 
69  virtual void removeAppender(SharedAppenderPtr appender) = 0;
70 
75  virtual void removeAppender(const log4cplus::tstring& name) = 0;
76 
77  // Dtor
78  virtual ~AppenderAttachable() = 0;
79  };
80 
81  } // end namespace spi
82 } // end namespace log4cplus
83 
84 #endif // _LOG4CPLUS_SPI_APPENDER_ATTACHABLE_HEADER_
85 


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