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

« back to all changes in this revision

Viewing changes to src/libusermetricsinput/MetricManagerImpl.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:
18
18
 
19
19
#include <libusermetricsinput/MetricImpl.h>
20
20
#include <libusermetricsinput/MetricManagerImpl.h>
 
21
#include <libusermetricscommon/DBusPaths.h>
 
22
 
 
23
#include <QtDBus/QtDBus>
 
24
#include <QtCore/QDebug>
21
25
 
22
26
using namespace std;
 
27
using namespace UserMetricsCommon;
23
28
using namespace UserMetricsInput;
24
29
 
25
 
MetricManagerImpl::MetricManagerImpl(QObject *parent) :
26
 
                QObject(parent) {
 
30
MetricManagerImpl::MetricManagerImpl(const QDBusConnection &dbusConnection,
 
31
                QObject *parent) :
 
32
                QObject(parent), m_dbusConnection(dbusConnection), m_interface(
 
33
                                DBusPaths::serviceName(), DBusPaths::userMetrics(),
 
34
                                dbusConnection) {
27
35
}
28
36
 
29
37
MetricManagerImpl::~MetricManagerImpl() {
30
38
}
31
39
 
32
 
MetricPtr MetricManagerImpl::add(const string &dataSourceId,
33
 
                const string &formatString) {
34
 
        MetricPtr metric(new MetricImpl(dataSourceId, formatString));
35
 
        m_metrics.insert(QString::fromStdString(dataSourceId), metric);
36
 
        return metric;
 
40
MetricPtr MetricManagerImpl::add(const string &dataSourceIdIn,
 
41
                const string &formatStringIn) {
 
42
        QString dataSourceId(QString::fromStdString(dataSourceIdIn));
 
43
        QString formatString(QString::fromStdString(formatStringIn));
 
44
 
 
45
        QDBusObjectPath path(
 
46
                        m_interface.createDataSource(dataSourceId, formatString));
 
47
 
 
48
        auto metric(m_metrics.find(dataSourceId));
 
49
        if (metric == m_metrics.end()) {
 
50
                MetricPtr newMetric(
 
51
                                new MetricImpl(dataSourceIdIn, formatStringIn,
 
52
                                                m_dbusConnection));
 
53
                metric = m_metrics.insert(dataSourceId, newMetric);
 
54
        }
 
55
        return *metric;
37
56
}