📄 pxmlrpc_8h-source.html
字号:
00274 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCVariableBase.html#a4">FromString</a>(PINDEX i, <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & str);00275 <span class="keyword">virtual</span> <a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a> * <a class="code" href="classPXMLRPCVariableBase.html#a5">GetStruct</a>(PINDEX i) <span class="keyword">const</span>;00276 <span class="keyword">virtual</span> BOOL <a class="code" href="classPXMLRPCVariableBase.html#a6">IsArray</a>() <span class="keyword">const</span>;00277 <span class="keyword">virtual</span> PINDEX <a class="code" href="classPXMLRPCVariableBase.html#a7">GetSize</a>() <span class="keyword">const</span>;00278 <span class="keyword">virtual</span> BOOL <a class="code" href="classPXMLRPCVariableBase.html#a8">SetSize</a>(PINDEX);00279 00280 <a class="code" href="classPString.html">PString</a> <a class="code" href="classPXMLRPCVariableBase.html#a9">ToBase64</a>(<a class="code" href="classPAbstractArray.html">PAbstractArray</a> & data) <span class="keyword">const</span>;00281 <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCVariableBase.html#a10">FromBase64</a>(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & str, <a class="code" href="classPAbstractArray.html">PAbstractArray</a> & data);00282 00283 <span class="keyword">protected</span>:<a name="l00284"></a><a class="code" href="classPXMLRPCVariableBase.html#n0">00284</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classPXMLRPCVariableBase.html#n0">name</a>;<a name="l00285"></a><a class="code" href="classPXMLRPCVariableBase.html#n1">00285</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classPXMLRPCVariableBase.html#n1">type</a>;00286 00287 <span class="keyword">private</span>:00288 <a class="code" href="classPXMLRPCVariableBase.html#b0">PXMLRPCVariableBase</a>(<span class="keyword">const</span> <a class="code" href="classPXMLRPCVariableBase.html">PXMLRPCVariableBase</a> &) { }00289 };00290 00291 <a name="l00292"></a><a class="code" href="classPXMLRPCArrayBase.html">00292</a> <span class="keyword">class </span><a class="code" href="classPXMLRPCArrayBase.html">PXMLRPCArrayBase</a> : <span class="keyword">public</span> <a class="code" href="classPXMLRPCVariableBase.html">PXMLRPCVariableBase</a> {00293 <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(<a class="code" href="classPXMLRPCArrayBase.html">PXMLRPCArrayBase</a>, <a class="code" href="classPXMLRPCVariableBase.html">PXMLRPCVariableBase</a>);00294 <span class="keyword">protected</span>:00295 <a class="code" href="classPXMLRPCArrayBase.html#b0">PXMLRPCArrayBase</a>(<a class="code" href="classPContainer.html">PContainer</a> & <a class="code" href="classPXMLRPCArrayBase.html#n0">array</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>);00296 <a class="code" href="classPXMLRPCArrayBase.html">PXMLRPCArrayBase</a> & <a class="code" href="classPXMLRPCArrayBase.html#b1">operator=</a>(<span class="keyword">const</span> <a class="code" href="classPXMLRPCArrayBase.html">PXMLRPCArrayBase</a> &);00297 00298 <span class="keyword">public</span>:00299 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCArrayBase.html#a0">PrintOn</a>(ostream & strm) <span class="keyword">const</span>;00300 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCArrayBase.html#a1">Copy</a>(<span class="keyword">const</span> <a class="code" href="classPXMLRPCVariableBase.html">PXMLRPCVariableBase</a> & other);00301 <span class="keyword">virtual</span> BOOL <a class="code" href="classPXMLRPCArrayBase.html#a2">IsArray</a>() <span class="keyword">const</span>;00302 <span class="keyword">virtual</span> PINDEX <a class="code" href="classPXMLRPCArrayBase.html#a3">GetSize</a>() <span class="keyword">const</span>;00303 <span class="keyword">virtual</span> BOOL <a class="code" href="classPXMLRPCArrayBase.html#a4">SetSize</a>(PINDEX);00304 00305 <span class="keyword">protected</span>:<a name="l00306"></a><a class="code" href="classPXMLRPCArrayBase.html#n0">00306</a> <a class="code" href="classPContainer.html">PContainer</a> & array;00307 };00308 00309 <a name="l00310"></a><a class="code" href="classPXMLRPCArrayObjectsBase.html">00310</a> <span class="keyword">class </span><a class="code" href="classPXMLRPCArrayObjectsBase.html">PXMLRPCArrayObjectsBase</a> : <span class="keyword">public</span> <a class="code" href="classPXMLRPCArrayBase.html">PXMLRPCArrayBase</a> {00311 <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(<a class="code" href="classPXMLRPCArrayObjectsBase.html">PXMLRPCArrayObjectsBase</a>, <a class="code" href="classPXMLRPCArrayBase.html">PXMLRPCArrayBase</a>);00312 <span class="keyword">protected</span>:00313 <a class="code" href="classPXMLRPCArrayObjectsBase.html#b0">PXMLRPCArrayObjectsBase</a>(PArrayObjects & <a class="code" href="classPXMLRPCArrayObjectsBase.html#n0">array</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>);00314 <a class="code" href="classPXMLRPCArrayObjectsBase.html">PXMLRPCArrayObjectsBase</a> & <a class="code" href="classPXMLRPCArrayObjectsBase.html#b1">operator=</a>(<span class="keyword">const</span> <a class="code" href="classPXMLRPCArrayObjectsBase.html">PXMLRPCArrayObjectsBase</a> &);00315 00316 <span class="keyword">public</span>:00317 <span class="keyword">virtual</span> <a class="code" href="classPString.html">PString</a> <a class="code" href="classPXMLRPCArrayObjectsBase.html#a0">ToString</a>(PINDEX i) <span class="keyword">const</span>;00318 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCArrayObjectsBase.html#a1">FromString</a>(PINDEX i, <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & str);00319 <span class="keyword">virtual</span> BOOL <a class="code" href="classPXMLRPCArrayObjectsBase.html#a2">SetSize</a>(PINDEX);00320 00321 <span class="keyword">virtual</span> <a class="code" href="classPObject.html">PObject</a> * <a class="code" href="classPXMLRPCArrayObjectsBase.html#a3">CreateObject</a>() <span class="keyword">const</span> = 0;00322 00323 <span class="keyword">protected</span>:<a name="l00324"></a><a class="code" href="classPXMLRPCArrayObjectsBase.html#n0">00324</a> PArrayObjects & <a class="code" href="classPXMLRPCArrayObjectsBase.html#n0">array</a>;00325 };00326 00327 <a name="l00328"></a><a class="code" href="classPXMLRPCStructBase.html">00328</a> <span class="keyword">class </span><a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a> : <span class="keyword">public</span> <a class="code" href="classPObject.html">PObject</a> {00329 <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(<a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a>, <a class="code" href="classPObject.html">PObject</a>);00330 <span class="keyword">protected</span>:00331 <a class="code" href="classPXMLRPCStructBase.html#b0">PXMLRPCStructBase</a>();00332 <a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a> & <a class="code" href="classPXMLRPCStructBase.html#b1">operator=</a>(<span class="keyword">const</span> <a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a> &);00333 <span class="keyword">private</span>:00334 <a class="code" href="classPXMLRPCStructBase.html#b0">PXMLRPCStructBase</a>(<span class="keyword">const</span> <a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a> &) { }00335 00336 <span class="keyword">public</span>:00337 <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCStructBase.html#a0">PrintOn</a>(ostream & strm) <span class="keyword">const</span>;00338 <a name="l00339"></a><a class="code" href="classPXMLRPCStructBase.html#a1">00339</a> PINDEX <a class="code" href="classPXMLRPCStructBase.html#a1">GetNumVariables</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classPXMLRPCStructBase.html#n0">variablesByOrder</a>.GetSize(); }<a name="l00340"></a><a class="code" href="classPXMLRPCStructBase.html#a2">00340</a> <a class="code" href="classPXMLRPCVariableBase.html">PXMLRPCVariableBase</a> & <a class="code" href="classPXMLRPCStructBase.html#a2">GetVariable</a>(PINDEX idx)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classPXMLRPCStructBase.html#n0">variablesByOrder</a>[idx]; }<a name="l00341"></a><a class="code" href="classPXMLRPCStructBase.html#a3">00341</a> <a class="code" href="classPXMLRPCVariableBase.html">PXMLRPCVariableBase</a> * <a class="code" href="classPXMLRPCStructBase.html#a2">GetVariable</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * name)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classPXMLRPCStructBase.html#n1">variablesByName</a>.GetAt(name); }00342 00343 <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCStructBase.html#a4">AddVariable</a>(<a class="code" href="classPXMLRPCVariableBase.html">PXMLRPCVariableBase</a> * var);<a name="l00344"></a><a class="code" href="classPXMLRPCStructBase.html#d0">00344</a> <span class="keyword">static</span> <a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a> & <a class="code" href="classPXMLRPCStructBase.html#d0">GetInitialiser</a>() { <span class="keywordflow">return</span> *<a class="code" href="object_8h.html#a8">PAssertNULL</a>(<a class="code" href="classPXMLRPCStructBase.html#q1">initialiserInstance</a>); }00345 00346 <span class="keyword">protected</span>:00347 <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCStructBase.html#b2">EndConstructor</a>();00348 <a name="l00349"></a><a class="code" href="classPXMLRPCStructBase.html#n0">00349</a> PList<PXMLRPCVariableBase> <a class="code" href="classPXMLRPCStructBase.html#n0">variablesByOrder</a>;<a name="l00350"></a><a class="code" href="classPXMLRPCStructBase.html#n1">00350</a> PDictionary<PString, PXMLRPCVariableBase> <a class="code" href="classPXMLRPCStructBase.html#n1">variablesByName</a>;00351 <a name="l00352"></a><a class="code" href="classPXMLRPCStructBase.html#n2">00352</a> <a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a> * <a class="code" href="classPXMLRPCStructBase.html#n2">initialiserStack</a>;<a name="l00353"></a><a class="code" href="classPXMLRPCStructBase.html#q0">00353</a> <span class="keyword">static</span> <a class="code" href="classPMutex.html">PMutex</a> <a class="code" href="classPXMLRPCStructBase.html#q0">initialiserMutex</a>;<a name="l00354"></a><a class="code" href="classPXMLRPCStructBase.html#q1">00354</a> <span class="keyword">static</span> <a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a> * <a class="code" href="classPXMLRPCStructBase.html#q1">initialiserInstance</a>;00355 };00356 00357 <a name="l00358"></a><a class="code" href="pxmlrpc_8h.html#a0">00358</a> <span class="preprocessor">#define PXMLRPC_STRUCT_BEGIN(name) \</span>00359 <span class="preprocessor"> class name : public PXMLRPCStructBase { \</span>00360 <span class="preprocessor"> public: name() { EndConstructor(); } \</span>00361 <span class="preprocessor"> public: name(const name & other) { EndConstructor(); operator=(other); } \</span>00362 <span class="preprocessor"> public: name & operator=(const name & other) { PXMLRPCStructBase::operator=(other); return *this; }</span>00363 <span class="preprocessor"></span><a name="l00364"></a><a class="code" href="pxmlrpc_8h.html#a1">00364</a> <span class="preprocessor">#define PXMLRPC_VARIABLE_CLASS(base, type, variable, xmltype, init, extras) \</span>00365 <span class="preprocessor"> private: struct PXMLRPCVar_##variable : public PXMLRPCVariableBase { \</span>00366 <span class="preprocessor"> PXMLRPCVar_##variable() \</span>00367 <span class="preprocessor"> : PXMLRPCVariableBase(#variable, xmltype), \</span>00368 <span class="preprocessor"> instance(((base &)base::GetInitialiser()).variable) \</span>00369 <span class="preprocessor"> { init } \</span>00370 <span class="preprocessor"> virtual void PrintOn (ostream & s) const { s << instance; } \</span>00371 <span class="preprocessor"> virtual void ReadFrom(istream & s) { s >> instance; } \</span>00372 <span class="preprocessor"> virtual void Copy(const PXMLRPCVariableBase & other) \</span>00373 <span class="preprocessor"> { instance = ((PXMLRPCVar_##variable &)other).instance; } \</span>00374 <span class="preprocessor"> extras \</span>00375 <span class="preprocessor"> type & instance; \</span>00376 <span class="preprocessor"> } pxmlrpcvar_##variable</span>00377 <span class="preprocessor"></span><a name="l00378"></a><a class="code" href="pxmlrpc_8h.html#a2">00378</a> <span class="preprocessor">#define PXMLRPC_VARIABLE_CUSTOM(base, type, variable, xmltype, init, extras) \</span>00379 <span class="preprocessor"> public: type variable; \</span>00380 <span class="preprocessor"> PXMLRPC_VARIABLE_CLASS(base, type, variable, xmltype, init, extras)</span>00381 <span class="preprocessor"></span><a name="l00382"></a><a class="code" href="pxmlrpc_8h.html#a3">00382</a> <span class="preprocessor">#define PXMLRPC_ARRAY_CUSTOM(base, arraytype, basetype, variable, xmltype, par, extras) \</span>00383 <span class="preprocessor"> public: arraytype variable; \</span>00384 <span class="preprocessor"> private: struct PXMLRPCVar_##variable : public par { \</span>00385 <span class="preprocessor"> PXMLRPCVar_##variable() \</span>00386 <span class="preprocessor"> : par(((base &)base::GetInitialiser()).variable, #variable, xmltype), \</span>00387 <span class="preprocessor"> instance((arraytype &)array) \</span>00388 <span class="preprocessor"> { } \</span>00389 <span class="preprocessor"> extras \</span>00390 <span class="preprocessor"> arraytype & instance; \</span>00391 <span class="preprocessor"> } pxmlrpcvar_##variable</span>00392 <span class="preprocessor"></span><span class="preprocessor">#ifdef DOCPLUSPLUS</span>00393 <span class="preprocessor"></span>}00394 <span class="preprocessor">#endif</span>00395 <span class="preprocessor"></span>00396 <a name="l00397"></a><a class="code" href="pxmlrpc_8h.html#a4">00397</a> <span class="preprocessor">#define PXMLRPC_STRUCT_END() \</span>00398 <span class="preprocessor"> };</span>00399 <span class="preprocessor"></span>00400 <a name="l00401"></a><a class="code" href="pxmlrpc_8h.html#a5">00401</a> <span class="preprocessor">#define PXMLRPC_VARIABLE(base, type, variable, xmltype) \</span>00402 <span class="preprocessor"> PXMLRPC_VARIABLE_CUSTOM(base, type, variable, xmltype, ;, ;)</span>00403 <span class="preprocessor"></span>00404 <a name="l00405"></a><a class="code" href="pxmlrpc_8h.html#a6">00405</a> <span class="preprocessor">#define PXMLRPC_VARIABLE_INIT(base, type, variable, xmltype, init) \</span>00406 <span class="preprocessor"> PXMLRPC_VARIABLE_CUSTOM(base, type, variable, xmltype, instance=init;, ;)</span>00407 <span class="preprocessor"></span>00408 <a name="l00409"></a><a class="code" href="pxmlrpc_8h.html#a7">00409</a> <span class="preprocessor">#define PXMLRPC_STRING(base, type, variable) \</span>00410 <span class="preprocessor"> PXMLRPC_VARIABLE(base, type, variable, "string")</span>00411 <span class="preprocessor"></span>00412
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -