uniquemucroom.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
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
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
00089 virtual const std::string& filterString() const;
00090
00091
00092 virtual StanzaExtension* newInstance( const Tag* tag ) const
00093 {
00094 return new Unique( tag );
00095 }
00096
00097
00098 virtual Tag* tag() const;
00099
00100
00101 virtual StanzaExtension* clone() const
00102 {
00103 return new Unique( *this );
00104 }
00105
00106 private:
00107 std::string m_name;
00108 };
00109
00110
00111 void handleIqID( const IQ& iq, int context );
00112
00113 };
00114
00115 }
00116
00117 #endif // UNIQUEMUCROOM_H__