]>
Commit | Line | Data |
---|---|---|
fdc96a39 | 1 | /* |
bbc27441 AJ |
2 | * Copyright (C) 1996-2014 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. | |
fdc96a39 AR |
7 | */ |
8 | ||
bbc27441 AJ |
9 | /* DEBUG: section 93 eCAP Interface */ |
10 | ||
fdc96a39 AR |
11 | #ifndef SQUID_ECAP_HOST_H |
12 | #define SQUID_ECAP_HOST_H | |
13 | ||
14 | #include <libecap/host/host.h> | |
15 | ||
af6a12ee AJ |
16 | namespace Adaptation |
17 | { | |
e1381638 AJ |
18 | namespace Ecap |
19 | { | |
fdc96a39 AR |
20 | |
21 | // Squid wrapper, providing host application functionality to eCAP services. | |
22 | class Host : public libecap::host::Host | |
23 | { | |
24 | public: | |
8442a9b2 | 25 | /* libecap::host::Host API */ |
26ac0430 AJ |
26 | virtual std::string uri() const; // unique across all vendors |
27 | virtual void describe(std::ostream &os) const; // free-format info | |
0a720258 | 28 | virtual void noteVersionedService(const char *libEcapVersion, const libecap::weak_ptr<libecap::adapter::Service> &s); |
26ac0430 AJ |
29 | virtual std::ostream *openDebug(libecap::LogVerbosity lv); |
30 | virtual void closeDebug(std::ostream *debug); | |
cc7b2f6c AR |
31 | typedef libecap::shared_ptr<libecap::Message> MessagePtr; |
32 | virtual MessagePtr newRequest() const; | |
33 | virtual MessagePtr newResponse() const; | |
34 | ||
76fc7e57 AJ |
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 | |
fdc96a39 AR |
41 | }; |
42 | ||
530f96dd AR |
43 | extern const libecap::Name protocolInternal; |
44 | extern const libecap::Name protocolCacheObj; | |
45 | extern const libecap::Name protocolIcp; | |
555aedbf AR |
46 | extern const libecap::Name protocolIcy; |
47 | extern const libecap::Name protocolUnknown; | |
530f96dd AR |
48 | #if USE_HTCP |
49 | extern const libecap::Name protocolHtcp; | |
50 | #endif | |
22fff3bf | 51 | extern const libecap::Name metaBypassable; ///< an ecap_service parameter |
530f96dd | 52 | |
fdc96a39 | 53 | } // namespace Ecap |
574b508c | 54 | } // namespace Adaptation |
fdc96a39 AR |
55 | |
56 | #endif /* SQUID_ECAP_HOST_H */ |