]>
Commit | Line | Data |
---|---|---|
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 |
11 | namespace Adaptation |
12 | { | |
e1381638 AJ |
13 | namespace Ecap |
14 | { | |
fdc96a39 AR |
15 | |
16 | // Squid wrapper, providing host application functionality to eCAP services. | |
17 | class Host : public libecap::host::Host | |
18 | { | |
19 | public: | |
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 | ||
38 | private: | |
39 | Host(); | |
40 | Host (const Host&); ///< not implemented | |
41 | Host& operator= (const Host&); ///< not implemented | |
fdc96a39 AR |
42 | }; |
43 | ||
530f96dd AR |
44 | extern const libecap::Name protocolInternal; |
45 | extern const libecap::Name protocolCacheObj; | |
46 | extern const libecap::Name protocolIcp; | |
47 | #if USE_HTCP | |
48 | extern const libecap::Name protocolHtcp; | |
49 | #endif | |
50 | ||
fdc96a39 | 51 | } // namespace Ecap |
574b508c | 52 | } // namespace Adaptation |
fdc96a39 AR |
53 | |
54 | #endif /* SQUID_ECAP_HOST_H */ |