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

« back to all changes in this revision

Viewing changes to src/libusermetricsoutput/UserMetricsStore.h

  • 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
#ifndef USERMETRICSOUTPUT_DATASETSTORE_H_
 
20
#define USERMETRICSOUTPUT_DATASETSTORE_H_
 
21
 
 
22
#include <libusermetricsoutput/DataSource.h>
 
23
#include <libusermetricsoutput/UserData.h>
 
24
 
 
25
#include <QtCore/QSharedPointer>
 
26
#include <QtCore/QMap>
 
27
 
 
28
namespace UserMetricsOutput {
 
29
 
 
30
class UserMetricsStore: public QObject {
 
31
Q_OBJECT
 
32
public:
 
33
        typedef QMap<QString, UserDataPtr> UserDataMap;
 
34
 
 
35
        typedef UserDataMap::iterator iterator;
 
36
 
 
37
        typedef UserDataMap::const_iterator const_iterator;
 
38
 
 
39
        typedef QMap<QString, DataSourcePtr> DataSourceMap;
 
40
 
 
41
        explicit UserMetricsStore(QObject *parent = 0);
 
42
 
 
43
        virtual ~UserMetricsStore();
 
44
 
 
45
        virtual const_iterator constFind(const QString &username) const;
 
46
 
 
47
        virtual const_iterator constEnd() const;
 
48
 
 
49
        virtual iterator insert(const QString &username, UserDataPtr userData);
 
50
 
 
51
        virtual void insert(const QString &name, DataSourcePtr dataSource);
 
52
 
 
53
        virtual DataSourcePtr dataSource(const QString &name);
 
54
 
 
55
protected:
 
56
        UserDataMap m_userData;
 
57
 
 
58
        DataSourceMap m_dataSources;
 
59
};
 
60
 
 
61
}
 
62
 
 
63
#endif // USERMETRICSOUTPUT_DATASETSTORE_H_