Accounts.Manager

Manager of accounts, services and providers. More...

#include <Accounts/Manager>

Inherits QObject.

Public Types

enum  DisableNotifications = 0x1 }
 Specifies options for the object. More...
 

Signals

void accountCreated (Accounts::AccountId id)
 The signal is emitted when new account is created. More...
 
void accountRemoved (Accounts::AccountId id)
 The signal is emitted when existing account is removed. More...
 
void accountUpdated (Accounts::AccountId id)
 The signal is emitted when any account property for a particular service is updated. More...
 
void enabledEvent (Accounts::AccountId id)
 If the manager has been created with serviceType, this signal will be emitted when an account (identified by AccountId) has been modified in such a way that the application might be interested to start/stop using it: the "enabled" flag on the account or in some service supported by the account and matching the AgManager::serviceType have changed. More...
 

Public Member Functions

 Manager (QObject *parent=0)
 Constructor. More...
 
 serviceType, QObject *parent=0)
 Constructs a manager initialized with service type. More...
 
 options, QObject *parent=0)
 Constructor, allowing option flags to be specified. More...
 
 ~Manager ()
 Destructor.
 
Account * account (const AccountId &id) const
 Loads an account from the database. More...
 
AccountIdList serviceType=QString::null) const
 Lists the accounts which support the requested service. More...
 
AccountIdList serviceType=QString::null) const
 Lists the enabled accounts which support the requested service that also must be enabled. More...
 
Account * createAccount (const QString &providerName)
 Creates a new account. More...
 
service (const QString &serviceName) const
 Gets an object representing a service. More...
 
ServiceList serviceType=QString::null) const
 Gets the service list. More...
 
provider (const QString &providerName) const
 Gets an object representing a provider. More...
 
ProviderList providerList () const
 Gets a provider list. More...
 
serviceType (const QString &name) const
 Gets an object representing a service type. More...
 
application (const QString &applicationName) const
 Get an object representing an application. More...
 
ApplicationList service) const
 List the registered applications which support the given service. More...
 
QString serviceType () const
 Gets the service type if given in manager constructor. More...
 
void timeout)
 Sets the timeout for database operations. More...
 
quint32 timeout ()
 Gets the database timeout. More...
 
void setAbortOnTimeout (bool abort)
 Sets whether to abort the application when a database timeout occurs. More...
 
bool abortOnTimeout () const
 
Options options () const
 
lastError () const
 Gets the last error. More...
 

Detailed Description

Manager of accounts, services and providers.

The Manager offers ways to create accounts, list accounts, services and providers. It also emits signals when accounts are created and removed.

Definition at line 51 of file manager.h.

Member Enumeration Documentation

enum Option

Specifies options for the object.

Enumerator
DisableNotifications 

Disable all inter-process notifications

Definition at line 60 of file manager.h.

Constructor & Destructor Documentation

Manager ( QObject   parent = 0)

Constructor.

Users should check for manager->lastError() to check if manager construction was fully succesful.

Definition at line 146 of file manager.cpp.

References Error::DatabaseLocked.

Manager ( const QString &  serviceType,
QObject   parent = 0 
)

Constructs a manager initialized with service type.

This constructor should be used when there is an interest for just one service type. Such a manager has influence on some class methods. When listing the accounts and services only the ones supporting the given service type will be returned. Also the creating account with this manager will affect the acccount class method for listing services in same manner. The signal lastError() to check if manager construction was fully succesful.

Definition at line 173 of file manager.cpp.

References Error::DatabaseLocked.

Manager ( Options  options,
QObject   parent = 0 
)

Constructor, allowing option flags to be specified.

Users should check for lastError() to check if manager construction was fully succesful.

Definition at line 194 of file manager.cpp.

References Manager::DisableNotifications.

Member Function Documentation

bool abortOnTimeout ( ) const
Returns
Whether the application will be aborted when a database timeout occurs.

Definition at line 523 of file manager.cpp.

Account * account ( const AccountId &  id) const

Loads an account from the database.

Parameters
idId of the account to be retrieved.
Returns
Requested account or 0 if not found. If 0 is returned, call lastError() to find out why.
Attention
The objects returned by this method are shared, meaning that calling this method twice with the same id will return the same object. It is recommended that clients do not destroy the objects returned by this method, if there's the possibility that they are still being used in other parts of the application.

Definition at line 245 of file manager.cpp.

accountCreated ( Accounts::AccountId  id)
signal

The signal is emitted when new account is created.

Parameters
idIdentifier of the Account
AccountIdList accountList ( const QString &  serviceType = QString::null) const

Lists the accounts which support the requested service.

Parameters
serviceTypeType of service that returned accounts must support. If not given and the manager is not constructed with service type, all accounts are returned.
Returns
List of account IDs.

Definition at line 266 of file manager.cpp.

AccountIdList accountListEnabled ( const QString &  serviceType = QString::null) const

Lists the enabled accounts which support the requested service that also must be enabled.

Parameters
serviceTypeType of service that returned accounts must support. If not given and the manager is not constructed with service type, all enabled accounts are returned.
Returns
List of account IDs.

Definition at line 301 of file manager.cpp.

accountRemoved ( Accounts::AccountId  id)
signal

The signal is emitted when existing account is removed.

Parameters
idIdentifier of the Account
accountUpdated ( Accounts::AccountId  id)
signal

The signal is emitted when any account property for a particular service is updated.

To receive this notification user has to create accounts manager using Manager(const QString &serviceType, QObject parent) constructor. Update notification is only emitted when manager is created for particular type of service.

Parameters
idIdentifier of the Account
Application application ( const QString &  applicationName) const

Get an object representing an application.

Parameters
applicationNameName of the application to load.
Returns
The requested Application, or an invalid Application object if not found.

Definition at line 448 of file manager.cpp.

Referenced by Manager::applicationList().

ApplicationList applicationList ( const Service service) const

List the registered applications which support the given service.

Parameters
serviceThe service to be supported.
Returns
A list of Application objects.

Definition at line 462 of file manager.cpp.

References Manager::application().

Account * createAccount ( const QString &  providerName)

Creates a new account.

Parameters
providerNameName of account provider.
Returns
Created account or NULL if some error occurs.

Definition at line 331 of file manager.cpp.

enabledEvent ( Accounts::AccountId  id)
signal

If the manager has been created with serviceType, this signal will be emitted when an account (identified by AccountId) has been modified in such a way that the application might be interested to start/stop using it: the "enabled" flag on the account or in some service supported by the account and matching the AgManager::serviceType have changed.

Note
In practice, this signal might be emitted more often than when strictly needed; applications must call Account::enabledServices() to get the current state.
Parameters
ididentifier of the Account
Error lastError ( ) const

Gets the last error.

Not all operations set/reset the error; see the individual methods' documentation to see if they set the last error or not. Call this method right after an account operation has failed; if no error occurred, the result of this method are undefined.

Returns
The last error.

Definition at line 554 of file manager.cpp.

Manager::Options options ( ) const
Returns
Configuration options for this object.

Definition at line 531 of file manager.cpp.

References Manager::DisableNotifications.

Provider provider ( const QString &  providerName) const

Gets an object representing a provider.

Parameters
providerNameName of provider to get.
Returns
Requested provider or NULL if not found.

Definition at line 392 of file manager.cpp.

Referenced by Manager::providerList().

ProviderList providerList ( ) const

Gets a provider list.

Returns
List of registered providers.

Definition at line 406 of file manager.cpp.

References Manager::provider().

Service service ( const QString &  serviceName) const

Gets an object representing a service.

Parameters
serviceNameName of service to get.
Returns
The requested service or an invalid service if not found.

Definition at line 342 of file manager.cpp.

Referenced by Manager::serviceList().

ServiceList serviceList ( const QString &  serviceType = QString::null) const

Gets the service list.

If the manager is constructed with given service type only the services which supports the service type will be returned.

Parameters
serviceTypeType of services to be listed. If not given and the manager is not constructed with service type, all services are listed.
Returns
List of Service objects.

Definition at line 360 of file manager.cpp.

References Manager::service().

ServiceType serviceType ( const QString &  name) const

Gets an object representing a service type.

Parameters
nameName of service type to load.
Returns
Requested service type or NULL if not found.

Definition at line 433 of file manager.cpp.

QString serviceType ( ) const

Gets the service type if given in manager constructor.

Returns
Service type or NULL if not given.

Definition at line 482 of file manager.cpp.

void setAbortOnTimeout ( bool  abort)

Sets whether to abort the application when a database timeout occurs.

By default the library does not abort the application.

Definition at line 514 of file manager.cpp.

void setTimeout ( quint32  timeout)

Sets the timeout for database operations.

Parameters
timeoutThe new timeout in milliseconds.

This tells the library how long it is allowed to block while waiting for a locked DB to become accessible. Higher values mean a higher chance of successful reads, but also mean that the execution might be blocked for a longer time. The default is 5 seconds.

Definition at line 496 of file manager.cpp.

quint32 timeout ( )

Gets the database timeout.

Returns
The timeout (in milliseconds) for database operations.

Definition at line 505 of file manager.cpp.