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__
Generated on Tue Oct 15 2013 19:25:21 for gloox by
1.8.1.2