]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/mgr/QueryParams.h
2 * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
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.
9 /* DEBUG: section 16 Cache Manager API */
11 #ifndef SQUID_MGR_QUERY_PARAMS_H
12 #define SQUID_MGR_QUERY_PARAMS_H
14 #include "ipc/forward.h"
15 #include "mgr/QueryParam.h"
16 #include "SquidString.h"
26 typedef std::pair
<String
, QueryParam::Pointer
> Param
;
27 typedef std::vector
<Param
> Params
;
30 /// returns query parameter by name
31 QueryParam::Pointer
get(const String
& name
) const;
32 void pack(Ipc::TypedMsgHdr
& msg
) const; ///< store params into msg
33 void unpack(const Ipc::TypedMsgHdr
& msg
); ///< load params from msg
34 /// parses the query string parameters
35 static bool Parse(const String
& aParamsStr
, QueryParams
& aParams
);
38 /// find query parameter by name
39 Params::const_iterator
find(const String
& name
) const;
40 /// creates a parameter of the specified type
41 static QueryParam::Pointer
CreateParam(QueryParam::Type aType
);
42 /// parses string like "param=value"; returns true if success
43 static bool ParseParam(const String
& paramStr
, Param
& param
);
51 #endif /* SQUID_MGR_QUERY_PARAMS_H */