]>
Commit | Line | Data |
---|---|---|
fdc96a39 | 1 | /* |
f70aedc4 | 2 | * Copyright (C) 1996-2021 The Squid Software Foundation and contributors |
bbc27441 AJ |
3 | * |
4 | * Squid software is distributed under GPLv2+ license and includes | |
5 | * contributions from numerous individuals and organizations. | |
6 | * Please see the COPYING and CONTRIBUTORS files for details. | |
fdc96a39 AR |
7 | */ |
8 | ||
bbc27441 AJ |
9 | /* DEBUG: section 93 eCAP Interface */ |
10 | ||
fdc96a39 AR |
11 | #ifndef SQUID_ECAP_CONFIG_H |
12 | #define SQUID_ECAP_CONFIG_H | |
13 | ||
14 | #include "adaptation/Config.h" | |
e1e90d26 AR |
15 | #include "adaptation/ServiceConfig.h" |
16 | #include <list> | |
17 | #include <utility> | |
fdc96a39 | 18 | |
af6a12ee AJ |
19 | namespace Adaptation |
20 | { | |
e1381638 AJ |
21 | namespace Ecap |
22 | { | |
fdc96a39 | 23 | |
4e2c215c | 24 | /// eCAP service configuration |
ec4d1a1d A |
25 | class ServiceConfig: public Adaptation::ServiceConfig |
26 | { | |
e1e90d26 AR |
27 | public: |
28 | // Adaptation::ServiceConfig API | |
29 | virtual bool grokExtension(const char *name, const char *value); | |
30 | ||
31 | public: | |
32 | typedef std::pair<std::string, std::string> Extension; // name=value in cfg | |
33 | typedef std::list<Extension> Extensions; | |
34 | Extensions extensions; | |
35 | }; | |
36 | ||
4e2c215c | 37 | /// General eCAP configuration |
fdc96a39 AR |
38 | class Config: public Adaptation::Config |
39 | { | |
40 | ||
41 | public: | |
42 | Config(); | |
43 | ~Config(); | |
44 | ||
7e8c4ee9 | 45 | virtual bool finalize(); |
fdc96a39 | 46 | |
e1e90d26 AR |
47 | protected: |
48 | virtual Adaptation::ServiceConfig *newServiceConfig() const; | |
49 | ||
fdc96a39 AR |
50 | private: |
51 | Config(const Config &); // not implemented | |
52 | Config &operator =(const Config &); // not implemented | |
53 | ||
6666da11 | 54 | virtual Adaptation::ServicePointer createService(const ServiceConfigPointer &cfg); |
fdc96a39 AR |
55 | }; |
56 | ||
57 | extern Config TheConfig; | |
58 | ||
59 | } // namespace Ecap | |
574b508c | 60 | } // namespace Adaptation |
fdc96a39 AR |
61 | |
62 | #endif /* SQUID_ECAP_CONFIG_H */ | |
f53969cc | 63 |