]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/adaptation/ecap/Host.h
2 * Copyright (C) 1996-2017 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 virtual std::string
uri() const; // unique across all vendors
27 virtual void describe(std::ostream
&os
) const; // free-format info
28 virtual void noteVersionedService(const char *libEcapVersion
, const libecap::weak_ptr
<libecap::adapter::Service
> &s
);
29 virtual std::ostream
*openDebug(libecap::LogVerbosity lv
);
30 virtual void closeDebug(std::ostream
*debug
);
31 typedef libecap::shared_ptr
<libecap::Message
> MessagePtr
;
32 virtual MessagePtr
newRequest() const;
33 virtual MessagePtr
newResponse() const;
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 */