~ubuntu-branches/ubuntu/trusty/libusermetrics/trusty-proposed

« back to all changes in this revision

Viewing changes to src/libusermetricsoutput/SyncedUserData.cpp

  • Committer: Package Import Robot
  • Author(s): Ubuntu daily release, Pete Woods, Ubuntu daily release
  • Date: 2013-07-02 02:02:52 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20130702020252-53yuhnlabsq1cq8x
Tags: 1.0.1+13.10.20130702-0ubuntu1
[ Pete Woods ]
* Implement most of storage service and wire up input API.
* Wire up the output API to the storage service.

[ Ubuntu daily release ]
* Automatic snapshot from revision 80

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (C) 2013 Canonical, Ltd.
 
3
 *
 
4
 * This library is free software; you can redistribute it and/or modify it under
 
5
 * the terms of version 3 of the GNU Lesser General Public License as published
 
6
 * by the Free Software Foundation.
 
7
 *
 
8
 * This library is distributed in the hope that it will be useful, but WITHOUT
 
9
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 
10
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 
11
 * details.
 
12
 *
 
13
 * You should have received a copy of the GNU Lesser General Public License
 
14
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
15
 *
 
16
 * Author: Pete Woods <pete.woods@canonical.com>
 
17
 */
 
18
 
 
19
#include <libusermetricsoutput/SyncedDataSet.h>
 
20
#include <libusermetricsoutput/SyncedUserData.h>
 
21
#include <libusermetricscommon/DataSetInterface.h>
 
22
#include <libusermetricscommon/DBusPaths.h>
 
23
 
 
24
using namespace com;
 
25
using namespace UserMetricsCommon;
 
26
using namespace UserMetricsOutput;
 
27
 
 
28
SyncedUserData::SyncedUserData(
 
29
                QSharedPointer<com::canonical::usermetrics::UserData> interface,
 
30
                QObject *parent) :
 
31
                UserData(parent), m_interface(interface) {
 
32
 
 
33
        for (const QDBusObjectPath &path : m_interface->dataSets()) {
 
34
 
 
35
                QSharedPointer<canonical::usermetrics::DataSet> dataSet(
 
36
                                new canonical::usermetrics::DataSet(DBusPaths::serviceName(),
 
37
                                                path.path(), m_interface->connection()));
 
38
 
 
39
                QString dataSource(dataSet->dataSource());
 
40
                insert(dataSource, DataSetPtr(new SyncedDataSet(dataSet)));
 
41
        }
 
42
 
 
43
        connect(m_interface.data(),
 
44
                        SIGNAL(dataSetAdded(const QString &, const QDBusObjectPath &)),
 
45
                        this, SLOT(addDataSet(const QString &, const QDBusObjectPath &)));
 
46
 
 
47
        connect(m_interface.data(),
 
48
                        SIGNAL(dataSetRemoved(const QString &, const QDBusObjectPath &)),
 
49
                        this,
 
50
                        SLOT(removeDataSet(const QString &, const QDBusObjectPath &)));
 
51
}
 
52
 
 
53
SyncedUserData::~SyncedUserData() {
 
54
}
 
55
 
 
56
void SyncedUserData::addDataSet(const QString &dataSourceName,
 
57
                const QDBusObjectPath &path) {
 
58
        QSharedPointer<canonical::usermetrics::DataSet> dataSet(
 
59
                        new canonical::usermetrics::DataSet(DBusPaths::serviceName(),
 
60
                                        path.path(), m_interface->connection()));
 
61
 
 
62
        insert(dataSourceName, DataSetPtr(new SyncedDataSet(dataSet)));
 
63
}
 
64
 
 
65
void SyncedUserData::removeDataSet(const QString &dataSetName,
 
66
                const QDBusObjectPath &path) {
 
67
        Q_UNUSED(path);
 
68
        m_dataSets.remove(dataSetName);
 
69
}