gloox 1.0.27
chatstate.h
1/*
2 Copyright (c) 2007-2023 by Jakob Schröter <js@camaya.net>
3 This file is part of the gloox library. http://camaya.net/gloox
4
5 This software is distributed under a license. The full license
6 agreement can be found in the file LICENSE in this distribution.
7 This software may not be copied, modified, sold or distributed
8 other than expressed in the named license agreement.
9
10 This software is distributed without any warranty.
11*/
12
13#ifndef CHATSTATE_H__
14#define CHATSTATE_H__
15
16#include "gloox.h"
17#include "stanzaextension.h"
18
19#include <string>
20
21namespace gloox
22{
23
24 class Tag;
25
33 class GLOOX_API ChatState : public StanzaExtension
34 {
35 public:
36
41 ChatState( const Tag* tag );
42
48 : StanzaExtension( ExtChatState ), m_state( state )
49 {}
50
54 virtual ~ChatState() {}
55
60 ChatStateType state() const { return m_state; }
61
62 // reimplemented from StanzaExtension
63 virtual const std::string& filterString() const;
64
65 // reimplemented from StanzaExtension
66 virtual StanzaExtension* newInstance( const Tag* tag ) const
67 {
68 return new ChatState( tag );
69 }
70
71 // reimplemented from StanzaExtension
72 Tag* tag() const;
73
74 // reimplemented from StanzaExtension
75 virtual StanzaExtension* clone() const
76 {
77 return new ChatState( *this );
78 }
79
80 private:
81 ChatStateType m_state;
82
83 };
84
85}
86
87#endif // CHATSTATE_H__
An implementation of Chat State Notifications (XEP-0085) as a StanzaExtension.
Definition chatstate.h:34
ChatState(ChatStateType state)
Definition chatstate.h:47
virtual StanzaExtension * clone() const
Definition chatstate.h:75
virtual StanzaExtension * newInstance(const Tag *tag) const
Definition chatstate.h:66
ChatStateType state() const
Definition chatstate.h:60
virtual ~ChatState()
Definition chatstate.h:54
This class abstracts a stanza extension, which is usually an XML child element in a specific namespac...
This is an abstraction of an XML element.
Definition tag.h:47
The namespace for the gloox library.
Definition adhoc.cpp:28
ChatStateType
Definition gloox.h:1105