gloox
1.0.22
src
mucroomhandler.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
15
#ifndef MUCROOMHANDLER_H__
16
#define MUCROOMHANDLER_H__
17
18
#include "gloox.h"
19
#include "presence.h"
20
#include "disco.h"
21
22
#include <string>
23
24
namespace
gloox
25
{
26
27
class
JID;
28
class
MUCRoom;
29
class
Message;
30
class
DataForm;
31
35
struct
MUCRoomParticipant
36
{
37
JID
*
nick
;
43
MUCRoomAffiliation
affiliation
;
44
MUCRoomRole
role
;
45
JID
*
jid
;
49
int
flags
;
54
std::string
reason
;
57
JID
*
actor
;
62
std::string
newNick
;
72
std::string
status
;
74
JID
*
alternate
;
77
};
78
90
class
GLOOX_API
MUCRoomHandler
91
{
92
public
:
96
virtual
~MUCRoomHandler
() {}
97
107
virtual
void
handleMUCParticipantPresence(
MUCRoom
* room,
const
MUCRoomParticipant
participant,
108
const
Presence
& presence ) = 0;
109
130
virtual
void
handleMUCMessage(
MUCRoom
* room,
const
Message
& msg,
bool
priv ) = 0;
131
149
virtual
bool
handleMUCRoomCreation(
MUCRoom
* room ) = 0;
150
158
virtual
void
handleMUCSubject(
MUCRoom
* room,
const
std::string& nick,
159
const
std::string& subject ) = 0;
160
168
virtual
void
handleMUCInviteDecline(
MUCRoom
* room,
const
JID
& invitee,
169
const
std::string& reason ) = 0;
170
187
virtual
void
handleMUCError(
MUCRoom
* room,
StanzaError
error ) = 0;
188
201
virtual
void
handleMUCInfo(
MUCRoom
* room,
int
features,
const
std::string& name,
202
const
DataForm
* infoForm ) = 0;
203
210
virtual
void
handleMUCItems(
MUCRoom
* room,
const
Disco::ItemList
& items ) = 0;
211
212
};
213
214
}
215
216
#endif// MUCROOMHANDLER_H__
gloox::MUCRoom
This is an implementation of XEP-0045 (Multi-User Chat).
Definition:
mucroom.h:85
gloox::MUCRoomParticipant::status
std::string status
Definition:
mucroomhandler.h:72
gloox::MUCRoomParticipant::affiliation
MUCRoomAffiliation affiliation
Definition:
mucroomhandler.h:43
gloox::MUCRoomParticipant::reason
std::string reason
Definition:
mucroomhandler.h:54
gloox::MUCRoomParticipant
Definition:
mucroomhandler.h:35
gloox::Message
An abstraction of a message stanza.
Definition:
message.h:33
gloox::MUCRoomParticipant::alternate
JID * alternate
Definition:
mucroomhandler.h:74
gloox::MUCRoomHandler
This interface enables inheriting classes to be notified about certain events in a MUC room.
Definition:
mucroomhandler.h:90
gloox::MUCRoomParticipant::role
MUCRoomRole role
Definition:
mucroomhandler.h:44
gloox::Disco::ItemList
std::list< Item * > ItemList
Definition:
disco.h:261
gloox::MUCRoomHandler::~MUCRoomHandler
virtual ~MUCRoomHandler()
Definition:
mucroomhandler.h:96
gloox::MUCRoomParticipant::actor
JID * actor
Definition:
mucroomhandler.h:57
gloox::DataForm
An abstraction of a XEP-0004 Data Form.
Definition:
dataform.h:56
gloox::StanzaError
StanzaError
Definition:
gloox.h:871
gloox::MUCRoomParticipant::flags
int flags
Definition:
mucroomhandler.h:49
gloox::Presence
An abstraction of a presence stanza.
Definition:
presence.h:32
gloox::JID
An abstraction of a JID.
Definition:
jid.h:30
gloox::MUCRoomRole
MUCRoomRole
Definition:
gloox.h:1163
gloox
The namespace for the gloox library.
Definition:
adhoc.cpp:27
gloox::MUCRoomParticipant::jid
JID * jid
Definition:
mucroomhandler.h:45
gloox::MUCRoomParticipant::newNick
std::string newNick
Definition:
mucroomhandler.h:62
gloox::MUCRoomParticipant::nick
JID * nick
Definition:
mucroomhandler.h:37
gloox::MUCRoomAffiliation
MUCRoomAffiliation
Definition:
gloox.h:1150
Generated on Mon Apr 25 2022 14:03:04 for gloox by
1.8.17