]> git.ipfire.org Git - thirdparty/squid.git/blame - src/adaptation/ecap/Config.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / adaptation / ecap / Config.h
CommitLineData
fdc96a39
AR
1/*
2 * $Id$
b510f3a1 3 * DEBUG: section 93 eCAP Interface
fdc96a39
AR
4 */
5
6#ifndef SQUID_ECAP_CONFIG_H
7#define SQUID_ECAP_CONFIG_H
8
9#include "adaptation/Config.h"
e1e90d26
AR
10#include "adaptation/ServiceConfig.h"
11#include <list>
12#include <utility>
fdc96a39 13
af6a12ee
AJ
14namespace Adaptation
15{
e1381638
AJ
16namespace Ecap
17{
fdc96a39 18
4e2c215c 19/// eCAP service configuration
ec4d1a1d
A
20class ServiceConfig: public Adaptation::ServiceConfig
21{
e1e90d26
AR
22public:
23 // Adaptation::ServiceConfig API
24 virtual bool grokExtension(const char *name, const char *value);
25
26public:
27 typedef std::pair<std::string, std::string> Extension; // name=value in cfg
28 typedef std::list<Extension> Extensions;
29 Extensions extensions;
30};
31
4e2c215c 32/// General eCAP configuration
fdc96a39
AR
33class Config: public Adaptation::Config
34{
35
36public:
37 Config();
38 ~Config();
39
7e8c4ee9 40 virtual bool finalize();
fdc96a39 41
e1e90d26
AR
42protected:
43 virtual Adaptation::ServiceConfig *newServiceConfig() const;
44
fdc96a39
AR
45private:
46 Config(const Config &); // not implemented
47 Config &operator =(const Config &); // not implemented
48
6666da11 49 virtual Adaptation::ServicePointer createService(const ServiceConfigPointer &cfg);
fdc96a39
AR
50};
51
52extern Config TheConfig;
53
54} // namespace Ecap
574b508c 55} // namespace Adaptation
fdc96a39
AR
56
57#endif /* SQUID_ECAP_CONFIG_H */