chatstate.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef CHATSTATE_H__
00014 #define CHATSTATE_H__
00015
00016 #include "gloox.h"
00017 #include "stanzaextension.h"
00018
00019 #include <string>
00020
00021 namespace gloox
00022 {
00023
00024 class Tag;
00025
00033 class GLOOX_API ChatState : public StanzaExtension
00034 {
00035 public:
00036
00041 ChatState( const Tag* tag );
00042
00047 ChatState( ChatStateType state )
00048 : StanzaExtension( ExtChatState ), m_state( state )
00049 {}
00050
00054 virtual ~ChatState() {}
00055
00060 ChatStateType state() const { return m_state; }
00061
00062
00063 virtual const std::string& filterString() const;
00064
00065
00066 virtual StanzaExtension* newInstance( const Tag* tag ) const
00067 {
00068 return new ChatState( tag );
00069 }
00070
00071
00072 Tag* tag() const;
00073
00074
00075 virtual StanzaExtension* clone() const
00076 {
00077 return new ChatState( *this );
00078 }
00079
00080 private:
00081 ChatStateType m_state;
00082
00083 };
00084
00085 }
00086
00087 #endif // CHATSTATE_H__