Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | Related Pages

uniquemucroom.h

00001 /*
00002   Copyright (c) 2007-2008 by Jakob Schroeter <js@camaya.net>
00003   This file is part of the gloox library. http://camaya.net/gloox
00004 
00005   This software is distributed under a license. The full license
00006   agreement can be found in the file LICENSE in this distribution.
00007   This software may not be copied, modified, sold or distributed
00008   other than expressed in the named license agreement.
00009 
00010   This software is distributed without any warranty.
00011 */
00012 
00013 
00014 
00015 #ifndef UNIQUEMUCROOM_H__
00016 #define UNIQUEMUCROOM_H__
00017 
00018 #include "instantmucroom.h"
00019 #include "stanzaextension.h"
00020 
00021 namespace gloox
00022 {
00023 
00034   class GLOOX_API UniqueMUCRoom : public InstantMUCRoom
00035   {
00036     public:
00048       UniqueMUCRoom( ClientBase* parent, const JID& nick, MUCRoomHandler* mrh );
00049 
00053       virtual ~UniqueMUCRoom();
00054 
00055       // reimplemented from MUCRoom
00056       virtual void join();
00057 
00058     private:
00059 #ifdef UNIQUEMUCROOM_TEST
00060     public:
00061 #endif
00062 
00068       class Unique : public StanzaExtension
00069       {
00070         public:
00075           Unique( const Tag* tag = 0 );
00076 
00080           virtual ~Unique() {}
00081 
00086           const std::string& name() const { return m_name; }
00087 
00088           // reimplemented from StanzaExtension
00089           virtual const std::string& filterString() const;
00090 
00091           // reimplemented from StanzaExtension
00092           virtual StanzaExtension* newInstance( const Tag* tag ) const
00093           {
00094             return new Unique( tag );
00095           }
00096 
00097           // reimplemented from StanzaExtension
00098           virtual Tag* tag() const;
00099 
00100         private:
00101           std::string m_name;
00102       };
00103 
00104       // reimplemented from MUCRoom (IqHandler)
00105       void handleIqID( const IQ& iq, int context );
00106 
00107   };
00108 
00109 }
00110 
00111 #endif // UNIQUEMUCROOM_H__

Generated on Mon Sep 1 09:25:11 2008 for gloox by  doxygen 1.4.1