log4cpp  1.1.3
AppendersFactory.hh
Go to the documentation of this file.
1 /*
2  * Copyright 2002, LifeLine Networks BV (www.lifeline.nl). All rights reserved.
3  * Copyright 2002, Bastiaan Bakker. All rights reserved.
4  *
5  * See the COPYING file for the terms of usage and distribution.
6  */
7 
8 
9 #if !defined(h_738a42b1_1502_4483_948a_a69e7bbbee6a)
10 #define h_738a42b1_1502_4483_948a_a69e7bbbee6a
11 
12 #include <string>
13 #include <map>
14 #include <memory>
15 #include "Portability.hh"
16 #include "Appender.hh"
17 #include "FactoryParams.hh"
18 
19 namespace log4cpp
20 {
22  {
23  public:
25  typedef std::auto_ptr<Appender> (*create_function_t)(const params_t& params);
26 
27  static AppendersFactory& getInstance();
28  void registerCreator(const std::string& class_name, create_function_t create_function);
29  std::auto_ptr<Appender> create(const std::string& class_name, const params_t& params);
30  bool registered(const std::string& class_name) const;
31 
32  private:
33  AppendersFactory(){};
34 
35  typedef std::map<std::string, create_function_t> creators_t;
36  typedef creators_t::const_iterator const_iterator;
37 
38  creators_t creators_;
39  };
40 }
41 
42 #endif // h_738a42b1_1502_4483_948a_a69e7bbbee6a
#define LOG4CPP_EXPORT
Definition: Export.hh:26
Definition: AppendersFactory.hh:22
FactoryParams params_t
Definition: AppendersFactory.hh:24
Definition: FactoryParams.hh:62
The top level namespace for all 'Log for C++' types and classes.
Definition: AbortAppender.hh:16