⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pxmlrpc_8h-source.html

📁 pwlib开发文档
💻 HTML
📖 第 1 页 / 共 4 页
字号:
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> &amp; 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> &amp; 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> &amp; str, <a class="code" href="classPAbstractArray.html">PAbstractArray</a> &amp; 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> &amp;) { }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> &amp; <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> &amp; <a class="code" href="classPXMLRPCArrayBase.html#b1">operator=</a>(<span class="keyword">const</span> <a class="code" href="classPXMLRPCArrayBase.html">PXMLRPCArrayBase</a> &amp;);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 &amp; 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> &amp; 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> &amp; 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 &amp; <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> &amp; <a class="code" href="classPXMLRPCArrayObjectsBase.html#b1">operator=</a>(<span class="keyword">const</span> <a class="code" href="classPXMLRPCArrayObjectsBase.html">PXMLRPCArrayObjectsBase</a> &amp;);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> &amp; 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 &amp; <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> &amp; <a class="code" href="classPXMLRPCStructBase.html#b1">operator=</a>(<span class="keyword">const</span> <a class="code" href="classPXMLRPCStructBase.html">PXMLRPCStructBase</a> &amp;);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> &amp;) { }00335 00336   <span class="keyword">public</span>:00337     <span class="keywordtype">void</span> <a class="code" href="classPXMLRPCStructBase.html#a0">PrintOn</a>(ostream &amp; 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> &amp; <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> &amp; <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&lt;PXMLRPCVariableBase&gt;                <a class="code" href="classPXMLRPCStructBase.html#n0">variablesByOrder</a>;<a name="l00350"></a><a class="code" href="classPXMLRPCStructBase.html#n1">00350</a>     PDictionary&lt;PString, PXMLRPCVariableBase&gt; <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 &amp; other) { EndConstructor(); operator=(other); } \</span>00362 <span class="preprocessor">    public: name &amp; operator=(const name &amp; 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 &amp;)base::GetInitialiser()).variable) \</span>00369 <span class="preprocessor">        { init } \</span>00370 <span class="preprocessor">      virtual void PrintOn (ostream &amp; s) const { s &lt;&lt; instance; } \</span>00371 <span class="preprocessor">      virtual void ReadFrom(istream &amp; s)       { s &gt;&gt; instance; } \</span>00372 <span class="preprocessor">      virtual void Copy(const PXMLRPCVariableBase &amp; other) \</span>00373 <span class="preprocessor">                    { instance = ((PXMLRPCVar_##variable &amp;)other).instance; } \</span>00374 <span class="preprocessor">      extras \</span>00375 <span class="preprocessor">      type &amp; 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 &amp;)base::GetInitialiser()).variable, #variable, xmltype), \</span>00387 <span class="preprocessor">          instance((arraytype &amp;)array) \</span>00388 <span class="preprocessor">        { } \</span>00389 <span class="preprocessor">      extras \</span>00390 <span class="preprocessor">      arraytype &amp; 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 + -