]>
Commit | Line | Data |
---|---|---|
1 | /* | |
2 | * Copyright (C) 1996-2023 The Squid Software Foundation and contributors | |
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. | |
7 | */ | |
8 | ||
9 | /* DEBUG: section 93 eCAP Interface */ | |
10 | ||
11 | #ifndef SQUID_ECAP_HOST_H | |
12 | #define SQUID_ECAP_HOST_H | |
13 | ||
14 | #include <libecap/host/host.h> | |
15 | ||
16 | namespace Adaptation | |
17 | { | |
18 | namespace Ecap | |
19 | { | |
20 | ||
21 | // Squid wrapper, providing host application functionality to eCAP services. | |
22 | class Host : public libecap::host::Host | |
23 | { | |
24 | public: | |
25 | /* libecap::host::Host API */ | |
26 | std::string uri() const override; // unique across all vendors | |
27 | void describe(std::ostream &os) const override; // free-format info | |
28 | void noteVersionedService(const char *libEcapVersion, const libecap::weak_ptr<libecap::adapter::Service> &s) override; | |
29 | std::ostream *openDebug(libecap::LogVerbosity lv) override; | |
30 | void closeDebug(std::ostream *debug) override; | |
31 | typedef libecap::shared_ptr<libecap::Message> MessagePtr; | |
32 | MessagePtr newRequest() const override; | |
33 | MessagePtr newResponse() const override; | |
34 | ||
35 | static void Register(); ///< register adaptation host | |
36 | ||
37 | private: | |
38 | Host(); | |
39 | Host (const Host&); ///< not implemented | |
40 | Host& operator= (const Host&); ///< not implemented | |
41 | }; | |
42 | ||
43 | extern const libecap::Name protocolInternal; | |
44 | extern const libecap::Name protocolCacheObj; | |
45 | extern const libecap::Name protocolIcp; | |
46 | extern const libecap::Name protocolIcy; | |
47 | extern const libecap::Name protocolUnknown; | |
48 | #if USE_HTCP | |
49 | extern const libecap::Name protocolHtcp; | |
50 | #endif | |
51 | extern const libecap::Name metaBypassable; ///< an ecap_service parameter | |
52 | ||
53 | } // namespace Ecap | |
54 | } // namespace Adaptation | |
55 | ||
56 | #endif /* SQUID_ECAP_HOST_H */ | |
57 |