]> git.ipfire.org Git - thirdparty/squid.git/blob - src/mgr/QueryParam.h
Merged from parent (trunk 11270, circa 3.2.0.5+)
[thirdparty/squid.git] / src / mgr / QueryParam.h
1 /*
2 * $Id$
3 *
4 * DEBUG: section 16 Cache Manager API
5 *
6 */
7
8 #ifndef SQUID_MGR_QUERY_PARAM_H
9 #define SQUID_MGR_QUERY_PARAM_H
10
11 #include "ipc/forward.h"
12 #include "RefCount.h"
13
14
15 namespace Mgr
16 {
17
18 class QueryParam: public RefCountable
19 {
20 public:
21 typedef enum {ptInt = 1, ptString} Type;
22 typedef RefCount<QueryParam> Pointer;
23
24 public:
25 QueryParam(Type aType): type(aType) {}
26 virtual ~QueryParam() {}
27 virtual void pack(Ipc::TypedMsgHdr& msg) const = 0; ///< store parameter into msg
28 virtual void unpackValue(const Ipc::TypedMsgHdr& msg) = 0; ///< load parameter value from msg
29
30 private:
31 QueryParam(const QueryParam&); // not implemented
32 QueryParam& operator= (const QueryParam&); // not implemented
33
34 public:
35 Type type;
36 };
37
38 } // namespace Mgr
39
40 #endif /* SQUID_MGR_QUERY_PARAM_H */