]> git.ipfire.org Git - thirdparty/squid.git/blame - src/adaptation/ecap/Config.h
Source Format Enforcement (#763)
[thirdparty/squid.git] / src / adaptation / ecap / Config.h
CommitLineData
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
19namespace Adaptation
20{
e1381638
AJ
21namespace Ecap
22{
fdc96a39 23
4e2c215c 24/// eCAP service configuration
ec4d1a1d
A
25class ServiceConfig: public Adaptation::ServiceConfig
26{
e1e90d26
AR
27public:
28 // Adaptation::ServiceConfig API
29 virtual bool grokExtension(const char *name, const char *value);
30
31public:
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
38class Config: public Adaptation::Config
39{
40
41public:
42 Config();
43 ~Config();
44
7e8c4ee9 45 virtual bool finalize();
fdc96a39 46
e1e90d26
AR
47protected:
48 virtual Adaptation::ServiceConfig *newServiceConfig() const;
49
fdc96a39
AR
50private:
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
57extern Config TheConfig;
58
59} // namespace Ecap
574b508c 60} // namespace Adaptation
fdc96a39
AR
61
62#endif /* SQUID_ECAP_CONFIG_H */
f53969cc 63