]> git.ipfire.org Git - thirdparty/squid.git/blame - src/mgr/QueryParam.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / mgr / QueryParam.h
CommitLineData
b8151fa1 1/*
bde978a6 2 * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
b8151fa1 3 *
bbc27441
AJ
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.
b8151fa1
CT
7 */
8
bbc27441
AJ
9/* DEBUG: section 16 Cache Manager API */
10
b8151fa1
CT
11#ifndef SQUID_MGR_QUERY_PARAM_H
12#define SQUID_MGR_QUERY_PARAM_H
13
8bf217bd 14#include "base/RefCount.h"
b8151fa1 15#include "ipc/forward.h"
b8151fa1 16
b8151fa1
CT
17namespace Mgr
18{
19
20class QueryParam: public RefCountable
21{
22public:
23 typedef enum {ptInt = 1, ptString} Type;
24 typedef RefCount<QueryParam> Pointer;
25
26public:
27 QueryParam(Type aType): type(aType) {}
28 virtual ~QueryParam() {}
29 virtual void pack(Ipc::TypedMsgHdr& msg) const = 0; ///< store parameter into msg
30 virtual void unpackValue(const Ipc::TypedMsgHdr& msg) = 0; ///< load parameter value from msg
31
32private:
33 QueryParam(const QueryParam&); // not implemented
34 QueryParam& operator= (const QueryParam&); // not implemented
35
36public:
37 Type type;
38};
39
40} // namespace Mgr
41
42#endif /* SQUID_MGR_QUERY_PARAM_H */
f53969cc 43