]> git.ipfire.org Git - thirdparty/squid.git/blame - src/adaptation/ecap/Host.h
Import external libecap in adaptation/ecap/, where it belongs.
[thirdparty/squid.git] / src / adaptation / ecap / Host.h
CommitLineData
fdc96a39
AR
1/*
2 * $Id$
b510f3a1 3 * DEBUG: section 93 eCAP Interface
fdc96a39
AR
4 */
5
6#ifndef SQUID_ECAP_HOST_H
7#define SQUID_ECAP_HOST_H
8
9#include <libecap/host/host.h>
10
af6a12ee
AJ
11namespace Adaptation
12{
e1381638
AJ
13namespace Ecap
14{
fdc96a39
AR
15
16// Squid wrapper, providing host application functionality to eCAP services.
17class Host : public libecap::host::Host
18{
19public:
26ac0430
AJ
20 // About
21 virtual std::string uri() const; // unique across all vendors
22 virtual void describe(std::ostream &os) const; // free-format info
fdc96a39 23
26ac0430
AJ
24 // Service management
25 virtual void noteService(const libecap::weak_ptr<libecap::adapter::Service> &s);
530f96dd 26
26ac0430
AJ
27 // Logging
28 virtual std::ostream *openDebug(libecap::LogVerbosity lv);
29 virtual void closeDebug(std::ostream *debug);
76fc7e57 30
cc7b2f6c
AR
31 // Message creation
32 typedef libecap::shared_ptr<libecap::Message> MessagePtr;
33 virtual MessagePtr newRequest() const;
34 virtual MessagePtr newResponse() const;
35
76fc7e57
AJ
36 static void Register(); ///< register adaptation host
37
38private:
39 Host();
40 Host (const Host&); ///< not implemented
41 Host& operator= (const Host&); ///< not implemented
fdc96a39
AR
42};
43
530f96dd
AR
44extern const libecap::Name protocolInternal;
45extern const libecap::Name protocolCacheObj;
46extern const libecap::Name protocolIcp;
47#if USE_HTCP
48extern const libecap::Name protocolHtcp;
49#endif
22fff3bf 50extern const libecap::Name metaBypassable; ///< an ecap_service parameter
530f96dd 51
fdc96a39 52} // namespace Ecap
574b508c 53} // namespace Adaptation
fdc96a39
AR
54
55#endif /* SQUID_ECAP_HOST_H */