xmpp.h

Go to the documentation of this file.
00001 /*
00002  * xmpp.h
00003  *
00004  * Extensible Messaging and Presence Protocol (XMPP) Core
00005  *
00006  * Portable Windows Library
00007  *
00008  * Copyright (c) 2004 Reitek S.p.A.
00009  *
00010  * The contents of this file are subject to the Mozilla Public License
00011  * Version 1.0 (the "License"); you may not use this file except in
00012  * compliance with the License. You may obtain a copy of the License at
00013  * http://www.mozilla.org/MPL/
00014  *
00015  * Software distributed under the License is distributed on an "AS IS"
00016  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
00017  * the License for the specific language governing rights and limitations
00018  * under the License.
00019  *
00020  * The Original Code is Portable Windows Library.
00021  *
00022  * The Initial Developer of the Original Code is Post Increment
00023  *
00024  * Contributor(s): ______________________________________.
00025  *
00026  * $Log: xmpp.h,v $
00027  * Revision 1.5  2005/11/30 12:47:37  csoutheren
00028  * Removed tabs, reformatted some code, and changed tags for Doxygen
00029  *
00030  * Revision 1.4  2004/11/11 07:34:50  csoutheren
00031  * Added #include <ptlib.h>
00032  *
00033  * Revision 1.3  2004/05/09 07:23:46  rjongbloed
00034  * More work on XMPP, thanks Federico Pinna and Reitek S.p.A.
00035  *
00036  * Revision 1.2  2004/04/26 01:51:57  rjongbloed
00037  * More implementation of XMPP, thanks a lot to Federico Pinna & Reitek S.p.A.
00038  *
00039  * Revision 1.1  2004/04/22 12:31:00  rjongbloed
00040  * Added PNotifier extensions and XMPP (Jabber) support,
00041  *   thanks to Federico Pinna and Reitek S.p.A.
00042  *
00043  *
00044  */
00045 
00046 #ifndef _XMPP
00047 #define _XMPP
00048 
00049 #ifdef P_USE_PRAGMA
00050 #pragma interface
00051 #endif
00052 
00053 #include <ptlib.h>
00054 
00055 #if P_EXPAT
00056 
00057 #include <ptclib/pxml.h>
00058 #include <ptlib/notifier_ext.h>
00059 
00060 
00062 
00063 namespace XMPP
00064 {
00067   extern const PString Language;
00068   extern const PString Namespace;
00069   extern const PString MessageStanza;
00070   extern const PString PresenceStanza;
00071   extern const PString IQStanza;
00072   extern const PString IQQuery;
00073 
00074   class JID : public PObject
00075   {
00076     PCLASSINFO(JID, PObject);
00077 
00078   public:
00079     JID(const char * jid = 0);
00080     JID(const PString& jid);
00081     JID(const PString& user, const PString& server, const PString& resource = PString::Empty());
00082 
00083     virtual Comparison Compare(
00084       const PObject & obj   
00085       ) const;
00086 
00087     JID& operator=(
00088       const PString & jid  
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00089       );
00090 
00