gloox
1.0.22
src
stanzaextension.h
1
/*
2
Copyright (c) 2006-2017 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
14
#ifndef STANZAEXTENSION_H__
15
#define STANZAEXTENSION_H__
16
17
#include "macros.h"
18
19
#include <string>
20
21
namespace
gloox
22
{
23
24
class
Tag;
25
class
Stanza;
26
30
enum
StanzaExtensionType
31
{
32
ExtNone
,
33
ExtVCardUpdate
,
35
ExtOOB
,
37
ExtGPGSigned
,
39
ExtGPGEncrypted
,
41
ExtReceipt
,
43
ExtDelay
,
45
ExtAMP
,
47
ExtError
,
48
ExtCaps
,
50
ExtChatState
,
51
ExtMessageEvent
,
52
ExtDataForm
,
53
ExtNickname
,
54
ExtResourceBind
,
55
ExtSessionCreation
,
56
ExtVersion
,
58
ExtXHtmlIM
,
60
ExtDiscoInfo
,
61
ExtDiscoItems
,
62
ExtAdhocCommand
,
63
ExtPrivateXML
,
64
ExtRoster
,
65
ExtFeatureNeg
,
67
ExtIBB
,
68
ExtNonSaslAuth
,
69
ExtMUC
,
70
ExtMUCOwner
,
71
ExtMUCAdmin
,
72
ExtMUCUser
,
73
ExtMUCUnique
,
74
ExtPing
,
75
ExtSearch
,
76
ExtRegistration
,
77
ExtJingle
,
78
ExtVCard
,
79
ExtPrivacy
,
80
ExtLastActivity
,
81
ExtFlexOffline
,
82
ExtSI
,
83
ExtS5BQuery
,
84
ExtPubSub
,
85
ExtPubSubOwner
,
86
ExtPubSubEvent
,
88
ExtSHIM
,
89
ExtAttention
,
90
ExtForward
,
91
ExtCarbons
,
92
ExtIOData
,
94
ExtUser
97
};
98
203
class
GLOOX_API
StanzaExtension
204
{
205
public
:
211
StanzaExtension
(
int
type ) : m_valid( false ), m_extensionType( type ) {}
212
216
virtual
~StanzaExtension
() {}
217
224
virtual
Stanza
*
embeddedStanza
()
const
{
return
0; }
225
232
virtual
Tag
*
embeddedTag
()
const
{
return
0; }
233
240
virtual
const
std::string& filterString()
const
= 0;
241
253
virtual
StanzaExtension
* newInstance(
const
Tag
* tag )
const
= 0;
254
259
virtual
Tag
* tag()
const
= 0;
260
265
virtual
StanzaExtension
* clone()
const
= 0;
266
271
int
extensionType
()
const
{
return
m_extensionType; }
272
273
protected
:
274
bool
m_valid;
275
276
private
:
277
int
m_extensionType;
278
279
};
280
281
}
282
283
#endif // STANZAEXTENSION_H__
gloox::ExtMUC
@ ExtMUC
Definition:
stanzaextension.h:69
gloox::Stanza
This is the base class for XMPP stanza abstractions.
Definition:
stanza.h:33
gloox::ExtVersion
@ ExtVersion
Definition:
stanzaextension.h:56
gloox::StanzaExtension
This class abstracts a stanza extension, which is usually an XML child element in a specific namespac...
Definition:
stanzaextension.h:203
gloox::ExtChatState
@ ExtChatState
Definition:
stanzaextension.h:50
gloox::ExtResourceBind
@ ExtResourceBind
Definition:
stanzaextension.h:54
gloox::ExtCaps
@ ExtCaps
Definition:
stanzaextension.h:48
gloox::ExtPubSubEvent
@ ExtPubSubEvent
Definition:
stanzaextension.h:86
gloox::ExtVCard
@ ExtVCard
Definition:
stanzaextension.h:78
gloox::StanzaExtension::StanzaExtension
StanzaExtension(int type)
Definition:
stanzaextension.h:211
gloox::ExtRoster
@ ExtRoster
Definition:
stanzaextension.h:64
gloox::ExtForward
@ ExtForward
Definition:
stanzaextension.h:90
gloox::ExtNonSaslAuth
@ ExtNonSaslAuth
Definition:
stanzaextension.h:68
gloox::StanzaExtension::extensionType
int extensionType() const
Definition:
stanzaextension.h:271
gloox::ExtError
@ ExtError
Definition:
stanzaextension.h:47
gloox::ExtXHtmlIM
@ ExtXHtmlIM
Definition:
stanzaextension.h:58
gloox::StanzaExtension::~StanzaExtension
virtual ~StanzaExtension()
Definition:
stanzaextension.h:216
gloox::ExtFlexOffline
@ ExtFlexOffline
Definition:
stanzaextension.h:81
gloox::ExtReceipt
@ ExtReceipt
Definition:
stanzaextension.h:41
gloox::ExtMUCOwner
@ ExtMUCOwner
Definition:
stanzaextension.h:70
gloox::ExtAdhocCommand
@ ExtAdhocCommand
Definition:
stanzaextension.h:62
gloox::StanzaExtension::embeddedStanza
virtual Stanza * embeddedStanza() const
Definition:
stanzaextension.h:224
gloox::ExtUser
@ ExtUser
Definition:
stanzaextension.h:94
gloox::ExtSI
@ ExtSI
Definition:
stanzaextension.h:82
gloox::ExtPing
@ ExtPing
Definition:
stanzaextension.h:74
gloox::StanzaExtension::embeddedTag
virtual Tag * embeddedTag() const
Definition:
stanzaextension.h:232
gloox::ExtSHIM
@ ExtSHIM
Definition:
stanzaextension.h:88
gloox::ExtLastActivity
@ ExtLastActivity
Definition:
stanzaextension.h:80
gloox::ExtDelay
@ ExtDelay
Definition:
stanzaextension.h:43
gloox::ExtPubSubOwner
@ ExtPubSubOwner
Definition:
stanzaextension.h:85
gloox::ExtPubSub
@ ExtPubSub
Definition:
stanzaextension.h:84
gloox::ExtNickname
@ ExtNickname
Definition:
stanzaextension.h:53
gloox::ExtPrivacy
@ ExtPrivacy
Definition:
stanzaextension.h:79
gloox::ExtMUCAdmin
@ ExtMUCAdmin
Definition:
stanzaextension.h:71
gloox::ExtAttention
@ ExtAttention
Definition:
stanzaextension.h:89
gloox::ExtIOData
@ ExtIOData
Definition:
stanzaextension.h:92
gloox
The namespace for the gloox library.
Definition:
adhoc.cpp:27
gloox::ExtSearch
@ ExtSearch
Definition:
stanzaextension.h:75
gloox::ExtPrivateXML
@ ExtPrivateXML
Definition:
stanzaextension.h:63
gloox::ExtJingle
@ ExtJingle
Definition:
stanzaextension.h:77
gloox::Tag
This is an abstraction of an XML element.
Definition:
tag.h:46
gloox::ExtSessionCreation
@ ExtSessionCreation
Definition:
stanzaextension.h:55
gloox::StanzaExtensionType
StanzaExtensionType
Definition:
stanzaextension.h:30
gloox::ExtMUCUser
@ ExtMUCUser
Definition:
stanzaextension.h:72
gloox::ExtDiscoItems
@ ExtDiscoItems
Definition:
stanzaextension.h:61
gloox::ExtIBB
@ ExtIBB
Definition:
stanzaextension.h:67
gloox::ExtDiscoInfo
@ ExtDiscoInfo
Definition:
stanzaextension.h:60
gloox::ExtCarbons
@ ExtCarbons
Definition:
stanzaextension.h:91
gloox::ExtNone
@ ExtNone
Definition:
stanzaextension.h:32
gloox::ExtRegistration
@ ExtRegistration
Definition:
stanzaextension.h:76
gloox::ExtOOB
@ ExtOOB
Definition:
stanzaextension.h:35
gloox::ExtMUCUnique
@ ExtMUCUnique
Definition:
stanzaextension.h:73
gloox::ExtGPGSigned
@ ExtGPGSigned
Definition:
stanzaextension.h:37
gloox::ExtVCardUpdate
@ ExtVCardUpdate
Definition:
stanzaextension.h:33
gloox::ExtAMP
@ ExtAMP
Definition:
stanzaextension.h:45
gloox::ExtMessageEvent
@ ExtMessageEvent
Definition:
stanzaextension.h:51
gloox::ExtS5BQuery
@ ExtS5BQuery
Definition:
stanzaextension.h:83
gloox::ExtFeatureNeg
@ ExtFeatureNeg
Definition:
stanzaextension.h:65
gloox::ExtGPGEncrypted
@ ExtGPGEncrypted
Definition:
stanzaextension.h:39
gloox::ExtDataForm
@ ExtDataForm
Definition:
stanzaextension.h:52
Generated on Tue Mar 24 2020 14:04:23 for gloox by
1.8.17