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

« back to all changes in this revision

Viewing changes to src/usermetricsservice/DBusUserMetrics.cpp

  • Committer: Package Import Robot
  • Author(s): Ubuntu daily release, Pete Woods, Ubuntu daily release
  • Date: 2013-07-03 14:16:44 UTC
  • mfrom: (1.1.3)
  • Revision ID: package-import@ubuntu.com-20130703141644-3apl14qyyga4ytxv
Tags: 1.0.2+13.10.20130703.1-0ubuntu1
[ Pete Woods ]
* Add support for providing and storing text domain for format strings
* Support string for empty data
* Update doxyfile format
* Make prerm script more heavy handed
* Only try and register the service inside main
* Log daemon output to syslog

[ Ubuntu daily release ]
* Automatic snapshot from revision 88

Show diffs side-by-side

added added

removed removed

Lines of Context:
47
47
 
48
48
        // DBus setup
49
49
 
50
 
        if (!m_dbusConnection.registerService(DBusPaths::serviceName())) {
51
 
                qWarning() << "Unable to register user metrics service on DBus";
52
 
        }
53
50
        if (!m_dbusConnection.registerObject(DBusPaths::userMetrics(), this)) {
54
51
                throw logic_error("Unable to register user metrics object on DBus");
55
52
        }
59
56
 
60
57
DBusUserMetrics::~DBusUserMetrics() {
61
58
        m_dbusConnection.unregisterObject(DBusPaths::userMetrics());
62
 
        if (!m_dbusConnection.unregisterService(DBusPaths::serviceName())) {
63
 
                qWarning() << "Unable to unregister user metrics service on DBus";
64
 
        }
65
59
}
66
60
 
67
61
QList<QDBusObjectPath> DBusUserMetrics::dataSources() const {
128
122
}
129
123
 
130
124
QDBusObjectPath DBusUserMetrics::createDataSource(const QString &name,
131
 
                const QString &formatString) {
 
125
                const QString &formatString, const QString &emptyDataString,
 
126
                const QString &textDomain) {
132
127
        QDjangoQuerySet<DataSource> dataSourcesQuery;
133
128
        QDjangoQuerySet<DataSource> query(
134
129
                        dataSourcesQuery.filter(
143
138
        if (query.size() == 0) {
144
139
                dataSource.setName(name);
145
140
                dataSource.setFormatString(formatString);
 
141
                dataSource.setEmptyDataString(emptyDataString);
 
142
                dataSource.setTextDomain(textDomain);
146
143
 
147
144
                if (!dataSource.save()) {
148
145
                        throw logic_error("could not save data source");
151
148
                syncDatabase();
152
149
        } else {
153
150
                query.at(0, &dataSource);
 
151
                const DBusDataSourcePtr dbusDataSource(
 
152
                                *m_dataSources.constFind(dataSource.id()));
 
153
                if (dataSource.formatString() != formatString) {
 
154
                        dbusDataSource->setFormatString(formatString);
 
155
                }
 
156
                if (dataSource.emptyDataString() != emptyDataString) {
 
157
                        dbusDataSource->setEmptyDataString(emptyDataString);
 
158
                }
 
159
                if (dataSource.textDomain() != textDomain) {
 
160
                        dbusDataSource->setTextDomain(textDomain);
 
161
                }
154
162
        }
155
163
 
156
164
        return QDBusObjectPath((*m_dataSources.constFind(dataSource.id()))->path());