]>
Commit | Line | Data |
---|---|---|
1 | /* | |
2 | * Copyright (C) 1996-2025 The Squid Software Foundation and contributors | |
3 | * | |
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. | |
7 | */ | |
8 | ||
9 | /* DEBUG: section 16 Cache Manager API */ | |
10 | ||
11 | #ifndef SQUID_SRC_MGR_QUERYPARAM_H | |
12 | #define SQUID_SRC_MGR_QUERYPARAM_H | |
13 | ||
14 | #include "base/RefCount.h" | |
15 | #include "ipc/forward.h" | |
16 | ||
17 | namespace Mgr | |
18 | { | |
19 | ||
20 | class QueryParam: public RefCountable | |
21 | { | |
22 | public: | |
23 | typedef enum {ptInt = 1, ptString} Type; | |
24 | typedef RefCount<QueryParam> Pointer; | |
25 | ||
26 | public: | |
27 | QueryParam(Type aType): type(aType) {} | |
28 | ~QueryParam() override {} | |
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 | ||
32 | private: | |
33 | QueryParam(const QueryParam&); // not implemented | |
34 | QueryParam& operator= (const QueryParam&); // not implemented | |
35 | ||
36 | public: | |
37 | Type type; | |
38 | }; | |
39 | ||
40 | } // namespace Mgr | |
41 | ||
42 | #endif /* SQUID_SRC_MGR_QUERYPARAM_H */ | |
43 |