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