]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/adaptation/ecap/Host.h
0c3bc275d3c7bed2a4101f875da7fdce18b6cd52
2 * Copyright (C) 1996-2022 The Squid Software Foundation and contributors
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.
9 /* DEBUG: section 93 eCAP Interface */
11 #ifndef SQUID_ECAP_HOST_H
12 #define SQUID_ECAP_HOST_H
14 #include <libecap/host/host.h>
21 // Squid wrapper, providing host application functionality to eCAP services.
22 class Host
: public libecap::host::Host
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
;
35 static void Register(); ///< register adaptation host
39 Host (const Host
&); ///< not implemented
40 Host
& operator= (const Host
&); ///< not implemented
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
;
49 extern const libecap::Name protocolHtcp
;
51 extern const libecap::Name metaBypassable
; ///< an ecap_service parameter
54 } // namespace Adaptation
56 #endif /* SQUID_ECAP_HOST_H */