29 #ifndef ACCOUNTS_ACCOUNT_H
30 #define ACCOUNTS_ACCOUNT_H
32 #include "Accounts/accountscommon.h"
33 #include "Accounts/error.h"
34 #include "Accounts/service.h"
36 #define ACCOUNTS_KEY_CREDENTIALS_ID QLatin1String("CredentialsId")
38 #include <QStringList>
43 typedef struct _AgAccount AgAccount;
44 typedef struct _AgAccountWatch *AgAccountWatch;
53 typedef quint32 AccountId;
54 typedef QList<AccountId> AccountIdList;
57 class AccountServicePrivate;
70 class ACCOUNTS_EXPORT
Watch:
public QObject
78 Watch(QObject *parent = 0);
81 void setWatch(AgAccountWatch w) { watch = w; };
86 void notify(
const char *key);
95 class ACCOUNTS_EXPORT
Account:
public QObject
100 Account(
Manager *manager,
const QString &provider, QObject *parent = 0);
104 QObject *parent = 0);
106 AccountId id()
const;
110 bool supportsService(
const QString &serviceType)
const;
112 ServiceList services(
const QString &serviceType = QString())
const;
113 ServiceList enabledServices()
const;
115 bool enabled()
const;
116 void setEnabled(
bool);
125 uint credentialsId();
134 setValue(ACCOUNTS_KEY_CREDENTIALS_ID,
id);
137 QString displayName()
const;
138 void setDisplayName(
const QString &displayName);
140 QString providerName()
const;
144 Service selectedService()
const;
147 QStringList allKeys()
const;
148 void beginGroup(
const QString &prefix);
149 QStringList childGroups()
const;
150 QStringList childKeys()
const;
152 bool contains(
const QString &key)
const;
154 QString group()
const;
155 bool isWritable()
const;
156 void remove(
const QString &key);
158 void setValue(
const QString &key,
const QVariant &value);
159 QVariant value(
const QString &key,
160 const QVariant &defaultValue = QVariant(),
161 SettingSource *source = 0)
const;
162 SettingSource value(
const QString &key, QVariant &value)
const;
163 QString valueAsString(
const QString &key,
164 QString default_value = QString::null,
165 SettingSource *source = 0)
const;
166 int valueAsInt(
const QString &key,
167 int default_value = 0,
168 SettingSource *source = 0)
const;
169 quint64 valueAsUInt64(
const QString &key,
170 quint64 default_value = 0,
171 SettingSource *source = 0)
const;
172 bool valueAsBool(
const QString &key,
173 bool default_value =
false,
174 SettingSource *source = 0)
const;
176 Watch *watchKey(
const QString &key = QString());
183 void sign(
const QString &key,
const char *token);
184 bool verify(
const QString &key,
const char **token);
185 bool verifyWithTokens(
const QString &key, QList<const char*> tokens);
188 void displayNameChanged(
const QString &displayName);
189 void enabledChanged(
const QString &serviceName,
bool enabled);
197 AgAccount *account();
200 Account(Private *d, QObject *parent = 0);
202 friend class Account::Private;
205 friend class AccountServicePrivate;
214 #endif // ACCOUNTS_ACCOUNT_H