~ubuntu-branches/ubuntu/trusty/jreen/trusty

« back to all changes in this revision

Viewing changes to src/experimental/jingle.cpp

  • Committer: Package Import Robot
  • Author(s): Prasad Murthy
  • Date: 2013-03-08 00:00:33 UTC
  • Revision ID: package-import@ubuntu.com-20130308000033-x8thp6syo1kkh63s
Tags: upstream-1.1.1
Import upstream version 1.1.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/****************************************************************************
 
2
**
 
3
** Jreen
 
4
**
 
5
** Copyright © 2012 Ruslan Nigmatullin <euroelessar@yandex.ru>
 
6
**
 
7
*****************************************************************************
 
8
**
 
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.
 
14
**
 
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.
 
19
**
 
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$
 
23
**
 
24
****************************************************************************/
 
25
 
 
26
#include "jingle_p.h"
 
27
#include "jinglesession_p.h"
 
28
#include "../iqreply.h"
 
29
 
 
30
namespace Jreen
 
31
{
 
32
 
 
33
Jingle::Jingle() : action(Jingle::SessionInitiate)
 
34
{
 
35
}
 
36
 
 
37
Jingle::Ptr Jingle::create(JingleSession *session, Action action)
 
38
{
 
39
        Jingle::Ptr jingle = Jingle::Ptr::create();
 
40
        JingleSessionPrivate *d = JingleSessionPrivate::get(session);
 
41
        jingle->initiator = d->client->jid();
 
42
//      jingle->responder = d->other;
 
43
        if (d->incoming)
 
44
                qSwap(jingle->initiator, jingle->responder);
 
45
        jingle->action = action;
 
46
        jingle->sid = d->sid;
 
47
        return jingle;
 
48
}
 
49
 
 
50
IQReply *Jingle::send(JingleSession *session, Action action, const QList<Content> &contents)
 
51
{
 
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);
 
58
}
 
59
 
 
60
IQReply *Jingle::send(JingleSession *session, Action action, const Content &content)
 
61
{
 
62
        return send(session, action, QList<Content>() << content);
 
63
}
 
64
 
 
65
IQReply *Jingle::send(JingleSession *session, Action action, JingleContent *contentObject)
 
66
{
 
67
        JingleSessionPrivate *d = JingleSessionPrivate::get(session);
 
68
        JingleSessionContent *content = d->findContent(contentObject);
 
69
        Q_ASSERT(content);
 
70
        return send(session, action, *content);
 
71
}
 
72
 
 
73
}