1
/****************************************************************************
5
** Copyright © 2012 Ruslan Nigmatullin <euroelessar@yandex.ru>
7
*****************************************************************************
9
** $JREEN_BEGIN_LICENSE$
10
** This program is free software: you can redistribute it and/or modify
11
** it under the terms of the GNU General Public License as published by
12
** the Free Software Foundation, either version 2 of the License, or
13
** (at your option) any later version.
15
** This program is distributed in the hope that it will be useful,
16
** but WITHOUT ANY WARRANTY; without even the implied warranty of
17
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
** See the GNU General Public License for more details.
20
** You should have received a copy of the GNU General Public License
21
** along with this program. If not, see http://www.gnu.org/licenses/.
22
** $JREEN_END_LICENSE$
24
****************************************************************************/
27
#include "jinglesession_p.h"
28
#include "../iqreply.h"
33
Jingle::Jingle() : action(Jingle::SessionInitiate)
37
Jingle::Ptr Jingle::create(JingleSession *session, Action action)
39
Jingle::Ptr jingle = Jingle::Ptr::create();
40
JingleSessionPrivate *d = JingleSessionPrivate::get(session);
41
jingle->initiator = d->client->jid();
42
// jingle->responder = d->other;
44
qSwap(jingle->initiator, jingle->responder);
45
jingle->action = action;
50
IQReply *Jingle::send(JingleSession *session, Action action, const QList<Content> &contents)
52
JingleSessionPrivate *d = JingleSessionPrivate::get(session);
53
Jingle::Ptr jingle = create(session, action);
54
jingle->contents = contents;
55
IQ iq(IQ::Set, d->other);
56
iq.addExtension(jingle);
57
return d->client->send(iq);
60
IQReply *Jingle::send(JingleSession *session, Action action, const Content &content)
62
return send(session, action, QList<Content>() << content);
65
IQReply *Jingle::send(JingleSession *session, Action action, JingleContent *contentObject)
67
JingleSessionPrivate *d = JingleSessionPrivate::get(session);
68
JingleSessionContent *content = d->findContent(contentObject);
70
return send(session, action, *content);