📄 pxmlrpc_8h-source.html
字号:
00133 <a class="code" href="classPXMLRPC.html#s21s12">MemberUnnamed</a>,00134 <a class="code" href="classPXMLRPC.html#s21s13">FaultyFault</a>,00135 <a class="code" href="classPXMLRPC.html#s21s14">RequestHasWrongDocumentType</a>,00136 <a class="code" href="classPXMLRPC.html#s21s15">RequestHasNoMethodName</a>,00137 <a class="code" href="classPXMLRPC.html#s21s16">RequestHasNoParms</a>,00138 <a class="code" href="classPXMLRPC.html#s21s17">MethodNameIsEmpty</a>,00139 <a class="code" href="classPXMLRPC.html#s21s18">UnknownMethod</a>,00140 <a class="code" href="classPXMLRPC.html#s21s19">ParamNotArray</a>,00141 00142 <a class="code" href="classPXMLRPC.html#s21s20">UserFault</a> = 1000,00143 };00144 00145 <a class="code" href="classPXMLRPC.html#a0">PXMLRPC</a>(00146 <span class="keyword">const</span> <a class="code" href="classPURL.html">PURL</a> & <a class="code" href="classPXMLRPC.html#n0">url</a>,00147 <span class="keywordtype">unsigned</span> <a class="code" href="classPXMLRPC.html#n4">options</a> = 000148 );00149 <a name="l00150"></a><a class="code" href="classPXMLRPC.html#a1">00150</a> <span class="keywordtype">void</span> <a class="code" href="classPXMLRPC.html#a1">SetTimeout</a>(<span class="keyword">const</span> <a class="code" href="classPTimeInterval.html">PTimeInterval</a> & _timeout) { <a class="code" href="classPXMLRPC.html#n3">timeout</a> = _timeout; }00151 00152 BOOL <a class="code" href="classPXMLRPC.html#a2">MakeRequest</a>(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & method);00153 BOOL <a class="code" href="classPXMLRPC.html#a2">MakeRequest</a>(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & method, <a class="code" href="classPXMLRPCBlock.html">PXMLRPCBlock</a> & response);00154 BOOL <a class="code" href="classPXMLRPC.html#a2">MakeRequest</a>(<a class="code" href="classPXMLRPCBlock.html">PXMLRPCBlock</a> & request, <a class="code" href="classPXMLRPCBlock.html">PXMLRPCBlock</a> & response);00155 BOOL <a class="code" href="classPXMLRPC.html#a2">MakeRequest</a>(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & method, <span class="keyword">const</span> <a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a> & args, <a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a> & reply);00156 <a name="l00157"></a><a class="code" href="classPXMLRPC.html#a6">00157</a> <a class="code" href="classPString.html">PString</a> <a class="code" href="classPXMLRPC.html#a6">GetFaultText</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classPXMLRPC.html#n2">faultText</a>; }<a name="l00158"></a><a class="code" href="classPXMLRPC.html#a7">00158</a> PINDEX <a class="code" href="classPXMLRPC.html#a7">GetFaultCode</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classPXMLRPC.html#n1">faultCode</a>; }00159 00160 <span class="keyword">static</span> BOOL <a class="code" href="classPXMLRPC.html#d0">ISO8601ToPTime</a>(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & iso8601, <a class="code" href="classPTime.html">PTime</a> & val, <span class="keywordtype">int</span> tz = <a class="code" href="classPTime.html#z293_0s1">PTime::GMT</a>);00161 <span class="keyword">static</span> <a class="code" href="classPString.html">PString</a> <a class="code" href="classPXMLRPC.html#d1">PTimeToISO8601</a>(<span class="keyword">const</span> <a class="code" href="classPTime.html">PTime</a> & val);00162 00163 <span class="keyword">protected</span>:00164 BOOL <a class="code" href="classPXMLRPC.html#b0">PerformRequest</a>(<a class="code" href="classPXMLRPCBlock.html">PXMLRPCBlock</a> & request, <a class="code" href="classPXMLRPCBlock.html">PXMLRPCBlock</a> & response);00165 <a name="l00166"></a><a class="code" href="classPXMLRPC.html#n0">00166</a> <a class="code" href="classPURL.html">PURL</a> url;<a name="l00167"></a><a class="code" href="classPXMLRPC.html#n1">00167</a> PINDEX <a class="code" href="classPXMLRPC.html#n1">faultCode</a>;<a name="l00168"></a><a class="code" href="classPXMLRPC.html#n2">00168</a> <a class="code" href="classPString.html">PString</a> <a class="code" href="classPXMLRPC.html#n2">faultText</a>;<a name="l00169"></a><a class="code" href="classPXMLRPC.html#n3">00169</a> <a class="code" href="classPTimeInterval.html">PTimeInterval</a> <a class="code" href="classPXMLRPC.html#n3">timeout</a>;<a name="l00170"></a><a class="code" href="classPXMLRPC.html#n4">00170</a> <span class="keywordtype">unsigned</span> <a class="code" href="classPXMLRPC.html#n4">options</a>;00171 };00172 00174 <a name="l00175"></a><a class="code" href="classPXMLRPCBlock.html">00175</a> <span class="keyword">class </span><a class="code" href="classPXMLRPCBlock.html">PXMLRPCBlock</a> : <span class="keyword">public</span> <a class="code" href="classPXML.html">PXML</a>00176 {00177 <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(<a class="code" href="classPXMLRPCBlock.html">PXMLRPCBlock</a>, <a class="code" href="classPXML.html">PXML</a>);00178 <span class="keyword">public</span>:00179 <a class="code" href="classPXMLRPCBlock.html#a0">PXMLRPCBlock</a>();00180 <a class="code" href="classPXMLRPCBlock.html#a0">PXMLRPCBlock</a>(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & method);00181 <a class="code" href="classPXMLRPCBlock.html#a0">PXMLRPCBlock</a>(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & method, <span class="keyword">const</span> <a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a> & structData);00182 00183 BOOL <a class="code" href="classPXMLRPCBlock.html#a3">Load</a>(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & str);00184 00185 <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#a4">GetParams</a>();00186 <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#a5">GetParam</a>(PINDEX idx) <span class="keyword">const</span>;00187 PINDEX <a class="code" href="classPXMLRPCBlock.html#a6">GetParamCount</a>() <span class="keyword">const</span>;00188 00189 <span class="comment">// used when used as a response</span><a name="l00190"></a><a class="code" href="classPXMLRPCBlock.html#a7">00190</a> PINDEX <a class="code" href="classPXMLRPCBlock.html#a7">GetFaultCode</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classPXMLRPCBlock.html#n2">faultCode</a>; }<a name="l00191"></a><a class="code" href="classPXMLRPCBlock.html#a8">00191</a> <a class="code" href="classPString.html">PString</a> <a class="code" href="classPXMLRPCBlock.html#a8">GetFaultText</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classPXMLRPCBlock.html#n1">faultText</a>; }<a name="l00192"></a><a class="code" href="classPXMLRPCBlock.html#a9">00192</a> <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCBlock.html#a9">SetFault</a>(PINDEX code, <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & text) { <a class="code" href="classPXMLRPCBlock.html#n2">faultCode</a> = code; <a class="code" href="classPXMLRPCBlock.html#n1">faultText</a> = text; }00193 BOOL <a class="code" href="classPXMLRPCBlock.html#a10">ValidateResponse</a>();00194 00195 <span class="comment">// helper functions for getting parameters</span>00196 BOOL <a class="code" href="classPXMLRPCBlock.html#a4">GetParams</a>(<a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a> & data);00197 BOOL <a class="code" href="classPXMLRPCBlock.html#a5">GetParam</a>(PINDEX idx, <a class="code" href="classPString.html">PString</a> & type, <a class="code" href="classPString.html">PString</a> & result);00198 BOOL <a class="code" href="classPXMLRPCBlock.html#a13">GetExpectedParam</a>(PINDEX idx, <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & expectedType, <a class="code" href="classPString.html">PString</a> & value);00199 00200 BOOL <a class="code" href="classPXMLRPCBlock.html#a5">GetParam</a>(PINDEX idx, <a class="code" href="classPString.html">PString</a> & result);00201 BOOL <a class="code" href="classPXMLRPCBlock.html#a5">GetParam</a>(PINDEX idx, <span class="keywordtype">int</span> & result);00202 BOOL <a class="code" href="classPXMLRPCBlock.html#a5">GetParam</a>(PINDEX idx, <span class="keywordtype">double</span> & result);00203 BOOL <a class="code" href="classPXMLRPCBlock.html#a5">GetParam</a>(PINDEX idx, <a class="code" href="classPTime.html">PTime</a> & result, <span class="keywordtype">int</span> tz = <a class="code" href="classPTime.html#z293_0s1">PTime::GMT</a>);00204 BOOL <a class="code" href="classPXMLRPCBlock.html#a5">GetParam</a>(PINDEX idx, <a class="code" href="classPStringToString.html">PStringToString</a> & result);00205 BOOL <a class="code" href="classPXMLRPCBlock.html#a5">GetParam</a>(PINDEX idx, <a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a> & result);00206 BOOL <a class="code" href="classPXMLRPCBlock.html#a5">GetParam</a>(PINDEX idx, <a class="code" href="classPStringArray.html">PStringArray</a> & result);00207 BOOL <a class="code" href="classPXMLRPCBlock.html#a5">GetParam</a>(PINDEX idx, PArray<PStringToString> & result);00208 00209 <span class="comment">// static functions for parsing values</span>00210 BOOL <a class="code" href="classPXMLRPCBlock.html#a22">ParseScalar</a>(<a class="code" href="classPXMLElement.html">PXMLElement</a> * element, <a class="code" href="classPString.html">PString</a> & type, <a class="code" href="classPString.html">PString</a> & value);00211 BOOL <a class="code" href="classPXMLRPCBlock.html#a23">ParseStruct</a>(<a class="code" href="classPXMLElement.html">PXMLElement</a> * element, <a class="code" href="classPStringToString.html">PStringToString</a> & structDict);00212 BOOL <a class="code" href="classPXMLRPCBlock.html#a23">ParseStruct</a>(<a class="code" href="classPXMLElement.html">PXMLElement</a> * element, <a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a> & structData);00213 BOOL <a class="code" href="classPXMLRPCBlock.html#a25">ParseArray</a>(<a class="code" href="classPXMLElement.html">PXMLElement</a> * element, <a class="code" href="classPStringArray.html">PStringArray</a> & array);00214 BOOL <a class="code" href="classPXMLRPCBlock.html#a25">ParseArray</a>(<a class="code" href="classPXMLElement.html">PXMLElement</a> * element, PArray<PStringToString> & array);00215 BOOL <a class="code" href="classPXMLRPCBlock.html#a25">ParseArray</a>(<a class="code" href="classPXMLElement.html">PXMLElement</a> * element, <a class="code" href="classPXMLRPCVariableBase.html">PXMLRPCVariableBase</a> & array);00216 00217 <span class="comment">// static functions for creating values</span>00218 <span class="keyword">static</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#d0">CreateValueElement</a>(<a class="code" href="classPXMLElement.html">PXMLElement</a> * element);00219 <span class="keyword">static</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#d1">CreateScalar</a>(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & type, <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & scalar);00220 <span class="keyword">static</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#d2">CreateMember</a>(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & name, <a class="code" href="classPXMLElement.html">PXMLElement</a> * value);00221 00222 <span class="keyword">static</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#d1">CreateScalar</a>(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & str);00223 <span class="keyword">static</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#d1">CreateScalar</a>(<span class="keywordtype">int</span> value);00224 <span class="keyword">static</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#d1">CreateScalar</a>(<span class="keywordtype">double</span> value);00225 <span class="keyword">static</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#d6">CreateDateAndTime</a>(<span class="keyword">const</span> <a class="code" href="classPTime.html">PTime</a> & time);00226 <span class="keyword">static</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#d7">CreateBinary</a>(<span class="keyword">const</span> <a class="code" href="classPBYTEArray.html">PBYTEArray</a> & data);00227 00228 <span class="keyword">static</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#d8">CreateStruct</a>();00229 <span class="keyword">static</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#d8">CreateStruct</a>(<span class="keyword">const</span> <a class="code" href="classPStringToString.html">PStringToString</a> & dict);00230 <span class="keyword">static</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#d8">CreateStruct</a>(<span class="keyword">const</span> <a class="code" href="classPStringToString.html">PStringToString</a> & dict, <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & typeStr);00231 <span class="keyword">static</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#d8">CreateStruct</a>(<span class="keyword">const</span> <a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a> & structData);00232 00233 <span class="keyword">static</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#d12">CreateArray</a>(<span class="keyword">const</span> <a class="code" href="classPStringArray.html">PStringArray</a> & array);00234 <span class="keyword">static</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#d12">CreateArray</a>(<span class="keyword">const</span> <a class="code" href="classPStringArray.html">PStringArray</a> & array, <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & typeStr);00235 <span class="keyword">static</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#d12">CreateArray</a>(<span class="keyword">const</span> <a class="code" href="classPStringArray.html">PStringArray</a> & array, <span class="keyword">const</span> <a class="code" href="classPStringArray.html">PStringArray</a> & types);00236 <span class="keyword">static</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#d12">CreateArray</a>(<span class="keyword">const</span> PArray<PStringToString> & array);00237 <span class="keyword">static</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#d12">CreateArray</a>(<span class="keyword">const</span> <a class="code" href="classPXMLRPCVariableBase.html">PXMLRPCVariableBase</a> & array);00238 00239 <span class="comment">// helper functions for adding parameters</span>00240 <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCBlock.html#a28">AddParam</a>(<a class="code" href="classPXMLElement.html">PXMLElement</a> * parm);00241 <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCBlock.html#a28">AddParam</a>(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & str);00242 <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCBlock.html#a28">AddParam</a>(<span class="keywordtype">int</span> value);00243 <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCBlock.html#a28">AddParam</a>(<span class="keywordtype">double</span> value);00244 <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCBlock.html#a28">AddParam</a>(<span class="keyword">const</span> <a class="code" href="classPTime.html">PTime</a> & time);00245 <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCBlock.html#a28">AddParam</a>(<span class="keyword">const</span> <a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a> & structData);00246 <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCBlock.html#a34">AddBinary</a>(<span class="keyword">const</span> <a class="code" href="classPBYTEArray.html">PBYTEArray</a> & data);00247 <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCBlock.html#a35">AddStruct</a>(<span class="keyword">const</span> <a class="code" href="classPStringToString.html">PStringToString</a> & dict);00248 <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCBlock.html#a35">AddStruct</a>(<span class="keyword">const</span> <a class="code" href="classPStringToString.html">PStringToString</a> & dict, <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & typeStr);00249 <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCBlock.html#a37">AddArray</a>(<span class="keyword">const</span> <a class="code" href="classPStringArray.html">PStringArray</a> & array);00250 <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCBlock.html#a37">AddArray</a>(<span class="keyword">const</span> <a class="code" href="classPStringArray.html">PStringArray</a> & array, <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & typeStr);00251 <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCBlock.html#a37">AddArray</a>(<span class="keyword">const</span> <a class="code" href="classPStringArray.html">PStringArray</a> & array, <span class="keyword">const</span> <a class="code" href="classPStringArray.html">PStringArray</a> & types);00252 <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCBlock.html#a37">AddArray</a>(<span class="keyword">const</span> PArray<PStringToString> & array);00253 00254 <span class="keyword">protected</span>:<a name="l00255"></a><a class="code" href="classPXMLRPCBlock.html#n0">00255</a> <a class="code" href="classPXMLElement.html">PXMLElement</a> * <a class="code" href="classPXMLRPCBlock.html#n0">params</a>;<a name="l00256"></a><a class="code" href="classPXMLRPCBlock.html#n1">00256</a> <a class="code" href="classPString.html">PString</a> <a class="code" href="classPXMLRPCBlock.html#n1">faultText</a>;<a name="l00257"></a><a class="code" href="classPXMLRPCBlock.html#n2">00257</a> PINDEX <a class="code" href="classPXMLRPCBlock.html#n2">faultCode</a>;00258 };00259 00260 00262 <a name="l00263"></a><a class="code" href="classPXMLRPCVariableBase.html">00263</a> <span class="keyword">class </span><a class="code" href="classPXMLRPCVariableBase.html">PXMLRPCVariableBase</a> : <span class="keyword">public</span> <a class="code" href="classPObject.html">PObject</a> {00264 <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(<a class="code" href="classPXMLRPCVariableBase.html">PXMLRPCVariableBase</a>, <a class="code" href="classPObject.html">PObject</a>);00265 <span class="keyword">protected</span>:00266 <a class="code" href="classPXMLRPCVariableBase.html#b0">PXMLRPCVariableBase</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classPXMLRPCVariableBase.html#n0">name</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classPXMLRPCVariableBase.html#n1">type</a> = NULL);00267 00268 <span class="keyword">public</span>:<a name="l00269"></a><a class="code" href="classPXMLRPCVariableBase.html#a0">00269</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classPXMLRPCVariableBase.html#a0">GetName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classPXMLRPCVariableBase.html#n0">name</a>; }<a name="l00270"></a><a class="code" href="classPXMLRPCVariableBase.html#a1">00270</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classPXMLRPCVariableBase.html#a1">GetType</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classPXMLRPCVariableBase.html#n1">type</a>; }00271 00272 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCVariableBase.html#a2">Copy</a>(<span class="keyword">const</span> <a class="code" href="classPXMLRPCVariableBase.html">PXMLRPCVariableBase</a> & other) = 0;00273 <span class="keyword">virtual</span> <a class="code" href="classPString.html">PString</a> <a class="code" href="classPXMLRPCVariableBase.html#a3">ToString</a>(PINDEX i) <span class="keyword">const</span>;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -