admin
2022-08-18 67a5e3d825fde17b7b00906ce42b0bd8cafebc4e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*
 * Copyright 2002, LifeLine Networks BV (www.lifeline.nl). All rights reserved.
 * Copyright 2002, Bastiaan Bakker. All rights reserved.
 *
 * See the COPYING file for the terms of usage and distribution.
 */
 
#if !defined(h_dd233b8b_5c59_4956_9393_6581c95f9779)
#define h_dd233b8b_5c59_4956_9393_6581c95f9779
 
#include <string>
#include <map>
#include <memory>
#include "Portability.hh"
#include "TriggeringEventEvaluator.hh"
#include "FactoryParams.hh"
 
namespace log4cpp
{
   class LOG4CPP_EXPORT TriggeringEventEvaluatorFactory
   {
      public:
         typedef FactoryParams params_t;
         typedef std::auto_ptr<TriggeringEventEvaluator> (*create_function_t)(const params_t& params);
 
         static TriggeringEventEvaluatorFactory& getInstance();
         void registerCreator(const std::string& class_name, create_function_t create_function);
         std::auto_ptr<TriggeringEventEvaluator> create(const std::string& class_name, const params_t& params);
         bool registered(const std::string& class_name) const;
 
      private:
         TriggeringEventEvaluatorFactory(){};
 
         typedef std::map<std::string, create_function_t> creators_t;
         typedef creators_t::const_iterator const_iterator;
 
         creators_t creators_;
   };
}
 
#endif // h_dd233b8b_5c59_4956_9393_6581c95f9779