gloox
1.0.1
Main Page
Related Pages
Namespaces
Classes
Files
File List
src
stanzaextension.h
1
/*
2
Copyright (c) 2006-2012 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
29
enum
StanzaExtensionType
30
{
31
ExtNone
,
32
ExtVCardUpdate
,
34
ExtOOB
,
36
ExtGPGSigned
,
38
ExtGPGEncrypted
,
40
ExtReceipt
,
42
ExtDelay
,
44
ExtAMP
,
46
ExtError
,
47
ExtCaps
,
49
ExtChatState
,
50
ExtMessageEvent
,
51
ExtDataForm
,
52
ExtNickname
,
53
ExtResourceBind
,
54
ExtSessionCreation
,
55
ExtVersion
,
57
ExtXHtmlIM
,
59
ExtDiscoInfo
,
60
ExtDiscoItems
,
61
ExtAdhocCommand
,
62
ExtPrivateXML
,
63
ExtRoster
,
64
ExtFeatureNeg
,
66
ExtIBB
,
67
ExtNonSaslAuth
,
68
ExtMUC
,
69
ExtMUCOwner
,
70
ExtMUCAdmin
,
71
ExtMUCUser
,
72
ExtMUCUnique
,
73
ExtPing
,
74
ExtSearch
,
75
ExtRegistration
,
76
ExtJingle
,
77
ExtVCard
,
78
ExtPrivacy
,
79
ExtLastActivity
,
80
ExtFlexOffline
,
81
ExtSI
,
82
ExtS5BQuery
,
83
ExtPubSub
,
84
ExtPubSubOwner
,
85
ExtPubSubEvent
,
87
ExtSHIM
,
88
ExtAttention
,
89
ExtUser
92
};
93
177
class
GLOOX_API
StanzaExtension
178
{
179
public
:
185
StanzaExtension
(
int
type ) : m_valid( false ), m_extensionType( type ) {}
186
190
virtual
~StanzaExtension
() {}
191
198
virtual
const
std::string& filterString()
const
= 0;
199
211
virtual
StanzaExtension
* newInstance(
const
Tag
* tag )
const
= 0;
212
217
virtual
Tag
* tag()
const
= 0;
218
223
virtual
StanzaExtension
* clone()
const
= 0;
224
229
int
extensionType
()
const
{
return
m_extensionType; }
230
231
protected
:
232
bool
m_valid;
233
234
private
:
235
int
m_extensionType;
236
237
};
238
239
}
240
241
#endif // STANZAEXTENSION_H__
Generated on Sun Jun 30 2013 14:37:36 for gloox by
1.8.1.2