You.i Engine
YiUrlQuery.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_URL_QUERY_H_
3 #define _YI_URL_QUERY_H_
4 
5 #include "framework/YiPredef.h"
6 #include "network/YiUrl.h"
7 #include "utility/YiString.h"
8 
29 {
30 public:
31  CYIUrlQuery();
32  CYIUrlQuery(const CYIUrl &url);
33 
41  CYIUrlQuery(const CYIString &query, CYIUrl::ENCODING eEncoding = CYIUrl::ENCODED);
42 
43  bool operator==(const CYIUrlQuery &other) const;
44  bool operator!=(const CYIUrlQuery &other) const;
45 
57  void Add(const CYIString &key, const CYIString &value, CYIUrl::ENCODING eEncoding = CYIUrl::DECODED);
58 
66  void Remove(const CYIString &rKey, CYIUrl::ENCODING eEncoding = CYIUrl::DECODED);
67 
75  void RemoveAll(const CYIString &rKey, CYIUrl::ENCODING eEncoding = CYIUrl::DECODED);
76 
84  const CYIString &GetValue(const CYIString &key, bool *pbNotFound = nullptr) const;
85 
93  CYIString GetValue(const CYIString &key, CYIUrl::ENCODING eEncoding, bool *pbNotFound = nullptr) const;
94 
102  std::vector<CYIString> GetValues(const CYIString &key, CYIUrl::ENCODING eEncoding = CYIUrl::DECODED) const;
103 
111  bool HasKey(const CYIString &key, CYIUrl::ENCODING eEncoding = CYIUrl::DECODED) const;
112 
118  void Clear();
119 
125  void SetParameters(const std::vector<std::pair<CYIString, CYIString> > &parameters, CYIUrl::ENCODING eEncoding = CYIUrl::DECODED);
126 
136  void SetString(const CYIString &query, CYIUrl::ENCODING eEncoding = CYIUrl::ENCODED);
137 
141  bool IsEmpty() const;
142 
148  const std::vector<std::pair<CYIString, CYIString> > &GetParameters() const;
149  std::vector<std::pair<CYIString, CYIString> > GetParameters(CYIUrl::ENCODING eEncoding) const;
150 
162 
163 private:
164  std::vector<std::pair<CYIString, CYIString> > m_parameters;
165 };
166 
171 #endif
const CYIString & GetValue(const CYIString &key, bool *pbNotFound=nullptr) const
Definition: YiUrl.h:47
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
void Clear()
void Add(const CYIString &key, const CYIString &value, CYIUrl::ENCODING eEncoding=CYIUrl::DECODED)
bool operator!=(const CYIUrlQuery &other) const
const std::vector< std::pair< CYIString, CYIString > > & GetParameters() const
Definition: YiUrl.h:48
bool operator==(const CYIUrlQuery &other) const
void SetString(const CYIString &query, CYIUrl::ENCODING eEncoding=CYIUrl::ENCODED)
void RemoveAll(const CYIString &rKey, CYIUrl::ENCODING eEncoding=CYIUrl::DECODED)
std::vector< CYIString > GetValues(const CYIString &key, CYIUrl::ENCODING eEncoding=CYIUrl::DECODED) const
An URL query builder.
Definition: YiUrlQuery.h:28
A class used to encapsulate an URL.
Definition: YiUrl.h:24
CYIString ToString(CYIUrl::ENCODING eEncoding=CYIUrl::ENCODED) const
ENCODING
Definition: YiUrl.h:45
void Remove(const CYIString &rKey, CYIUrl::ENCODING eEncoding=CYIUrl::DECODED)
bool HasKey(const CYIString &key, CYIUrl::ENCODING eEncoding=CYIUrl::DECODED) const
bool IsEmpty() const
void SetParameters(const std::vector< std::pair< CYIString, CYIString > > &parameters, CYIUrl::ENCODING eEncoding=CYIUrl::DECODED)