~ubuntu-branches/ubuntu/saucy/libusermetrics/saucy-proposed

« back to all changes in this revision

Viewing changes to src/usermetricsservice/DBusDataSet.cpp

  • Committer: Package Import Robot
  • Author(s): Ubuntu daily release, Pete Woods, Ubuntu daily release
  • Date: 2013-07-09 02:03:17 UTC
  • mfrom: (1.1.6)
  • Revision ID: package-import@ubuntu.com-20130709020317-0ptqrgp61hdk0pbi
Tags: 1.0.4+13.10.20130709-0ubuntu1
[ Pete Woods ]
* Add new simple "increment" API

[ Ubuntu daily release ]
* Automatic snapshot from revision 98

Show diffs side-by-side

added added

removed removed

Lines of Context:
65
65
        return data;
66
66
}
67
67
 
68
 
void DBusDataSet::update(const QVariantList &data) {
69
 
        DataSet dataSet;
70
 
        DataSet::findById(m_id, &dataSet);
71
 
 
72
 
        QVariantList oldData;
73
 
        getData(dataSet, oldData);
74
 
 
 
68
void DBusDataSet::internalUpdate(DataSet &dataSet, const QVariantList &oldData,
 
69
                const QVariantList &data) {
75
70
        QDate currentDate(m_dateFactory->currentDate());
76
71
        int daysSinceLastUpdate(dataSet.lastUpdated().daysTo(currentDate));
77
72
 
129
124
        m_adaptor->updated(dateTime.toTime_t(), newData);
130
125
}
131
126
 
 
127
void DBusDataSet::update(const QVariantList &data) {
 
128
        DataSet dataSet;
 
129
        DataSet::findById(m_id, &dataSet);
 
130
 
 
131
        QVariantList oldData;
 
132
        getData(dataSet, oldData);
 
133
 
 
134
        internalUpdate(dataSet, oldData, data);
 
135
}
 
136
 
 
137
void DBusDataSet::increment(double amount) {
 
138
        DataSet dataSet;
 
139
        DataSet::findById(m_id, &dataSet);
 
140
 
 
141
        QVariantList oldData;
 
142
        getData(dataSet, oldData);
 
143
 
 
144
        QVariantList data;
 
145
 
 
146
        QDate currentDate(m_dateFactory->currentDate());
 
147
        if (dataSet.lastUpdated() == currentDate && !oldData.empty()) {
 
148
                double value(oldData.first().toDouble());
 
149
                value += amount;
 
150
                data << value;
 
151
        } else {
 
152
                data << amount;
 
153
        }
 
154
 
 
155
        internalUpdate(dataSet, oldData, data);
 
156
}
 
157
 
132
158
uint DBusDataSet::lastUpdated() const {
133
159
        const QDate &lastUpdated(lastUpdatedDate());
134
160
        QDateTime dateTime(lastUpdated);