on 07147a1 help sign in
unity8/plugins/AccountsService/AccountsService.h
90 lines 2.7 kB history raw
1/*
2 * Copyright (C) 2013 Canonical, Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * Authors: Michael Terry <michael.terry@canonical.com>
17 */
19#ifndef UNITY_ACCOUNTSSERVICE_H
20#define UNITY_ACCOUNTSSERVICE_H
22#include <QObject>
23#include <QString>
25class AccountsServiceDBusAdaptor;
27class AccountsService: public QObject
29 Q_OBJECT
30 Q_ENUMS(PasswordDisplayHint)
31 Q_PROPERTY (QString user
32 READ user
33 WRITE setUser
34 NOTIFY userChanged)
35 Q_PROPERTY (bool demoEdges
36 READ demoEdges
37 WRITE setDemoEdges
38 NOTIFY demoEdgesChanged)
39 Q_PROPERTY (QString backgroundFile
40 READ backgroundFile
41 NOTIFY backgroundFileChanged)
42 Q_PROPERTY (bool statsWelcomeScreen
43 READ statsWelcomeScreen
44 NOTIFY statsWelcomeScreenChanged)
45 Q_PROPERTY (PasswordDisplayHint passwordDisplayHint
46 READ passwordDisplayHint
47 NOTIFY passwordDisplayHintChanged)
49public:
50 enum PasswordDisplayHint {
51 Keyboard,
52 Numeric,
53 };
55 explicit AccountsService(QObject *parent = 0);
57 QString user() const;
58 void setUser(const QString &user);
59 bool demoEdges() const;
60 void setDemoEdges(bool demoEdges);
61 QString backgroundFile() const;
62 bool statsWelcomeScreen() const;
63 PasswordDisplayHint passwordDisplayHint() const;
65Q_SIGNALS:
66 void userChanged();
67 void demoEdgesChanged();
68 void backgroundFileChanged();
69 void statsWelcomeScreenChanged();
70 void passwordDisplayHintChanged();
72private Q_SLOTS:
73 void propertiesChanged(const QString &user, const QString &interface, const QStringList &changed);
74 void maybeChanged(const QString &user);
76private:
77 void updateDemoEdges();
78 void updateBackgroundFile();
79 void updateStatsWelcomeScreen();
80 void updatePasswordDisplayHint();
82 AccountsServiceDBusAdaptor *m_service;
83 QString m_user;
84 bool m_demoEdges;
85 QString m_backgroundFile;
86 bool m_statsWelcomeScreen;
87 PasswordDisplayHint m_passwordDisplayHint;
88};
90#endif