25#include "application.h" 
   30#include <libaccounts-glib/ag-account.h> 
   93using namespace Accounts;
 
   95void Manager::Private::init(
Manager *q, AgManager *manager)
 
   97    Q_ASSERT(q_ptr == 
nullptr);
 
   98    Q_ASSERT(m_manager == 
nullptr);
 
  104        g_signal_connect_swapped
 
  105            (manager, 
"account-created",
 
  106             G_CALLBACK(&Private::on_account_created), q);
 
  107        g_signal_connect_swapped
 
  108            (manager, 
"account-deleted",
 
  109             G_CALLBACK(&Private::on_account_deleted), q);
 
  110        g_signal_connect_swapped
 
  111            (manager, 
"account-updated",
 
  112             G_CALLBACK(&Private::on_account_updated), q);
 
  113        g_signal_connect_swapped
 
  114            (manager, 
"enabled-event",
 
  115             G_CALLBACK(&Private::on_enabled_event), q);
 
  117        qWarning() << Q_FUNC_INFO << 
"Initializing with NULL AgManager!";
 
  121void Manager::Private::on_account_created(
Manager *self, AgAccountId 
id)
 
  126void Manager::Private::on_account_deleted(
Manager *self, AgAccountId 
id)
 
  131void Manager::Private::on_account_updated(
Manager *self, AgAccountId 
id)
 
  136void Manager::Private::on_enabled_event(
Manager *self, AgAccountId 
id)
 
  150    AgManager *manager = ag_manager_new();
 
  152    if (manager != 
nullptr) {
 
  153        d->init(
this, manager);
 
  155        qWarning() << 
"Manager could not be created. DB is locked";
 
 
  178        ag_manager_new_for_service_type(
serviceType.toUtf8().constData());
 
  180    if (manager != 
nullptr) {
 
  181        d->init(
this, manager);
 
  183        qWarning() << 
"Manager could not be created, DB is locked";
 
 
  200    GError *error = NULL;
 
  202        (AgManager *)g_initable_new(AG_TYPE_MANAGER, NULL, &error,
 
  203                                    "use-dbus", !disableNotifications,
 
  205    if (Q_LIKELY(manager)) {
 
  206        d->init(
this, manager);
 
  208        qWarning() << 
"Manager could not be created." << error->message;
 
  209        d->lastError = 
Error(error);
 
 
  219    g_signal_handlers_disconnect_by_func
 
  220        (d->m_manager, (
void *)&Private::on_enabled_event, 
this);
 
  221    g_signal_handlers_disconnect_by_func
 
  222        (d->m_manager, (
void *)&Private::on_account_updated, 
this);
 
  223    g_signal_handlers_disconnect_by_func
 
  224        (d->m_manager, (
void *)&Private::on_account_deleted, 
this);
 
  225    g_signal_handlers_disconnect_by_func
 
  226        (d->m_manager, (
void *)&Private::on_account_created, 
this);
 
  227    g_object_unref(d->m_manager);
 
 
  247    Account *
account = d->m_accounts.value(
id, 0);
 
 
  271        list = ag_manager_list(d->m_manager);
 
  273        list = ag_manager_list_by_service_type(d->m_manager,
 
  278    AccountIdList idList;
 
  281    for (iter = list; iter; iter = g_list_next(iter))
 
  283        idList.append((AccountId)GPOINTER_TO_INT(iter->data));
 
  286    ag_manager_list_free(list);
 
 
  305        list = ag_manager_list_enabled(d->m_manager);
 
  307        list = ag_manager_list_enabled_by_service_type(d->m_manager,
 
  312    AccountIdList idList;
 
  315    for (iter = list; iter; iter = g_list_next(iter))
 
  317        idList.append((AccountId)GPOINTER_TO_INT(iter->data));
 
  320    ag_manager_list_free(list);
 
 
  333    return new Account(
this, providerName, 
this);
 
 
  345        ag_manager_get_service(d->m_manager,
 
  346                               serviceName.toUtf8().constData());
 
 
  365        list = ag_manager_list_services(d->m_manager);
 
  367        list = ag_manager_list_services_by_type(d->m_manager,
 
  372    ServiceList servList;
 
  375    for (iter = list; iter; iter = g_list_next(iter))
 
  377        AgService *
service = (AgService*)iter->data;
 
 
  397    list = ag_manager_list_services_by_application(d->m_manager,
 
  401    ServiceList servList;
 
  404    for (iter = list; iter; iter = g_list_next(iter))
 
  406        AgService *
service = (AgService*)iter->data;
 
 
  425    provider = ag_manager_get_provider(d->m_manager,
 
  426                                       providerName.toUtf8().constData());
 
 
  439    list = ag_manager_list_providers(d->m_manager);
 
  442    ProviderList provList;
 
  445    for (iter = list; iter; iter = g_list_next(iter))
 
  447        AgProvider *
provider = (AgProvider*)iter->data;
 
 
  465    type = ag_manager_load_service_type(d->m_manager,
 
  466                                        name.toUtf8().constData());
 
 
  479    QByteArray ba = applicationName.toUtf8();
 
  481        ag_manager_get_application(d->m_manager, ba.constData());
 
 
  494    GList *applications, *list;
 
  496    applications = ag_manager_list_applications_by_service(d->m_manager,
 
  498    for (list = applications; list != NULL; list = list->next) {
 
  499        AgApplication *
application = (AgApplication *)list->data;
 
  502    g_list_free (applications);
 
 
  513    return UTF8(ag_manager_get_service_type (d->m_manager));
 
 
  527    ag_manager_set_db_timeout(d->m_manager, 
timeout);
 
 
  536    return ag_manager_get_db_timeout(d->m_manager);
 
 
  545    ag_manager_set_abort_on_db_timeout(d->m_manager, abort);
 
 
  554    return ag_manager_get_abort_on_db_timeout(d->m_manager);
 
 
  562    gboolean useDBus = 
true;
 
  563    g_object_get(d->m_manager,
 
  564                 "use-dbus", &useDBus,
 
 
Information on the client applications of libaccounts.
Base object definition for accounts error handling.
Manager of accounts, services and providers.
Application application(const QString &applicationName) const
Get an object representing an application.
AccountIdList accountListEnabled(const QString &serviceType=QString()) const
Lists the enabled accounts which support the requested service that also must be enabled.
ApplicationList applicationList(const Service &service) const
List the registered applications which support the given service.
ProviderList providerList() const
Gets a provider list.
Provider provider(const QString &providerName) const
Gets an object representing a provider.
QString serviceType() const
Gets the service type if given in manager constructor.
void setTimeout(quint32 timeout)
Sets the timeout for database operations.
AccountIdList accountList(const QString &serviceType=QString()) const
Lists the accounts which support the requested service.
Account * account(const AccountId &id) const
Loads an account from the database.
Manager(QObject *parent=nullptr)
Constructor.
void setAbortOnTimeout(bool abort)
Sets whether to abort the application when a database timeout occurs.
void enabledEvent(Accounts::AccountId id)
If the manager has been created with serviceType, this signal will be emitted when an account (identi...
bool abortOnTimeout() const
void accountRemoved(Accounts::AccountId id)
The signal is emitted when existing account is removed.
void accountUpdated(Accounts::AccountId id)
The signal is emitted when any account property for a particular service is updated.
Service service(const QString &serviceName) const
Gets an object representing a service.
Error lastError() const
Gets the last error.
Account * createAccount(const QString &providerName)
Creates a new account.
ServiceList serviceList(const QString &serviceType=QString()) const
Gets the service list.
quint32 timeout()
Gets the database timeout.
void accountCreated(Accounts::AccountId id)
The signal is emitted when new account is created.
Representation of an account provider.
Representation of an account service type.
Representation of an account service.