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;
56 class AccountServicePrivate;
69 class ACCOUNTS_EXPORT
Watch:
public QObject
77 Watch(QObject *parent = 0);
80 void setWatch(AgAccountWatch w) { watch = w; };
85 void notify(
const char *key);
94 class ACCOUNTS_EXPORT
Account:
public QObject
101 AccountId id()
const;
105 bool supportsService(
const QString &serviceType)
const;
107 ServiceList services(
const QString &serviceType = NULL)
const;
108 ServiceList enabledServices()
const;
110 bool enabled()
const;
111 void setEnabled(
bool);
120 uint credentialsId();
129 setValue(ACCOUNTS_KEY_CREDENTIALS_ID,
id);
132 QString displayName()
const;
133 void setDisplayName(
const QString &displayName);
135 QString providerName()
const;
138 Service selectedService()
const;
141 QStringList allKeys()
const;
142 void beginGroup(
const QString &prefix);
143 QStringList childGroups()
const;
144 QStringList childKeys()
const;
146 bool contains(
const QString &key)
const;
148 QString group()
const;
149 bool isWritable()
const;
150 void remove(
const QString &key);
152 void setValue(
const QString &key,
const QVariant &value);
153 SettingSource value(
const QString &key, QVariant &value)
const;
154 QString valueAsString(
const QString &key,
155 QString default_value = QString::null,
156 SettingSource *source = 0)
const;
157 int valueAsInt(
const QString &key,
158 int default_value = 0,
159 SettingSource *source = 0)
const;
160 quint64 valueAsUInt64(
const QString &key,
161 quint64 default_value = 0,
162 SettingSource *source = 0)
const;
163 bool valueAsBool(
const QString &key,
164 bool default_value =
false,
165 SettingSource *source = 0)
const;
167 Watch *watchKey(
const QString &key = NULL);
174 void sign(
const QString &key,
const char *token);
175 bool verify(
const QString &key,
const char **token);
176 bool verifyWithTokens(
const QString &key, QList<const char*> tokens);
179 void displayNameChanged(
const QString &displayName);
180 void enabledChanged(
const QString &serviceName,
bool enabled);
189 Account(AgAccount *account, QObject *parent = 0);
193 AgAccount *account();
197 friend class Account::Private;
199 friend class AccountServicePrivate;
208 #endif // ACCOUNTS_ACCOUNT_H