~chris.gagnon/+junk/qtpim-coverage

« back to all changes in this revision

Viewing changes to src/contacts/requests/qcontactrelationshipsaverequest.cpp

  • Committer: chris.gagnon
  • Date: 2013-12-10 23:09:37 UTC
  • Revision ID: chris.gagnon@canonical.com-20131210230937-2akf1ft1edcttk87
first post

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/****************************************************************************
 
2
**
 
3
** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
 
4
** Contact: http://www.qt-project.org/legal
 
5
**
 
6
** This file is part of the QtContacts module of the Qt Toolkit.
 
7
**
 
8
** $QT_BEGIN_LICENSE:LGPL$
 
9
** Commercial License Usage
 
10
** Licensees holding valid commercial Qt licenses may use this file in
 
11
** accordance with the commercial license agreement provided with the
 
12
** Software or, alternatively, in accordance with the terms contained in
 
13
** a written agreement between you and Digia.  For licensing terms and
 
14
** conditions see http://qt.digia.com/licensing.  For further information
 
15
** use the contact form at http://qt.digia.com/contact-us.
 
16
**
 
17
** GNU Lesser General Public License Usage
 
18
** Alternatively, this file may be used under the terms of the GNU Lesser
 
19
** General Public License version 2.1 as published by the Free Software
 
20
** Foundation and appearing in the file LICENSE.LGPL included in the
 
21
** packaging of this file.  Please review the following information to
 
22
** ensure the GNU Lesser General Public License version 2.1 requirements
 
23
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 
24
**
 
25
** In addition, as a special exception, Digia gives you certain additional
 
26
** rights.  These rights are described in the Digia Qt LGPL Exception
 
27
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 
28
**
 
29
** GNU General Public License Usage
 
30
** Alternatively, this file may be used under the terms of the GNU
 
31
** General Public License version 3.0 as published by the Free Software
 
32
** Foundation and appearing in the file LICENSE.GPL included in the
 
33
** packaging of this file.  Please review the following information to
 
34
** ensure the GNU General Public License version 3.0 requirements will be
 
35
** met: http://www.gnu.org/copyleft/gpl.html.
 
36
**
 
37
**
 
38
** $QT_END_LICENSE$
 
39
**
 
40
****************************************************************************/
 
41
 
 
42
#include "qcontactrelationshipsaverequest.h"
 
43
#include "qcontactrequests_p.h"
 
44
 
 
45
QT_BEGIN_NAMESPACE_CONTACTS
 
46
 
 
47
/*!
 
48
  \class QContactRelationshipSaveRequest
 
49
  \brief The QContactRelationshipSaveRequest class allows a client to asynchronously
 
50
    request that certain groups be saved to a contacts store.
 
51
 
 
52
  For a QContactRelationshipSaveRequest, the resultsAvailable() signal will be emitted when
 
53
  either the individual item errors (which may be retrieved by calling errorMap()), or the resultant
 
54
  relationships (which may be retrieved by calling relationships()), are updated, as well as if
 
55
  the overall operation error (which may be retrieved by calling error()) is updated.
 
56
 
 
57
  Please see the class documentation of QContactAbstractRequest for more information about
 
58
  the usage of request classes and ownership semantics.
 
59
 
 
60
 
 
61
  \inmodule QtContacts
 
62
 
 
63
  \ingroup contacts-requests
 
64
 */
 
65
 
 
66
/*! Constructs a new relationship save request whose parent is the specified \a parent */
 
67
QContactRelationshipSaveRequest::QContactRelationshipSaveRequest(QObject* parent)
 
68
    : QContactAbstractRequest(new QContactRelationshipSaveRequestPrivate, parent)
 
69
{
 
70
}
 
71
 
 
72
/*! Frees any memory used by this request */
 
73
QContactRelationshipSaveRequest::~QContactRelationshipSaveRequest()
 
74
{
 
75
    QContactAbstractRequestPrivate::notifyEngine(this);
 
76
}
 
77
 
 
78
/*!
 
79
  Sets the relationship to save to be \a contactRelationship.
 
80
  Equivalent to calling:
 
81
  \code
 
82
      setRelationships(QList<QContactRelationship>() << contactRelationships);
 
83
  \endcode
 
84
 */
 
85
void QContactRelationshipSaveRequest::setRelationship(const QContactRelationship& contactRelationship)
 
86
{
 
87
    Q_D(QContactRelationshipSaveRequest);
 
88
    QMutexLocker ml(&d->m_mutex);
 
89
    d->m_relationships.clear();
 
90
    d->m_relationships.append(contactRelationship);
 
91
}
 
92
 
 
93
/*! Sets the relationships to save to be \a contactRelationships
 
94
*/
 
95
void QContactRelationshipSaveRequest::setRelationships(const QList<QContactRelationship>& contactRelationships)
 
96
{
 
97
    Q_D(QContactRelationshipSaveRequest);
 
98
    QMutexLocker ml(&d->m_mutex);
 
99
    d->m_relationships = contactRelationships;
 
100
}
 
101
 
 
102
/*! Returns the list of relationships that will be saved if called prior to calling \c start(),
 
103
    otherwise returns the list of relationships as they were saved in the contacts store
 
104
*/
 
105
QList<QContactRelationship> QContactRelationshipSaveRequest::relationships() const
 
106
{
 
107
    Q_D(const QContactRelationshipSaveRequest);
 
108
    QMutexLocker ml(&d->m_mutex);
 
109
    return d->m_relationships;
 
110
}
 
111
 
 
112
/*! Returns the map of input relationship list indices to errors which occurred
 
113
*/
 
114
QMap<int, QContactManager::Error> QContactRelationshipSaveRequest::errorMap() const
 
115
{
 
116
    Q_D(const QContactRelationshipSaveRequest);
 
117
    QMutexLocker ml(&d->m_mutex);
 
118
    return d->m_errors;
 
119
}
 
120
 
 
121
#include "moc_qcontactrelationshipsaverequest.cpp"
 
122
 
 
123
QT_END_NAMESPACE_CONTACTS