📄 xmpp_8h-source.html
字号:
00165 <a class="code" href="classPNotifierList.html">PNotifierList</a>& OpenHandlers() { <span class="keywordflow">return</span> m_OpenHandlers; }00166 00167 <span class="keyword">virtual</span> BOOL Close();00168 <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnClose() { m_CloseHandlers.Fire(*<span class="keyword">this</span>); }00169 <a class="code" href="classPNotifierList.html">PNotifierList</a>& CloseHandlers() { <span class="keywordflow">return</span> m_CloseHandlers; }00170 00171 <span class="keyword">virtual</span> BOOL Write(<span class="keyword">const</span> <span class="keywordtype">void</span> * buf, PINDEX len);00172 <span class="keyword">virtual</span> BOOL Write(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& data);00173 <span class="keyword">virtual</span> BOOL Write(<span class="keyword">const</span> <a class="code" href="classPXML.html">PXML</a>& pdu);00174 00177 <span class="keyword">virtual</span> <a class="code" href="classPXML.html">PXML</a> * Read();00178 00182 <span class="keyword">virtual</span> <span class="keywordtype">void</span> Reset();00183 <a class="code" href="classPXMLStreamParser.html">PXMLStreamParser</a> * GetParser() { <span class="keywordflow">return</span> m_Parser; }00184 00185 <span class="keyword">protected</span>:00186 <a class="code" href="classPXMLStreamParser.html">PXMLStreamParser</a> * m_Parser;00187 <a class="code" href="classPNotifierList.html">PNotifierList</a> m_OpenHandlers;00188 <a class="code" href="classPNotifierList.html">PNotifierList</a> m_CloseHandlers;00189 };00190 00191 00192 <span class="keyword">class </span>BaseStreamHandler : <span class="keyword">public</span> <a class="code" href="classPThread.html">PThread</a>00193 {00194 <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(BaseStreamHandler, <a class="code" href="classPThread.html">PThread</a>);00195 00196 <span class="keyword">public</span>:00197 BaseStreamHandler();00198 ~BaseStreamHandler();00199 00200 <span class="keyword">virtual</span> BOOL Start(Transport * transport = 0);00201 <span class="keyword">virtual</span> BOOL Stop(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& error = <a class="code" href="classPString.html#z231_33">PString::Empty</a>());00202 00203 <span class="keywordtype">void</span> SetAutoReconnect(BOOL b = TRUE, <span class="keywordtype">long</span> timeout = 1000);00204 00205 <a class="code" href="classPNotifierList.html">PNotifierList</a>& ElementHandlers() { <span class="keywordflow">return</span> m_ElementHandlers; }00206 Stream * GetStream() { <span class="keywordflow">return</span> m_Stream; }00207 00208 <span class="keyword">virtual</span> BOOL Write(<span class="keyword">const</span> <span class="keywordtype">void</span> * buf, PINDEX len);00209 <span class="keyword">virtual</span> BOOL Write(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& data);00210 <span class="keyword">virtual</span> BOOL Write(<span class="keyword">const</span> <a class="code" href="classPXML.html">PXML</a>& pdu);00211 <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnElement(<a class="code" href="classPXML.html">PXML</a>& pdu);00212 00213 <span class="keyword">virtual</span> <span class="keywordtype">void</span> Main();00214 00215 <span class="keyword">protected</span>:00216 <a class="code" href="notifier_8h.html#a0">PDECLARE_NOTIFIER</a>(Stream, BaseStreamHandler, OnOpen);00217 <a class="code" href="notifier_8h.html#a0">PDECLARE_NOTIFIER</a>(Stream, BaseStreamHandler, OnClose);00218 00219 Stream * m_Stream;00220 BOOL m_AutoReconnect;00221 <a class="code" href="classPTimeInterval.html">PTimeInterval</a> m_ReconnectTimeout;00222 00223 <a class="code" href="classPNotifierList.html">PNotifierList</a> m_ElementHandlers;00224 };00225 00226 00231 <span class="keyword">class </span>Stanza : <span class="keyword">public</span> <a class="code" href="classPXML.html">PXML</a>00232 {00233 <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(Stanza, <a class="code" href="classPXML.html">PXML</a>)00234 00235 <span class="keyword">public</span>:00238 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> ID;00239 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> From;00240 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> To;00241 00242 <span class="keyword">virtual</span> BOOL IsValid() <span class="keyword">const</span> = 0;00243 00244 <span class="keyword">virtual</span> <a class="code" href="classPString.html">PString</a> GetID() <span class="keyword">const</span>;00245 <span class="keyword">virtual</span> <a class="code" href="classPString.html">PString</a> GetFrom() <span class="keyword">const</span>;00246 <span class="keyword">virtual</span> <a class="code" href="classPString.html">PString</a> GetTo() <span class="keyword">const</span>;00247 00248 <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetID(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& id);00249 <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetFrom(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& from);00250 <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetTo(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& to);00251 00252 <span class="keyword">virtual</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * GetElement(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& name, PINDEX i = 0);00253 <span class="keyword">virtual</span> <span class="keywordtype">void</span> AddElement(<a class="code" href="classPXMLElement.html">PXMLElement</a> * elem);00254 00255 <span class="keyword">static</span> <a class="code" href="classPString.html">PString</a> GenerateID();00256 };00257 00258 <a class="code" href="lists_8h.html#a0">PLIST</a>(StanzaList, Stanza);00259 00260 00261 <span class="keyword">class </span>Message : <span class="keyword">public</span> Stanza00262 {00263 <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(Message, Stanza)00264 00265 <span class="keyword">public</span>:00266 <span class="keyword">enum</span> MessageType {00267 Normal,00268 Chat,00269 Error,00270 GroupChat,00271 HeadLine,00272 Unknown = 99900273 };00274 00277 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> Type;00278 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> Subject;00279 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> Body;00280 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> Thread;00281 00284 Message();00285 00290 Message(<a class="code" href="classPXML.html">PXML</a>& pdu);00291 Message(<a class="code" href="classPXML.html">PXML</a> * pdu);00292 00293 <span class="keyword">virtual</span> BOOL IsValid() <span class="keyword">const</span>;00294 <span class="keyword">static</span> BOOL IsValid(<span class="keyword">const</span> <a class="code" href="classPXML.html">PXML</a> * pdu);00295 00296 <span class="keyword">virtual</span> MessageType GetType(<a class="code" href="classPString.html">PString</a> * typeName = 0) <span class="keyword">const</span>;00297 <span class="keyword">virtual</span> <a class="code" href="classPString.html">PString</a> GetLanguage() <span class="keyword">const</span>;00298 00303 <span class="keyword">virtual</span> <a class="code" href="classPString.html">PString</a> GetSubject(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& lang = <a class="code" href="classPString.html#z231_33">PString::Empty</a>());00304 <span class="keyword">virtual</span> <a class="code" href="classPString.html">PString</a> GetBody(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& lang = <a class="code" href="classPString.html#z231_33">PString::Empty</a>());00305 <span class="keyword">virtual</span> <a class="code" href="classPString.html">PString</a> GetThread();00306 00307 <span class="keyword">virtual</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * GetSubjectElement(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& lang = <a class="code" href="classPString.html#z231_33">PString::Empty</a>());00308 <span class="keyword">virtual</span> <a class="code" href="classPXMLElement.html">PXMLElement</a> * GetBodyElement(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& lang = <a class="code" href="classPString.html#z231_33">PString::Empty</a>());00309 00310 <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetType(MessageType type);00311 <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetType(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& type); <span class="comment">// custom, possibly non standard, type</span>00312 <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetLanguage(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& lang);00313 00314 <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetSubject(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& subj, <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& lang = <a class="code" href="classPString.html#z231_33">PString::Empty</a>());00315 <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetBody(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& body, <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& lang = <a class="code" href="classPString.html#z231_33">PString::Empty</a>());00316 <span class="keyword">virtual</span> <span class="keywordtype">void</span> SetThread(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a>& thrd);00317 };00318 00319 00320 <span class="keyword">class </span>Presence : <span class="keyword">public</span> Stanza00321 {00322 <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(Presence, Stanza)00323 00324 <span class="keyword">public</span>:00325 <span class="keyword">enum</span> PresenceType {00326 Available,00327 Unavailable,00328 Subscribe,00329 Subscribed,00330 Unsubscribe,00331 Unsubscribed,00332 Probe,00333 Error,00334 Unknown = 99900335 };00336 00337 <span class="keyword">enum</span> ShowType {00338 Online,00339 Away,00340 Chat,00341 DND,00342 XA,00343 Other = 99900344 };00345 00348 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> Type;00349 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> Show;00350 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> Status;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -