gloox
1.0.9
Main Page
Related Pages
Namespaces
Classes
Files
File List
src
stanzaextension.h
1
/*
2
Copyright (c) 2006-2013 by Jakob Schroeter <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
ExtUser
95
};
96
180
class
GLOOX_API
StanzaExtension
181
{
182
public
:
188
StanzaExtension
(
int
type ) : m_valid( false ), m_extensionType( type ) {}
189
193
virtual
~StanzaExtension
() {}
194
201
virtual
Stanza
*
embeddedStanza
()
const
{
return
0; }
202
209
virtual
Tag
*
embeddedTag
()
const
{
return
0; }
210
217
virtual
const
std::string& filterString()
const
= 0;
218
230
virtual
StanzaExtension
* newInstance(
const
Tag
* tag )
const
= 0;
231
236
virtual
Tag
* tag()
const
= 0;
237
242
virtual
StanzaExtension
* clone()
const
= 0;
243
248
int
extensionType
()
const
{
return
m_extensionType; }
249
250
protected
:
251
bool
m_valid;
252
253
private
:
254
int
m_extensionType;
255
256
};
257
258
}
259
260
#endif // STANZAEXTENSION_H__
gloox::ExtJingle
Definition:
stanzaextension.h:77
gloox::ExtNickname
Definition:
stanzaextension.h:53
gloox::ExtReceipt
Definition:
stanzaextension.h:41
gloox::ExtSHIM
Definition:
stanzaextension.h:88
gloox::ExtPing
Definition:
stanzaextension.h:74
gloox::ExtPubSubOwner
Definition:
stanzaextension.h:85
gloox::ExtMUCUnique
Definition:
stanzaextension.h:73
gloox::ExtAttention
Definition:
stanzaextension.h:89
gloox::StanzaExtension::embeddedStanza
virtual Stanza * embeddedStanza() const
Definition:
stanzaextension.h:201
gloox::Stanza
This is the base class for XMPP stanza abstractions.
Definition:
stanza.h:33
gloox::ExtMUCUser
Definition:
stanzaextension.h:72
gloox::ExtNone
Definition:
stanzaextension.h:32
gloox::ExtGPGSigned
Definition:
stanzaextension.h:37
gloox::ExtDiscoInfo
Definition:
stanzaextension.h:60
gloox::ExtMUC
Definition:
stanzaextension.h:69
gloox::ExtSearch
Definition:
stanzaextension.h:75
gloox::ExtDelay
Definition:
stanzaextension.h:43
gloox::ExtDataForm
Definition:
stanzaextension.h:52
gloox::ExtPubSub
Definition:
stanzaextension.h:84
gloox::ExtLastActivity
Definition:
stanzaextension.h:80
gloox::ExtMessageEvent
Definition:
stanzaextension.h:51
gloox::StanzaExtension::extensionType
int extensionType() const
Definition:
stanzaextension.h:248
gloox::StanzaExtension::embeddedTag
virtual Tag * embeddedTag() const
Definition:
stanzaextension.h:209
gloox::ExtRoster
Definition:
stanzaextension.h:64
gloox::ExtCaps
Definition:
stanzaextension.h:48
gloox::ExtVCardUpdate
Definition:
stanzaextension.h:33
gloox::ExtOOB
Definition:
stanzaextension.h:35
gloox::ExtSI
Definition:
stanzaextension.h:82
gloox::ExtXHtmlIM
Definition:
stanzaextension.h:58
gloox::StanzaExtension
This class abstracts a stanza extension, which is usually an element in a specific namespace...
Definition:
stanzaextension.h:180
gloox::ExtCarbons
Definition:
stanzaextension.h:91
gloox::ExtVersion
Definition:
stanzaextension.h:56
gloox::ExtFeatureNeg
Definition:
stanzaextension.h:65
gloox::StanzaExtension::StanzaExtension
StanzaExtension(int type)
Definition:
stanzaextension.h:188
gloox::ExtVCard
Definition:
stanzaextension.h:78
gloox::ExtAdhocCommand
Definition:
stanzaextension.h:62
gloox::ExtIBB
Definition:
stanzaextension.h:67
gloox::ExtFlexOffline
Definition:
stanzaextension.h:81
gloox::ExtMUCOwner
Definition:
stanzaextension.h:70
gloox::ExtError
Definition:
stanzaextension.h:47
gloox::StanzaExtension::~StanzaExtension
virtual ~StanzaExtension()
Definition:
stanzaextension.h:193
gloox::ExtPrivateXML
Definition:
stanzaextension.h:63
gloox::ExtDiscoItems
Definition:
stanzaextension.h:61
gloox::ExtMUCAdmin
Definition:
stanzaextension.h:71
gloox::ExtS5BQuery
Definition:
stanzaextension.h:83
gloox::ExtResourceBind
Definition:
stanzaextension.h:54
gloox::ExtChatState
Definition:
stanzaextension.h:50
gloox::ExtGPGEncrypted
Definition:
stanzaextension.h:39
gloox::ExtRegistration
Definition:
stanzaextension.h:76
gloox::ExtSessionCreation
Definition:
stanzaextension.h:55
gloox::ExtUser
Definition:
stanzaextension.h:92
gloox::ExtPubSubEvent
Definition:
stanzaextension.h:86
gloox::ExtAMP
Definition:
stanzaextension.h:45
gloox::Tag
This is an abstraction of an XML element.
Definition:
tag.h:46
gloox::ExtPrivacy
Definition:
stanzaextension.h:79
gloox::StanzaExtensionType
StanzaExtensionType
Definition:
stanzaextension.h:30
gloox::ExtNonSaslAuth
Definition:
stanzaextension.h:68
gloox::ExtForward
Definition:
stanzaextension.h:90
Generated on Wed Jan 29 2014 17:07:23 for gloox by
1.8.6