Tp::Account Class Reference

| Home · All Classes · All Namespaces · Modules · Functions · Files

Signals | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Properties | List of all members
Tp::Account Class Reference
Account proxies

The Account class represents a Telepathy account. More...

`#include <TelepathyQt/Account>`

Inherits Tp::StatelessDBusProxy, and Tp::OptionalInterfaceFactory< Account >.

## Signals
void | removed ()
void | serviceNameChanged (const QString &serviceName)
void | profileChanged (const Tp::ProfilePtr &profile)
void | displayNameChanged (const QString &displayName)
void | iconNameChanged (const QString &iconName)
void | nicknameChanged (const QString &nickname)
void | normalizedNameChanged (const QString &normalizedName)
void | validityChanged (bool validity)
void | stateChanged (bool state)
void | capabilitiesChanged (const Tp::ConnectionCapabilities &capabilities)
void | connectsAutomaticallyPropertyChanged (bool connectsAutomatically)
void | firstOnline ()
void | parametersChanged (const QVariantMap &parameters)
void | changingPresence (bool value)
void | automaticPresenceChanged (const Tp::Presence &automaticPresence)
void | currentPresenceChanged (const Tp::Presence &currentPresence)
void | requestedPresenceChanged (const Tp::Presence &requestedPresence)
void | onlinenessChanged (bool online)
void | avatarChanged (const Tp::Avatar &avatar)
void | connectionStatusChanged (Tp::ConnectionStatus status)
void | connectionChanged (const Tp::ConnectionPtr &connection)
Signals inherited from Tp::DBusProxy
void | invalidated (Tp::DBusProxy *proxy, const QString &errorName, const QString &errorMessage)
Signals inherited from Tp::Object
void | propertyChanged (const QString &propertyName)

## Public Member Functions
virtual | ~Account ()
ConnectionFactoryConstPtr | connectionFactory () const
ChannelFactoryConstPtr | channelFactory () const
ContactFactoryConstPtr | contactFactory () const
bool | isValidAccount () const
bool | isEnabled () const
PendingOperation * | setEnabled (bool value)
QString | cmName () const
QString | protocolName () const
QString | serviceName () const
PendingOperation * | setServiceName (const QString &value)
ProfilePtr | profile () const
QString | displayName () const
PendingOperation * | setDisplayName (const QString &value)
QString | iconName () const
PendingOperation * | setIconName (const QString &value)
QString | nickname () const
PendingOperation * | setNickname (const QString &value)
AvatarSpec | avatarRequirements () const
const Avatar & | avatar () const
PendingOperation * | setAvatar (const Avatar &avatar)
QVariantMap | parameters () const
PendingStringList * | updateParameters (const QVariantMap &set, const QStringList &unset)
ProtocolInfo | protocolInfo () const
ConnectionCapabilities | capabilities () const
bool | connectsAutomatically () const
PendingOperation * | setConnectsAutomatically (bool value)
bool | hasBeenOnline () const
ConnectionStatus | connectionStatus () const
ConnectionStatusReason | connectionStatusReason () const
QString | connectionError () const
Connection::ErrorDetails | connectionErrorDetails () const
ConnectionPtr | connection () const
bool | isChangingPresence () const
PresenceSpecList | allowedPresenceStatuses (bool includeAllStatuses=false) const
uint | maxPresenceStatusMessageLength () const
Presence | automaticPresence () const
PendingOperation * | setAutomaticPresence (const Presence &presence)
Presence | currentPresence () const
Presence | requestedPresence () const
PendingOperation * | setRequestedPresence (const Presence &presence)
bool | isOnline () const
QString | uniqueIdentifier () const
QString | normalizedName () const
PendingOperation * | reconnect ()
PendingOperation * | remove ()
bool | supportsRequestHints () const
bool | requestsSucceedWithChannel () const
PendingChannelRequest * | ensureTextChat (const QString &contactIdentifier, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | ensureTextChat (const ContactPtr &contact, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | ensureTextChatroom (const QString &roomName, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | ensureAudioCall (const QString &contactIdentifier, const QString &initialAudioContentName=QString(), const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | ensureAudioCall (const ContactPtr &contact, const QString &initialAudioContentName=QString(), const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | ensureVideoCall (const QString &contactIdentifier, const QString &initialVideoContentName=QString(), const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | ensureVideoCall (const ContactPtr &contact, const QString &initialVideoContentName=QString(), const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | ensureAudioVideoCall (const QString &contactIdentifier, const QString &initialAudioContentName=QString(), const QString &initialVideoContentName=QString(), const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | ensureAudioVideoCall (const ContactPtr &contact, const QString &initialAudioContentName=QString(), const QString &initialVideoContentName=QString(), const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | ensureStreamedMediaCall (const QString &contactIdentifier, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | ensureStreamedMediaCall (const ContactPtr &contact, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | ensureStreamedMediaAudioCall (const QString &contactIdentifier, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | ensureStreamedMediaAudioCall (const ContactPtr &contact, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | ensureStreamedMediaVideoCall (const QString &contactIdentifier, bool withAudio=true, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | ensureStreamedMediaVideoCall (const ContactPtr &contact, bool withAudio=false, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | createFileTransfer (const QString &contactIdentifier, const FileTransferChannelCreationProperties &properties, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | createFileTransfer (const ContactPtr &contact, const FileTransferChannelCreationProperties &properties, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | createStreamTube (const QString &contactIdentifier, const QString &service, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | createStreamTube (const ContactPtr &contact, const QString &service, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | createDBusTube (const QString &contactIdentifier, const QString &serviceName, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | createDBusTube (const ContactPtr &contact, const QString &serviceName, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | createDBusTubeRoom (const QString &room, const QString &serviceName, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | createConferenceStreamedMediaCall (const QList< ChannelPtr > &channels, const QStringList &initialInviteeContactsIdentifiers=QStringList(), const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | createConferenceStreamedMediaCall (const QList< ChannelPtr > &channels, const QList< ContactPtr > &initialInviteeContacts=QList< ContactPtr >(), const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | createConferenceCall (const QList< ChannelPtr > &channels, const QStringList &initialInviteeContactsIdentifiers=QStringList(), const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | createConferenceCall (const QList< ChannelPtr > &channels, const QList< ContactPtr > &initialInviteeContacts=QList< ContactPtr >(), const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | createConferenceTextChat (const QList< ChannelPtr > &channels, const QList< ContactPtr > &initialInviteeContacts=QList< ContactPtr >(), const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | createConferenceTextChat (const QList< ChannelPtr > &channels, const QStringList &initialInviteeContactsIdentifiers=QStringList(), const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | createConferenceTextChatroom (const QString &roomName, const QList< ChannelPtr > &channels, const QStringList &initialInviteeContactsIdentifiers=QStringList(), const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | createConferenceTextChatroom (const QString &roomName, const QList< ChannelPtr > &channels, const QList< ContactPtr > &initialInviteeContacts=QList< ContactPtr >(), const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannel * | createAndHandleConferenceCall (const QList< ChannelPtr > &channels, const QStringList &initialInviteeContactsIdentifiers=QStringList(), const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | createAndHandleConferenceCall (const QList< ChannelPtr > &channels, const QList< ContactPtr > &initialInviteeContacts=QList< ContactPtr >(), const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannelRequest * | createContactSearch (const QString &server, uint limit=0, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannel * | ensureAndHandleTextChat (const QString &contactIdentifier, const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | ensureAndHandleTextChat (const ContactPtr &contact, const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | ensureAndHandleTextChatroom (const QString &roomName, const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | ensureAndHandleAudioCall (const QString &contactIdentifier, const QString &initialAudioContentName=QString(), const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | ensureAndHandleAudioCall (const ContactPtr &contact, const QString &initialAudioContentName=QString(), const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | ensureAndHandleVideoCall (const QString &contactIdentifier, const QString &initialVideoContentName=QString(), const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | ensureAndHandleVideoCall (const ContactPtr &contact, const QString &initialVideoContentName=QString(), const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | ensureAndHandleAudioVideoCall (const QString &contactIdentifier, const QString &initialAudioContentName=QString(), const QString &initialVideoContentName=QString(), const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | ensureAndHandleAudioVideoCall (const ContactPtr &contact, const QString &initialAudioContentName=QString(), const QString &initialVideoContentName=QString(), const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | ensureAndHandleStreamedMediaCall (const QString &contactIdentifier, const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | ensureAndHandleStreamedMediaCall (const ContactPtr &contact, const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | ensureAndHandleStreamedMediaAudioCall (const QString &contactIdentifier, const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | ensureAndHandleStreamedMediaAudioCall (const ContactPtr &contact, const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | ensureAndHandleStreamedMediaVideoCall (const QString &contactIdentifier, bool withAudio=true, const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | ensureAndHandleStreamedMediaVideoCall (const ContactPtr &contact, bool withAudio=true, const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | createAndHandleFileTransfer (const QString &contactIdentifier, const FileTransferChannelCreationProperties &properties, const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | createAndHandleFileTransfer (const ContactPtr &contact, const FileTransferChannelCreationProperties &properties, const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | createAndHandleStreamTube (const QString &contactIdentifier, const QString &service, const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | createAndHandleStreamTube (const ContactPtr &contact, const QString &service, const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | createAndHandleDBusTube (const QString &contactIdentifier, const QString &serviceName, const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | createAndHandleDBusTube (const ContactPtr &contact, const QString &serviceName, const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | createAndHandleConferenceTextChat (const QList< ChannelPtr > &channels, const QList< ContactPtr > &initialInviteeContacts=QList< ContactPtr >(), const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | createAndHandleConferenceTextChat (const QList< ChannelPtr > &channels, const QStringList &initialInviteeContactsIdentifiers=QStringList(), const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | createAndHandleConferenceTextChatroom (const QString &roomName, const QList< ChannelPtr > &channels, const QStringList &initialInviteeContactsIdentifiers=QStringList(), const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | createAndHandleConferenceTextChatroom (const QString &roomName, const QList< ChannelPtr > &channels, const QList< ContactPtr > &initialInviteeContacts=QList< ContactPtr >(), const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | createAndHandleConferenceStreamedMediaCall (const QList< ChannelPtr > &channels, const QStringList &initialInviteeContactsIdentifiers=QStringList(), const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | createAndHandleConferenceStreamedMediaCall (const QList< ChannelPtr > &channels, const QList< ContactPtr > &initialInviteeContacts=QList< ContactPtr >(), const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannel * | createAndHandleContactSearch (const QString &server=QString(), uint limit=0, const QDateTime &userActionTime=QDateTime::currentDateTime())
PendingChannelRequest * | createChannel (const QVariantMap &requestedProperties, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannelRequest * | ensureChannel (const QVariantMap &requestedProperties, const QDateTime &userActionTime=QDateTime::currentDateTime(), const QString &preferredHandler=QString(), const ChannelRequestHints &hints=ChannelRequestHints())
PendingChannel * | createAndHandleChannel (const QVariantMap &requestedProperties, const QDateTime &userActionTime)
PendingChannel * | ensureAndHandleChannel (const QVariantMap &requestedProperties, const QDateTime &userActionTime)
Public Member Functions inherited from Tp::StatelessDBusProxy
| StatelessDBusProxy (const QDBusConnection &dbusConnection, const QString &busName, const QString &objectPath, const Feature &featureCore)
virtual | ~StatelessDBusProxy ()
Public Member Functions inherited from Tp::DBusProxy
| DBusProxy (const QDBusConnection &dbusConnection, const QString &busName, const QString &objectPath, const Feature &featureCore)
virtual | ~DBusProxy ()
QDBusConnection | dbusConnection () const
QString | busName () const
QString | objectPath () const
bool | isValid () const
QString | invalidationReason () const
QString | invalidationMessage () const
Public Member Functions inherited from Tp::Object
virtual | ~Object ()
Public Member Functions inherited from Tp::RefCounted
| RefCounted ()
virtual | ~RefCounted ()
Public Member Functions inherited from Tp::ReadyObject
| ReadyObject (RefCounted *object, const Feature &featureCore)
| ReadyObject (DBusProxy *proxy, const Feature &featureCore)
virtual | ~ReadyObject ()
virtual bool | isReady (const Features &features=Features()) const
virtual PendingReady * | becomeReady (const Features &requestedFeatures=Features())
virtual Features | requestedFeatures () const
virtual Features | actualFeatures () const
virtual Features | missingFeatures () const
Public Member Functions inherited from Tp::OptionalInterfaceFactory< Account >
| OptionalInterfaceFactory (Account *this_)
| ~OptionalInterfaceFactory ()
QStringList | interfaces () const
bool | hasInterface (const QString &name) const
Interface * | optionalInterface (InterfaceSupportedChecking check=CheckInterfaceSupported) const
Interface * | interface () const

## Static Public Member Functions
static AccountPtr | create (const QString &busName, const QString &objectPath, const ConnectionFactoryConstPtr &connectionFactory=ConnectionFactory::create(QDBusConnection::sessionBus()), const ChannelFactoryConstPtr &channelFactory=ChannelFactory::create(QDBusConnection::sessionBus()), const ContactFactoryConstPtr &contactFactory=ContactFactory::create())
static AccountPtr | create (const QDBusConnection &bus, const QString &busName, const QString &objectPath, const ConnectionFactoryConstPtr &connectionFactory, const ChannelFactoryConstPtr &channelFactory, const ContactFactoryConstPtr &contactFactory=ContactFactory::create())

## Static Public Attributes
static const Feature | FeatureCore
static const Feature | FeatureAvatar
static const Feature | FeatureProtocolInfo
static const Feature | FeatureCapabilities
static const Feature | FeatureProfile

## Protected Member Functions
| Account (const QDBusConnection &bus, const QString &busName, const QString &objectPath, const ConnectionFactoryConstPtr &connectionFactory, const ChannelFactoryConstPtr &channelFactory, const ContactFactoryConstPtr &contactFactory, const Feature &coreFeature)
Client::AccountInterface * | baseInterface () const
Client::ChannelDispatcherInterface * | dispatcherInterface () const
Protected Member Functions inherited from Tp::DBusProxy
void | setBusName (const QString &busName)
void | invalidate (const QString &reason, const QString &message)
void | invalidate (const QDBusError &error)
Protected Member Functions inherited from Tp::Object
| Object ()
void | notify (const char *propertyName)
Protected Member Functions inherited from Tp::ReadyObject
ReadinessHelper * | readinessHelper () const
Protected Member Functions inherited from Tp::OptionalInterfaceFactory< Account >
void | setInterfaces (const QStringList &interfaces)

## Properties
bool | valid
bool | enabled
QString | cmName
QString | protocolName
QString | serviceName
ProfilePtr | profile
QString | displayName
QString | iconName
QString | nickname
AvatarSpec | avatarRequirements
Avatar | avatar
QVariantMap | parameters
ProtocolInfo | protocolInfo
ConnectionCapabilities | capabilities
bool | hasBeenOnline
bool | connectsAutomatically
ConnectionStatus | connectionStatus
ConnectionStatusReason | connectionStatusReason
QString | connectionError
Tp::Connection::ErrorDetails | connectionErrorDetails
ConnectionPtr | connection
bool | changingPresence
Presence | automaticPresence
Presence | currentPresence
Presence | requestedPresence
bool | online
QString | uniqueIdentifier
QString | normalizedName

## Additional Inherited Members
Public Types inherited from Tp::OptionalInterfaceFactory< Account >
enum | InterfaceSupportedChecking

## Detailed Description

The Account class represents a Telepathy account.

The remote object accessor functions on this object (isValidAccount(), isEnabled(), and so on) don't make any D-Bus calls; instead, they return/use values cached from a previous introspection run. The introspection process populates their values in the most efficient way possible based on what the service implements.

To avoid unnecessary D-Bus traffic, some accessors only return valid information after specific features have been enabled. For instance, to retrieve the account protocol information, it is necessary to enable the feature Account::FeatureProtocolInfo. See the individual methods descriptions for more details.

Account features can be enabled by constructing an AccountFactory and enabling the desired features, and passing it to AccountManager or ClientRegistrar when creating them as appropriate. However, if a particular feature is only ever used in a specific circumstance, such as an user opening some settings dialog separate from the general view of the application, features can be later enabled as needed by calling becomeReady() with the additional features, and waiting for the resulting PendingOperation to finish.

As an addition to accessors, signals are emitted to indicate that properties have changed, for example displayNameChanged(), iconNameChanged(), etc.

Convenience methods to create channels using the channel dispatcher such as ensureTextChat(), createFileTransfer() are also provided.

If the account is deleted from the AccountManager, this object will not be deleted automatically; however, it will emit invalidated() with error code TP_QT_ERROR_OBJECT_REMOVED and will cease to be useful.

# Usage

## Creating an account object

The easiest way to create account objects is through AccountManager. One can just use the AccountManager convenience methods such as AccountManager::validAccounts() to get a list of account objects representing valid accounts.

If you already know the object path, you can just call create(). For example:

AccountPtr acc = Account::create(busName, objectPath);

An AccountPtr object is returned, which will automatically keep track of object lifetime.

You can also provide a D-Bus connection as a QDBusConnection:

*
* AccountPtr acc = Account::create(QDBusConnection::sessionBus(),
* busName, objectPath);
*
*

## Making account ready to use

An Account object needs to become ready before usage, meaning that the introspection process finished and the object accessors can be used.

To make the object ready, use becomeReady() and wait for the PendingOperation::finished() signal to be emitted.

*
* class MyClass : public QObject
* {
* QOBJECT
*
* public:
* MyClass(QObject *parent = 0);
* ~MyClass() { }
*
* private Q_SLOTS:
* void onAccountReady(Tp::PendingOperation*);
*
* private:
* AccountPtr acc;
* };
*
* MyClass::MyClass(const QString &busName, const QString &objectPath,
* QObject *parent)
* : QObject(parent)
* acc(Account::create(busName, objectPath))
* {
* connect(acc->becomeReady(),
* SIGNAL(finished(Tp::PendingOperation*)),
* SLOT(onAccountReady(Tp::PendingOperation*)));
* }
*
* void MyClass::onAccountReady(Tp::PendingOperation *op)
* {
* if (op->isError()) {
* qWarning() << "Account cannot become ready:" <<
* op->errorName() << "-" << op->errorMessage();
* return;
* }
*
* // Account is now ready
* qDebug() << "Display name:" << acc->displayName();
* }
*
*

See Asynchronous Object Model, Shared Pointer Usage

## Constructor & Destructor Documentation

Tp::Account::~Account | ( |  | ) |
| virtual

Class destructor.

Tp::Account::Account | ( | const QDBusConnection & | bus,
|  | const QString & | busName,
|  | const QString & | objectPath,
|  | const ConnectionFactoryConstPtr & | connectionFactory,
|  | const ChannelFactoryConstPtr & | channelFactory,
|  | const ContactFactoryConstPtr & | contactFactory,
|  | const Feature & | coreFeature
| ) |  |
| protected

Construct a new Account object using the given bus and the given factories.

A warning is printed if the factories are not for bus.

Parameters

  bus | QDBusConnection to use.
  busName | The account well-known bus name (sometimes called a "service name"). This is usually the same as the account manager bus name TP_QT_ACCOUNT_MANAGER_BUS_NAME.
  objectPath | The account object path.
  connectionFactory | The connection factory to use.
  channelFactory | The channel factory to use.
  contactFactory | The contact factory to use.
  coreFeature | The core feature of the Account subclass. The corresponding introspectable should depend on Account::FeatureCore.

## Member Function Documentation

AccountPtr Tp::Account::create | ( | const QString & | busName,
|  | const QString & | objectPath,
|  | const ConnectionFactoryConstPtr & | connectionFactory = `ConnectionFactory::create(QDBusConnection::sessionBus())`,
|  | const ChannelFactoryConstPtr & | channelFactory = `ChannelFactory::create(QDBusConnection::sessionBus())`,
|  | const ContactFactoryConstPtr & | contactFactory = `ContactFactory::create()`
| ) |  |
| static

Create a new Account object using QDBusConnection::sessionBus() and the given factories.

A warning is printed if the factories are not for QDBusConnection::sessionBus().

Parameters

  busName | The account well-known bus name (sometimes called a "service name"). This is usually the same as the account manager bus name TP_QT_ACCOUNT_MANAGER_BUS_NAME.
  objectPath | The account object path.
  connectionFactory | The connection factory to use.
  channelFactory | The channel factory to use.
  contactFactory | The contact factory to use.

Returns
  An AccountPtr object pointing to the newly created Account object.

AccountPtr Tp::Account::create | ( | const QDBusConnection & | bus,
|  | const QString & | busName,
|  | const QString & | objectPath,
|  | const ConnectionFactoryConstPtr & | connectionFactory,
|  | const ChannelFactoryConstPtr & | channelFactory,
|  | const ContactFactoryConstPtr & | contactFactory = `ContactFactory::create()`
| ) |  |
| static

Create a new Account object using the given bus and the given factories.

A warning is printed if the factories are not for bus.

Parameters

  bus | QDBusConnection to use.
  busName | The account well-known bus name (sometimes called a "service name"). This is usually the same as the account manager bus name TP_QT_ACCOUNT_MANAGER_BUS_NAME.
  objectPath | The account object path.
  connectionFactory | The connection factory to use.
  channelFactory | The channel factory to use.
  contactFactory | The contact factory to use.

Returns
  An AccountPtr object pointing to the newly created Account object.

ConnectionFactoryConstPtr Tp::Account::connectionFactory | ( |  | ) | const

Return the connection factory used by this account.

Only read access is provided. This allows constructing object instances and examining the object construction settings, but not changing settings. Allowing changes would lead to tricky situations where objects constructed at different times by the account would have unpredictably different construction settings (eg. subclass).

Returns
  A read-only pointer to the ConnectionFactory object.

ChannelFactoryConstPtr Tp::Account::channelFactory | ( |  | ) | const

Return the channel factory used by this account.

Only read access is provided. This allows constructing object instances and examining the object construction settings, but not changing settings. Allowing changes would lead to tricky situations where objects constructed at different times by the account would have unpredictably different construction settings (eg. subclass).

Returns
  A read-only pointer to the ChannelFactory object.

ContactFactoryConstPtr Tp::Account::contactFactory | ( |  | ) | const

Return the contact factory used by this account.

Only read access is provided. This allows constructing object instances and examining the object construction settings, but not changing settings. Allowing changes would lead to tricky situations where objects constructed at different times by the account would have unpredictably different construction settings (eg. subclass).

Returns
  A read-only pointer to the ContactFactory object.

bool Tp::Account::isValidAccount | ( |  | ) | const

Return whether this account is valid.

If `true`, this account is considered by the account manager to be complete and usable. If `false`, user action is required to make it usable, and it will never attempt to connect. For instance, this might be caused by the absence or misconfiguration of a required parameter, in which case updateParameters() may be used to properly set the parameters values.

Change notification is via the validityChanged() signal.

This method requires Account::FeatureCore to be ready.

Returns
  `true` if valid, `false` otherwise.

See Also
  validityChanged(), updateParameters()

bool Tp::Account::isEnabled | ( |  | ) | const

Return whether this account is enabled.

Change notification is via the stateChanged() signal.

This method requires Account::FeatureCore to be ready.

Returns
  `true` if enabled, `false` otherwise.

See Also
  stateChanged(), setEnabled()

PendingOperation * Tp::Account::setEnabled | ( | bool | value | ) |

Set whether this account should be enabled or disabled.

This gives users the possibility to prevent an account from being used.

Note that changing this property won't change the validity of the account.

Parameters

  value | Whether this account should be enabled or disabled.

Returns
  A PendingOperation which will emit PendingOperation::finished when the request has been made.

See Also
  stateChanged(), isEnabled()

QString Tp::Account::cmName | ( |  | ) | const

QString Tp::Account::protocolName | ( |  | ) | const

QString Tp::Account::serviceName | ( |  | ) | const

PendingOperation * Tp::Account::setServiceName | ( | const QString & | value | ) |

Set the service name of this account.

Some protocols, like XMPP and SIP, are used by various different user-recognised brands, such as Google Talk. On accounts for such services, this method can be used to set the name describing the service, which must consist only of ASCII letters, numbers and hyphen/minus signs, and start with a letter. For the jabber protocol, one of the following service names should be used if possible:

google-talk (for Google's IM service) facebook (for Facebook's IM service) lj-talk (for LiveJournal's IM service)

The service name may also be set, if appropriate, when creating the account. See AccountManager::createAccount() for more details.

Note that changing this property may also change the profile() used by this account, in which case profileChanged() will be emitted in addition to serviceNameChanged(), if Account::FeatureProfile is enabled.

Parameters

  value | The service name of this account.

Returns
  A PendingOperation which will emit PendingOperation::finished when the request has been made.

See Also
  serviceNameChanged(), serviceName()

ProfilePtr Tp::Account::profile | ( |  | ) | const

QString Tp::Account::displayName | ( |  | ) | const

PendingOperation * Tp::Account::setDisplayName | ( | const QString & | value | ) |

Set the display name of this account.

The display name is the user-visible name of this account. This is usually chosen by the user at account creation time. See AccountManager::createAccount() for more details.

Parameters

  value | The display name of this account.

Returns
  A PendingOperation which will emit PendingOperation::finished when the request has been made.

See Also
  displayNameChanged(), displayName()

QString Tp::Account::iconName | ( |  | ) | const

PendingOperation * Tp::Account::setIconName | ( | const QString & | value | ) |

Set the icon name of this account.

Parameters

  value | The icon name of this account.

Returns
  A PendingOperation which will emit PendingOperation::finished when the request has been made.

See Also
  iconNameChanged(), iconName()

QString Tp::Account::nickname | ( |  | ) | const

PendingOperation * Tp::Account::setNickname | ( | const QString & | value | ) |

Set the nickname of this account as seen to other contacts.

Parameters

  value | The nickname of this account.

Returns
  A PendingOperation which will emit PendingOperation::finished when the request has been made.

See Also
  nicknameChanged(), nickname()

AvatarSpec Tp::Account::avatarRequirements | ( |  | ) | const

const Avatar& Tp::Account::avatar | ( |  | ) | const

PendingOperation * Tp::Account::setAvatar | ( | const Avatar & | avatar | ) |

Set avatar of this account as seen to other contacts.

Note that avatar must match the requirements as returned by avatarRequirements().

Parameters

  avatar | The avatar of this account.

Returns
  A PendingOperation which will emit PendingOperation::finished when the request has been made.

See Also
  avatarChanged(), avatar(), avatarRequirements()

QVariantMap Tp::Account::parameters | ( |  | ) | const

PendingStringList * Tp::Account::updateParameters | ( | const QVariantMap & | set,
|  | const QStringList & | unset
| ) |  |

Update this account parameters.

On success, the PendingOperation returned by this method will produce a list of strings, which are the names of parameters whose changes will not take effect until the account is disconnected and reconnected (for instance by calling reconnect()).

Parameters

  set | Parameters to set.
  unset | Parameters to unset.

Returns
  A PendingStringList which will emit PendingStringList::finished when the request has been made

See Also
  parametersChanged(), parameters(), reconnect()

ProtocolInfo Tp::Account::protocolInfo | ( |  | ) | const

ConnectionCapabilities Tp::Account::capabilities | ( |  | ) | const

bool Tp::Account::connectsAutomatically | ( |  | ) | const

PendingOperation * Tp::Account::setConnectsAutomatically | ( | bool | value | ) |

Set whether this account should be put online automatically whenever possible.

Parameters

  value | Value indicating if this account should be put online whenever possible.

Returns
  A PendingOperation which will emit PendingOperation::finished when the request has been made.

See Also
  connectsAutomaticallyPropertyChanged(), connectsAutomatically()

bool Tp::Account::hasBeenOnline | ( |  | ) | const

ConnectionStatus Tp::Account::connectionStatus | ( |  | ) | const

ConnectionStatusReason Tp::Account::connectionStatusReason | ( |  | ) | const

QString Tp::Account::connectionError | ( |  | ) | const

Connection::ErrorDetails Tp::Account::connectionErrorDetails | ( |  | ) | const

ConnectionPtr Tp::Account::connection | ( |  | ) | const

bool Tp::Account::isChangingPresence | ( |  | ) | const

Return whether this account connection is changing presence.

Change notification is via the changingPresence() signal.

This method requires Account::FeatureCore to be ready.

Returns
  `true` if changing presence, `false` otherwise.

See Also
  changingPresence(), currentPresenceChanged(), setRequestedPresence()

PresenceSpecList Tp::Account::allowedPresenceStatuses | ( | bool | includeAllStatuses = `false` | ) | const

Return a list of presences allowed by a connection to this account.

In particular, for the statuses reported here it can be assumed that setting them as the requested presence via setRequestedPresence() will eventually result in currentPresence() changing to exactly said presence. Other statuses are only guaranteed to be matched as closely as possible.

The statuses can be also used for the automatic presence, as set by setAutomaticPresence(), with the exception of any status specifications for which Presence::type() is Tp::ConnectionPresenceTypeOffline for the Presence returned by PresenceSpec::presence().

However, the optional parameter can be used to allow reporting also other possible presence statuses on this protocol besides the others that can be set on yourself. These are purely informatory, for e.g. adjusting an UI to allow all possible remote contact statuses to be displayed.

An offline presence status is always included, because it's always valid to make an account offline by setting the requested presence to an offline status.

Full functionality requires Account::FeatureProtocolInfo and Account::FeatureProfile to be ready as well as connection with Connection::FeatureSimplePresence enabled. If the connection is online and Connection::FeatureSimplePresence is enabled, it will return the connection allowed statuses, otherwise it will return a list os statuses based on profile() and protocolInfo() information if the corresponding features are enabled.

If there's a mismatch between the presence status info provided in the .profile file and/or the .manager file and what an online Connection actually reports (for example, the said data files are missing or too old to include presence information), the returned value can change, in particular when connectionChanged() is emitted with a connection for which Connection::status() is Tp::ConnectionStatusConnected.

This method requires Account::FeatureCore to be ready.

Parameters

  includeAllStatuses | Whether the returned list will include all statuses or just the ones that can be settable using setRequestedPresence().

Returns
  The allowed statuses as a list of PresenceSpec objects.

uint Tp::Account::maxPresenceStatusMessageLength | ( |  | ) | const

Return the maximum length for a presence status message.

If a status message set using setRequestedPresence() (or setAutomaticPresence()) is longer than the maximum length allowed, the message will be truncated and currentPresenceChanged() will be emitted (if setting the presence worked) with the truncated message.

Full functionality requires Connection with Connection::FeatureSimplePresence enabled. If the connection is online and Connection::FeatureSimplePresence is enabled, it will return the connection maximum status message length, otherwise it will return 0.

This method requires Account::FeatureCore to be ready.

Returns
  The maximum length, or 0 if there is no limit.

Presence Tp::Account::automaticPresence | ( |  | ) | const

PendingOperation * Tp::Account::setAutomaticPresence | ( | const Presence & | presence | ) |

Set the presence status that this account should have if it is brought online automatically by the account manager.

Note that changing this property won't actually change the account's status until the next time it is (re)connected for some reason.

The value of this property must be one that would be acceptable for setRequestedPresence(), as returned by allowedPresenceStatuses(), with the additional restriction that the offline presence cannot be used.

Parameters

  presence | The presence to set when this account is brought online automatically by the account manager.

Returns
  A PendingOperation which will emit PendingOperation::finished when the request has been made.

See Also
  automaticPresenceChanged(), automaticPresence(), setRequestedPresence()

Presence Tp::Account::currentPresence | ( |  | ) | const

Presence Tp::Account::requestedPresence | ( |  | ) | const

PendingOperation * Tp::Account::setRequestedPresence | ( | const Presence & | presence | ) |

Set the requested presence of this account.

When the requested presence is changed, the account manager will attempt to manipulate the connection to make currentPresence() match requestedPresence() as closely as possible.

Parameters

  presence | The requested presence.

Returns
  A PendingOperation which will emit PendingOperation::finished when the request has been made.

See Also
  requestedPresenceChanged(), currentPresence(), automaticPresence(), setAutomaticPresence()

bool Tp::Account::isOnline | ( |  | ) | const

Return whether this account is online.

Change notification is via the onlinenessChanged() signal.

This method requires Account::FeatureCore to be ready.

Returns
  `true` if online, otherwise `false`.

See Also
  onlinenessChanged()

QString Tp::Account::uniqueIdentifier | ( |  | ) | const

QString Tp::Account::normalizedName | ( |  | ) | const

PendingOperation * Tp::Account::reconnect | ( |  | ) |

If this account is currently connected, disconnect and reconnect it. If it is currently trying to connect, cancel the attempt to connect and start another. If it is currently disconnected, do nothing.

Returns
  A PendingOperation which will emit PendingOperation::finished when the request has been made.

PendingOperation * Tp::Account::remove | ( |  | ) |

Delete this account.

Returns
  A PendingOperation which will emit PendingOperation::finished when the request has been made.

See Also
  removed()

bool Tp::Account::supportsRequestHints | ( |  | ) | const

Return whether passing hints on channel requests on this account is known to be supported.

This method requires Account::FeatureCore to be ready.

Returns
  `true` if supported, `false` otherwise.

bool Tp::Account::requestsSucceedWithChannel | ( |  | ) | const

Return whether the ChannelRequest::succeeded(const Tp::ChannelPtr &channel) signal is expected to be emitted with a non-NULL channel parameter for requests made using this account.

This can be used as a run-time check for the Channel Dispatcher implementation being new enough. In particular, similarly old Channel Dispatchers don't support request hints either, so the return value for this function and Account::supportsRequestHints() will bet he same.

This method requires Account::FeatureCore to be ready.

Returns
  `true` if supported, `false` otherwise.

PendingChannelRequest * Tp::Account::ensureTextChat | ( | const QString & | contactIdentifier,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to ensure that a text channel with the given contact contactIdentifier exists, creating it if necessary.

See ensureChannel() for more details.

Parameters

  contactIdentifier | The identifier of the contact to chat with.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::ensureTextChat | ( | const ContactPtr & | contact,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to ensure that a text channel with the given contact contact exists, creating it if necessary.

See ensureChannel() for more details.

Parameters

  contact | The contact to chat with.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::ensureTextChatroom | ( | const QString & | roomName,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to ensure that a text chat room with the given room name roomName exists, creating it if necessary.

See ensureChannel() for more details.

Parameters

  roomName | The name of the chat room.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::ensureAudioCall | ( | const QString & | contactIdentifier,
|  | const QString & | initialAudioContentName = `QString()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to ensure that an audio call channel with the given contact contactIdentifier exists, creating it if necessary.

See ensureChannel() for more details.

Parameters

  contactIdentifier | The identifier of the contact to call.
  initialAudioContentName | The name of the initial CallContent that will be automatically added on the channel.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::ensureAudioCall | ( | const ContactPtr & | contact,
|  | const QString & | initialAudioContentName = `QString()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to ensure that an audio call channel with the given contact contact exists, creating it if necessary.

See ensureChannel() for more details.

Parameters

  contact | The contact to call.
  initialAudioContentName | The name of the initial audio CallContent that will be automatically added on the channel.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::ensureVideoCall | ( | const QString & | contactIdentifier,
|  | const QString & | initialVideoContentName = `QString()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to ensure that a video call channel with the given contact contactIdentifier exists, creating it if necessary.

See ensureChannel() for more details.

Parameters

  contactIdentifier | The identifier of the contact to call.
  initialVideoContentName | The name of the initial video CallContent that will be automatically added on the channel.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::ensureVideoCall | ( | const ContactPtr & | contact,
|  | const QString & | initialVideoContentName = `QString()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to ensure that a video call channel with the given contact contact exists, creating it if necessary.

See ensureChannel() for more details.

Parameters

  contact | The contact to call.
  initialVideoContentName | The name of the initial video CallContent that will be automatically added on the channel.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::ensureAudioVideoCall | ( | const QString & | contactIdentifier,
|  | const QString & | initialAudioContentName = `QString()`,
|  | const QString & | initialVideoContentName = `QString()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to ensure that an audio/video call channel with the given contact contactIdentifier exists, creating it if necessary.

See ensureChannel() for more details.

Parameters

  contactIdentifier | The identifier of the contact to call.
  initialAudioContentName | The name of the initial audio CallContent that will be automatically added on the channel.
  initialVideoContentName | The name of the initial video CallContent that will be automatically added on the channel.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::ensureAudioVideoCall | ( | const ContactPtr & | contact,
|  | const QString & | initialAudioContentName = `QString()`,
|  | const QString & | initialVideoContentName = `QString()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to ensure that an audio/video call channel with the given contact contact exists, creating it if necessary.

See ensureChannel() for more details.

Parameters

  contact | The contact to call.
  initialAudioContentName | The name of the initial audio CallContent that will be automatically added on the channel.
  initialVideoContentName | The name of the initial video CallContent that will be automatically added on the channel.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::ensureStreamedMediaCall | ( | const QString & | contactIdentifier,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to ensure that a media channel with the given contact contactIdentifier exists, creating it if necessary.

See ensureChannel() for more details.

Parameters

  contactIdentifier | The identifier of the contact to call.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::ensureStreamedMediaCall | ( | const ContactPtr & | contact,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to ensure that a media channel with the given contact contact exists, creating it if necessary.

See ensureChannel() for more details.

Parameters

  contact | The contact to call.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::ensureStreamedMediaAudioCall | ( | const QString & | contactIdentifier,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to ensure that an audio call with the given contact contactIdentifier exists, creating it if necessary.

See ensureChannel() for more details.

This will only work on relatively modern connection managers, like telepathy-gabble 0.9.0 or later.

Parameters

  contactIdentifier | The identifier of the contact to call.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::ensureStreamedMediaAudioCall | ( | const ContactPtr & | contact,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to ensure that an audio call with the given contact contact exists, creating it if necessary.

See ensureChannel() for more details.

This will only work on relatively modern connection managers, like telepathy-gabble 0.9.0 or later.

Parameters

  contact | The contact to call.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::ensureStreamedMediaVideoCall | ( | const QString & | contactIdentifier,
|  | bool | withAudio = `true`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to ensure that a video call with the given contact contactIdentifier exists, creating it if necessary.

See ensureChannel() for more details.

This will only work on relatively modern connection managers, like telepathy-gabble 0.9.0 or later.

Parameters

  contactIdentifier | The identifier of the contact to call.
  withAudio | true if both audio and video are required, false for a video-only call.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::ensureStreamedMediaVideoCall | ( | const ContactPtr & | contact,
|  | bool | withAudio = `false`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to ensure that a video call with the given contact contact exists, creating it if necessary.

See ensureChannel() for more details.

This will only work on relatively modern connection managers, like telepathy-gabble 0.9.0 or later.

Parameters

  contact | The contact to call.
  withAudio | true if both audio and video are required, false for a video-only call.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::createFileTransfer | ( | const QString & | contactIdentifier,
|  | const FileTransferChannelCreationProperties & | properties,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to create a file transfer channel with the given contact contact.

Parameters

  contactIdentifier | The identifier of the contact to send a file.
  properties | The desired properties.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::createFileTransfer | ( | const ContactPtr & | contact,
|  | const FileTransferChannelCreationProperties & | properties,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to create a file transfer channel with the given contact contact.

Parameters

  contact | The contact to send a file.
  properties | The desired properties.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::createStreamTube | ( | const QString & | contactIdentifier,
|  | const QString & | service,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to create a stream tube channel with the given contact identifier contactIdentifier.

Parameters

  contactIdentifier | The identifier of the contact to open a stream tube with.
  service | The stream tube service.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::createStreamTube | ( | const ContactPtr & | contact,
|  | const QString & | service,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to create a stream tube channel with the given contact contact.

Parameters

  contact | The contact to open a stream tube with.
  service | The stream tube service.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::createDBusTube | ( | const QString & | contactIdentifier,
|  | const QString & | serviceName,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to create a DBus tube channel with the given contact contactIdentifier.

Parameters

  contactIdentifier | The contact identifier of the contact to open a DBus tube with.
  serviceName | the service name that will be used over the tube. It should be a well-known D-Bus service name, of the form `com.example.ServiceName`
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the call has finished.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest* Tp::Account::createDBusTube | ( | const ContactPtr & | contact,
|  | const QString & | serviceName,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

PendingChannelRequest * Tp::Account::createDBusTubeRoom | ( | const QString & | room,
|  | const QString & | serviceName,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

PendingChannelRequest * Tp::Account::createConferenceStreamedMediaCall | ( | const QList< ChannelPtr > & | channels,
|  | const QStringList & | initialInviteeContactsIdentifiers = `QStringList()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to create a conference media call with the given channels channels.

Parameters

  channels | The conference channels.
  initialInviteeContactsIdentifiers | A list of additional contacts identifiers to be invited to this conference when it is created.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::createConferenceStreamedMediaCall | ( | const QList< ChannelPtr > & | channels,
|  | const QList< ContactPtr > & | initialInviteeContacts = `QList<ContactPtr>()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to create a conference media call with the given channels channels.

Parameters

  channels | The conference channels.
  initialInviteeContacts | A list of additional contacts to be invited to this conference when it is created.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::createConferenceCall | ( | const QList< ChannelPtr > & | channels,
|  | const QStringList & | initialInviteeContactsIdentifiers = `QStringList()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to create a conference call with the given channels channels.

Parameters

  channels | The conference channels.
  initialInviteeContactsIdentifiers | A list of additional contacts identifiers to be invited to this conference when it is created.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::createConferenceCall | ( | const QList< ChannelPtr > & | channels,
|  | const QList< ContactPtr > & | initialInviteeContacts = `QList<ContactPtr>()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to create a conference call with the given channels channels.

Parameters

  channels | The conference channels.
  initialInviteeContacts | A list of additional contacts to be invited to this conference when it is created.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::createConferenceTextChat | ( | const QList< ChannelPtr > & | channels,
|  | const QList< ContactPtr > & | initialInviteeContacts = `QList<ContactPtr>()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to create a conference text chat with the given channels channels.

Parameters

  channels | The conference channels.
  initialInviteeContacts | A list of additional contacts to be invited to this conference when it is created.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::createConferenceTextChat | ( | const QList< ChannelPtr > & | channels,
|  | const QStringList & | initialInviteeContactsIdentifiers = `QStringList()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to create a conference text chat with the given channels channels.

Parameters

  channels | The conference channels.
  initialInviteeContactsIdentifiers | A list of additional contacts identifiers to be invited to this conference when it is created.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::createConferenceTextChatroom | ( | const QString & | roomName,
|  | const QList< ChannelPtr > & | channels,
|  | const QStringList & | initialInviteeContactsIdentifiers = `QStringList()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to create a conference text chat room with the given channels channels and room name roomName.

Parameters

  roomName | The room name.
  channels | The conference channels.
  initialInviteeContactsIdentifiers | A list of additional contacts identifiers to be invited to this conference when it is created.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannelRequest * Tp::Account::createConferenceTextChatroom | ( | const QString & | roomName,
|  | const QList< ChannelPtr > & | channels,
|  | const QList< ContactPtr > & | initialInviteeContacts = `QList<ContactPtr>()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to create a conference text chat room with the given channels channels and room name roomName.

Parameters

  roomName | The room name.
  channels | The conference channels.
  initialInviteeContacts | A list of additional contacts to be invited to this conference when it is created.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  ensureChannel(), createChannel()

PendingChannel * Tp::Account::createAndHandleConferenceCall | ( | const QList< ChannelPtr > & | channels,
|  | const QStringList & | initialInviteeContactsIdentifiers = `QStringList()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to create a conference call with the given channels channels. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  channels | The conference channels.
  initialInviteeContactsIdentifiers | A list of additional contacts identifiers to be invited to this conference when it is created.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::createAndHandleConferenceCall | ( | const QList< ChannelPtr > & | channels,
|  | const QList< ContactPtr > & | initialInviteeContacts = `QList<ContactPtr>()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to create a conference call with the given channels channels. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  channels | The conference channels.
  initialInviteeContacts | A list of additional contacts to be invited to this conference when it is created.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannelRequest * Tp::Account::createContactSearch | ( | const QString & | server,
|  | uint | limit = `0`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to create a contact search channel with the given server server and limit limit.

Parameters

  server | For protocols which support searching for contacts on multiple servers with different DNS names (like XMPP), the DNS name of the server to be searched, e.g. "characters.shakespeare.lit". Otherwise, an empty string.
  limit | The desired maximum number of results that should be returned by a doing a search. If the protocol does not support specifying a limit for the number of results returned at a time, this will be ignored.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  createChannel()

PendingChannel * Tp::Account::ensureAndHandleTextChat | ( | const QString & | contactIdentifier,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to ensure that a text channel with the given contact contactIdentifier exists, creating it if necessary. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  contactIdentifier | The identifier of the contact to chat with.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::ensureAndHandleTextChat | ( | const ContactPtr & | contact,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to ensure that a text channel with the given contact contact exists, creating it if necessary. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  contact | The contact to chat with.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::ensureAndHandleTextChatroom | ( | const QString & | roomName,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to ensure that a text chat room with the given room name roomName exists, creating it if necessary. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  roomName | The name of the chat room.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::ensureAndHandleAudioCall | ( | const QString & | contactIdentifier,
|  | const QString & | initialAudioContentName = `QString()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to ensure that an audio call channel with the given contact contactIdentifier exists, creating it if necessary. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  contactIdentifier | The identifier of the contact to call.
  initialAudioContentName | The name of the initial audio CallContent that will be automatically added on the channel.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::ensureAndHandleAudioCall | ( | const ContactPtr & | contact,
|  | const QString & | initialAudioContentName = `QString()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to ensure that an audio call channel with the given contact contact exists, creating it if necessary. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  contact | The contact to call.
  initialAudioContentName | The name of the initial audio CallContent that will be automatically added on the channel.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::ensureAndHandleVideoCall | ( | const QString & | contactIdentifier,
|  | const QString & | initialVideoContentName = `QString()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to ensure that a video call channel with the given contact contactIdentifier exists, creating it if necessary. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  contactIdentifier | The identifier of the contact to call.
  initialVideoContentName | The name of the initial video CallContent that will be automatically added on the channel.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::ensureAndHandleVideoCall | ( | const ContactPtr & | contact,
|  | const QString & | initialVideoContentName = `QString()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to ensure that a video call channel with the given contact contact exists, creating it if necessary. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  contact | The contact to call.
  initialVideoContentName | The name of the initial video CallContent that will be automatically added on the channel.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::ensureAndHandleAudioVideoCall | ( | const QString & | contactIdentifier,
|  | const QString & | initialAudioContentName = `QString()`,
|  | const QString & | initialVideoContentName = `QString()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to ensure that an audio/video call channel with the given contact contactIdentifier exists, creating it if necessary. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  contactIdentifier | The identifier of the contact to call.
  initialAudioContentName | The name of the initial audio CallContent that will be automatically added on the channel.
  initialVideoContentName | The name of the initial video CallContent that will be automatically added on the channel.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::ensureAndHandleAudioVideoCall | ( | const ContactPtr & | contact,
|  | const QString & | initialAudioContentName = `QString()`,
|  | const QString & | initialVideoContentName = `QString()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to ensure that an audio/video call channel with the given contact contact exists, creating it if necessary. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  contact | The contact to call.
  initialAudioContentName | The name of the initial audio CallContent that will be automatically added on the channel.
  initialVideoContentName | The name of the initial video CallContent that will be automatically added on the channel.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::ensureAndHandleStreamedMediaCall | ( | const QString & | contactIdentifier,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to ensure that a media channel with the given contact contactIdentifier exists, creating it if necessary. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  contactIdentifier | The identifier of the contact to call.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::ensureAndHandleStreamedMediaCall | ( | const ContactPtr & | contact,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to ensure that a media channel with the given contact contact exists, creating it if necessary. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  contact | The contact to call.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::ensureAndHandleStreamedMediaAudioCall | ( | const QString & | contactIdentifier,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to ensure that an audio call with the given contact contactIdentifier exists, creating it if necessary. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

This will only work on relatively modern connection managers, like telepathy-gabble 0.9.0 or later.

Parameters

  contactIdentifier | The identifier of the contact to call.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::ensureAndHandleStreamedMediaAudioCall | ( | const ContactPtr & | contact,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to ensure that an audio call with the given contact contact exists, creating it if necessary. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

This will only work on relatively modern connection managers, like telepathy-gabble 0.9.0 or later.

Parameters

  contact | The contact to call.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::ensureAndHandleStreamedMediaVideoCall | ( | const QString & | contactIdentifier,
|  | bool | withAudio = `true`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to ensure that a video call with the given contact contactIdentifier exists, creating it if necessary. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

This will only work on relatively modern connection managers, like telepathy-gabble 0.9.0 or later.

Parameters

  contactIdentifier | The identifier of the contact to call.
  withAudio | true if both audio and video are required, false for a video-only call.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::ensureAndHandleStreamedMediaVideoCall | ( | const ContactPtr & | contact,
|  | bool | withAudio = `true`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to ensure that a video call with the given contact contact exists, creating it if necessary. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

This will only work on relatively modern connection managers, like telepathy-gabble 0.9.0 or later.

Parameters

  contact | The contact to call.
  withAudio | true if both audio and video are required, false for a video-only call.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::createAndHandleFileTransfer | ( | const QString & | contactIdentifier,
|  | const FileTransferChannelCreationProperties & | properties,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to create a file transfer channel with the given contact contactIdentifier. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  contactIdentifier | The identifier of the contact to send a file.
  properties | The desired properties.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::createAndHandleFileTransfer | ( | const ContactPtr & | contact,
|  | const FileTransferChannelCreationProperties & | properties,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to create a file transfer channel with the given contact contact. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  contact | The contact to send a file.
  properties | The desired properties.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::createAndHandleStreamTube | ( | const QString & | contactIdentifier,
|  | const QString & | service,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to create a stream tube channel with the given contact identifier contactIdentifier. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  contactIdentifier | The identifier of the contact to open a stream tube with.
  service | The stream tube service.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::createAndHandleStreamTube | ( | const ContactPtr & | contact,
|  | const QString & | service,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to create a stream tube channel with the given contact contact. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  contact | The contact to open a stream tube with.
  service | The stream tube service.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::createAndHandleDBusTube | ( | const QString & | contactIdentifier,
|  | const QString & | serviceName,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to create a DBus tube channel with the given contact identifier contactIdentifier. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  contactIdentifier | The identifier of the contact to open a DBus tube with.
  serviceName | The DBus tube service name.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::createAndHandleDBusTube | ( | const ContactPtr & | contact,
|  | const QString & | serviceName,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to create a DBus tube channel with the given contact contact. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  contact | The contact to open a DBus tube with.
  serviceName | The DBus tube service name.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::createAndHandleConferenceTextChat | ( | const QList< ChannelPtr > & | channels,
|  | const QList< ContactPtr > & | initialInviteeContacts = `QList<ContactPtr>()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to create a conference text chat with the given channels channels. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  channels | The conference channels.
  initialInviteeContacts | A list of additional contacts to be invited to this conference when it is created.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::createAndHandleConferenceTextChat | ( | const QList< ChannelPtr > & | channels,
|  | const QStringList & | initialInviteeContactsIdentifiers = `QStringList()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to create a conference text chat with the given channels channels. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  channels | The conference channels.
  initialInviteeContactsIdentifiers | A list of additional contacts identifiers to be invited to this conference when it is created.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::createAndHandleConferenceTextChatroom | ( | const QString & | roomName,
|  | const QList< ChannelPtr > & | channels,
|  | const QStringList & | initialInviteeContactsIdentifiers = `QStringList()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to create a conference text chat room with the given channels channels and room name roomName. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  roomName | The room name.
  channels | The conference channels.
  initialInviteeContactsIdentifiers | A list of additional contacts identifiers to be invited to this conference when it is created.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::createAndHandleConferenceTextChatroom | ( | const QString & | roomName,
|  | const QList< ChannelPtr > & | channels,
|  | const QList< ContactPtr > & | initialInviteeContacts = `QList<ContactPtr>()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to create a conference text chat room with the given channels channels and room name roomName. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  roomName | The room name.
  channels | The conference channels.
  initialInviteeContacts | A list of additional contacts to be invited to this conference when it is created.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::createAndHandleConferenceStreamedMediaCall | ( | const QList< ChannelPtr > & | channels,
|  | const QStringList & | initialInviteeContactsIdentifiers = `QStringList()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to create a conference media call with the given channels channels. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  channels | The conference channels.
  initialInviteeContactsIdentifiers | A list of additional contacts identifiers to be invited to this conference when it is created.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::createAndHandleConferenceStreamedMediaCall | ( | const QList< ChannelPtr > & | channels,
|  | const QList< ContactPtr > & | initialInviteeContacts = `QList<ContactPtr>()`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to create a conference media call with the given channels channels. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  channels | The conference channels.
  initialInviteeContacts | A list of additional contacts to be invited to this conference when it is created.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannel * Tp::Account::createAndHandleContactSearch | ( | const QString & | server = `QString()`,
|  | uint | limit = `0`,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`
| ) |  |

Start a request to create a contact search channel with the given server server and limit limit. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Parameters

  server | For protocols which support searching for contacts on multiple servers with different DNS names (like XMPP), the DNS name of the server to be searched, e.g. "characters.shakespeare.lit". Otherwise, an empty string. If the protocol does not support specifying a search server, this will be ignored.
  limit | The desired maximum number of results that should be returned by a doing a search. If the protocol does not support specifying a limit for the number of results returned at a time, this will be ignored.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel(), createAndHandleChannel()

PendingChannelRequest * Tp::Account::createChannel | ( | const QVariantMap & | request,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to create a channel. This initially just creates a PendingChannelRequest object, which can be used to track the success or failure of the request, or to cancel it.

Helper methods for text chat, text chat room, media call and conference are provided and should be used if appropriate.

Parameters

  request | A dictionary containing desirable properties.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  createChannel()

PendingChannelRequest * Tp::Account::ensureChannel | ( | const QVariantMap & | request,
|  | const QDateTime & | userActionTime = `QDateTime::currentDateTime()`,
|  | const QString & | preferredHandler = `QString()`,
|  | const ChannelRequestHints & | hints = `ChannelRequestHints()`
| ) |  |

Start a request to ensure that a channel exists, creating it if necessary. This initially just creates a PendingChannelRequest object, which can be used to track the success or failure of the request, or to cancel it.

Helper methods for text chat, text chat room, media call and conference are provided and should be used if appropriate.

Parameters

  request | A dictionary containing desirable properties.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.
  preferredHandler | Either the well-known bus name (starting with org.freedesktop.Telepathy.Client.) of the preferred handler for this channel, or an empty string to indicate that any handler would be acceptable.
  hints | Arbitrary metadata which will be relayed to the handler if supported, as indicated by supportsRequestHints().

Returns
  A PendingChannelRequest which will emit PendingChannelRequest::finished when the request has been made.

See Also
  createChannel()

PendingChannel * Tp::Account::createAndHandleChannel | ( | const QVariantMap & | request,
|  | const QDateTime & | userActionTime
| ) |  |

Start a request to create channel. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Helper methods for text chat, text chat room, media call and conference are provided and should be used if appropriate.

The caller is responsible for closing the channel with Channel::requestClose() or Channel::requestLeave() when it has finished handling it.

A possible error returned by this method is TP_QT_ERROR_NOT_AVAILABLE, in case a conflicting channel that matches request already exists.

Parameters

  request | A dictionary containing desirable properties.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  ensureAndHandleChannel()

PendingChannel * Tp::Account::ensureAndHandleChannel | ( | const QVariantMap & | request,
|  | const QDateTime & | userActionTime
| ) |  |

Start a request to ensure that a channel exists, creating it if necessary. This initially just creates a PendingChannel object, which can be used to track the success or failure of the request.

Helper methods for text chat, text chat room, media call and conference are provided and should be used if appropriate.

The caller is responsible for closing the channel with Channel::requestClose() or Channel::requestLeave() when it has finished handling it.

A possible error returned by this method is TP_QT_ERROR_NOT_YOURS, in case somebody else is already handling a channel that matches request.

Parameters

  request | A dictionary containing desirable properties.
  userActionTime | The time at which user action occurred, or QDateTime() if this channel request is for some reason not involving user action.

Returns
  A PendingChannel which will emit PendingChannel::finished successfully, when the Channel is available for handling using PendingChannel::channel(), or with an error if one has been encountered.

See Also
  createAndHandleChannel()

void Tp::Account::removed | ( |  | ) |
| signal

Emitted when this account is removed from the account manager it belonged.

See Also
  remove().

void Tp::Account::serviceNameChanged | ( | const QString & | serviceName | ) |
| signal

Emitted when the value of serviceName() changes.

Parameters

  serviceName | The new service name of this account.

See Also
  serviceName(), setServiceName()

void Tp::Account::profileChanged | ( | const Tp::ProfilePtr & | profile | ) |
| signal

Emitted when the value of profile() changes.

Parameters

  profile | The new profile of this account.

See Also
  profile()

void Tp::Account::displayNameChanged | ( | const QString & | displayName | ) |
| signal

Emitted when the value of displayName() changes.

Parameters

  displayName | The new display name of this account.

See Also
  displayName(), setDisplayName()

void Tp::Account::iconNameChanged | ( | const QString & | iconName | ) |
| signal

Emitted when the value of iconName() changes.

Parameters

  iconName | The new icon name of this account.

See Also
  iconName(), setIconName()

void Tp::Account::nicknameChanged | ( | const QString & | nickname | ) |
| signal

Emitted when the value of nickname() changes.

Parameters

  nickname | The new nickname of this account.

See Also
  nickname(), setNickname()

void Tp::Account::normalizedNameChanged | ( | const QString & | normalizedName | ) |
| signal

Emitted when the value of normalizedName() changes.

Parameters

  normalizedName | The new normalized name of this account.

See Also
  normalizedName()

void Tp::Account::validityChanged | ( | bool | validity | ) |
| signal

Emitted when the value of isValidAccount() changes.

Parameters

  validity | The new validity of this account.

See Also
  isValidAccount()

void Tp::Account::stateChanged | ( | bool | state | ) |
| signal

Emitted when the value of isEnabled() changes.

Parameters

  state | The new state of this account.

See Also
  isEnabled()

void Tp::Account::capabilitiesChanged | ( | const Tp::ConnectionCapabilities & | capabilities | ) |
| signal

Emitted when the value of capabilities() changes.

Parameters

  capabilities | The new capabilities of this account.

See Also
  capabilities()

void Tp::Account::connectsAutomaticallyPropertyChanged | ( | bool | connectsAutomatically | ) |
| signal

Emitted when the value of connectsAutomatically() changes.

Parameters

  connectsAutomatically | The new value of connects automatically property of this account.

See Also
  isEnabled()

void Tp::Account::firstOnline | ( |  | ) |
| signal

Emitted when this account is first put online.

See Also
  hasBeenOnline()

void Tp::Account::parametersChanged | ( | const QVariantMap & | parameters | ) |
| signal

Emitted when the value of parameters() changes.

Parameters

  parameters | The new parameters of this account.

See Also
  parameters()

void Tp::Account::changingPresence | ( | bool | value | ) |
| signal

Emitted when the value of isChangingPresence() changes.

Parameters

  value | Whether this account's connection is changing presence.

See Also
  isChangingPresence()

void Tp::Account::automaticPresenceChanged | ( | const Tp::Presence & | automaticPresence | ) |
| signal

Emitted when the value of automaticPresence() changes.

Parameters

  automaticPresence | The new value of automatic presence property of this account.

See Also
  automaticPresence(), currentPresenceChanged()

void Tp::Account::currentPresenceChanged | ( | const Tp::Presence & | currentPresence | ) |
| signal

Emitted when the value of currentPresence() changes.

Parameters

  currentPresence | The new value of the current presence property of this account.

See Also
  currentPresence()

void Tp::Account::requestedPresenceChanged | ( | const Tp::Presence & | requestedPresence | ) |
| signal

Emitted when the value of requestedPresence() changes.

Parameters

  requestedPresence | The new value of the requested presence property of this account.

See Also
  requestedPresence(), currentPresenceChanged()

void Tp::Account::onlinenessChanged | ( | bool | online | ) |
| signal

Emitted when the value of isOnline() changes.

Parameters

  online | Whether this account is online.

See Also
  isOnline(), currentPresence()

void Tp::Account::avatarChanged | ( | const Tp::Avatar & | avatar | ) |
| signal

Emitted when the value of avatar() changes.

Parameters

  avatar | The new avatar of this account.

See Also
  avatar()

void Tp::Account::connectionStatusChanged | ( | Tp::ConnectionStatus | status | ) |
| signal

Emitted when the connection status changes.

Parameters

  status | The new status of this account connection.

See Also
  connectionStatus(), connectionStatusReason(), connectionError(), connectionErrorDetails(), Connection::ErrorDetails

void Tp::Account::connectionChanged | ( | const Tp::ConnectionPtr & | connection | ) |
| signal

Emitted when the value of connection() changes.

The connection will have the features set in the ConnectionFactory used by this account ready and the same channel and contact factories used by this account.

Parameters

  connection | A ConnectionPtr pointing to the new Connection object or a null ConnectionPtr if there is no connection.

See Also
  connection()

Client::AccountInterface * Tp::Account::baseInterface | ( |  | ) | const
| protected

Return the Client::AccountInterface interface proxy object for this account. This method is protected since the convenience methods provided by this class should generally be used instead of calling D-Bus methods directly.

Returns
  A pointer to the existing Client::AccountInterface object for this Account object.

Client::ChannelDispatcherInterface * Tp::Account::dispatcherInterface | ( |  | ) | const
| protected

Return the Client::ChannelDispatcherInterface interface proxy object to use for requesting channels on this account.

This method is protected since the convenience methods provided by this class should generally be used instead of calling D-Bus methods directly.

Returns
  A pointer to the existing Client::ChannelDispatcherInterface object for this Account object.

## Member Data Documentation

const Feature Tp::Account::FeatureCore
| static

Feature representing the core that needs to become ready to make the Account object usable.

Note that this feature must be enabled in order to use most Account methods. See specific methods documentation for more details.

When calling isReady(), becomeReady(), this feature is implicitly added to the requested features.

const Feature Tp::Account::FeatureAvatar
| static

Feature used in order to access account avatar info.

See avatar specific methods' documentation for more details.

See Also
  avatar(), avatarChanged()

const Feature Tp::Account::FeatureProtocolInfo
| static

Feature used in order to access account protocol info.

See protocol info specific methods' documentation for more details.

See Also
  protocolInfo()

const Feature Tp::Account::FeatureCapabilities
| static

Feature used in order to access account capabilities.

Enabling this feature will also enable FeatureProtocolInfo and FeatureProfile.

See capabilities specific methods' documentation for more details.

See Also
  capabilities(), capabilitiesChanged()

const Feature Tp::Account::FeatureProfile
| static

Feature used in order to access account profile info.

See profile specific methods' documentation for more details.

See Also
  profile(), profileChanged()

## Property Documentation

bool Tp::Account::valid
| read

bool Tp::Account::enabled
| read

QString Tp::Account::cmName
| read

Return the connection manager name of this account.

Returns
  The connection manager name.

QString Tp::Account::protocolName
| read

Return the protocol name of this account.

Returns
  The protocol name.

QString Tp::Account::serviceName
| read

Return the service name of this account.

Note that this method will fallback to protocolName() if service name is not known.

Change notification is via the serviceNameChanged() signal.

This method requires Account::FeatureCore to be ready.

Returns
  The service name.

See Also
  serviceNameChanged(), setServiceName(), protocolName()

ProfilePtr Tp::Account::profile
| read

Return the profile used by this account.

Profiles are intended to describe variants of the basic protocols supported by Telepathy connection managers. An example of this would be Google Talk vs Facebook chat vs Jabber/XMPP. Google Talk is a specific case of XMPP with well-known capabilities, quirks and settings, and Facebook chat is a subset of the standard XMPP offering.

This method will return the profile for this account based on the service used by it.

Note that if a profile for serviceName() is not available, a fake profile (Profile::isFake() is `true`) will be returned in case protocolInfo() is valid.

The fake profile will contain the following info:

- Profile::type() will return "IM"
- Profile::provider() will return an empty string
- Profile::serviceName() will return "cmName()-serviceName()"
- Profile::name() and Profile::protocolName() will return protocolName()
- Profile::iconName() will return "im-protocolName()"
- Profile::cmName() will return cmName()
- Profile::parameters() will return a list matching CM default parameters for protocol with name protocolName()
- Profile::presences() will return an empty list and Profile::allowOtherPresences() will return `true`, meaning that CM presences should be used
- Profile::unsupportedChannelClassSpecs() will return an empty list

Change notification is via the profileChanged() signal.

This method requires Account::FeatureProfile to be ready.

Returns
  A pointer to the Profile object.

See Also
  profileChanged(), serviceName()

QString Tp::Account::displayName
| read

Return the display name of this account.

Change notification is via the displayNameChanged() signal.

This method requires Account::FeatureCore to be ready.

Returns
  The display name.

See Also
  displayNameChanged(), setDisplayName()

QString Tp::Account::iconName
| read

Return the icon name of this account.

If the account has no icon, and Account::FeatureProfile is enabled, the icon from the result of profile() will be used.

If neither the account nor the profile has an icon, and Account::FeatureProtocolInfo is enabled, the icon from protocolInfo() will be used if set.

As a last resort, "im-" + protocolName() will be returned.

This matches the fallbacks recommended by the Telepathy specification.

Change notification is via the iconNameChanged() signal.

This method requires Account::FeatureCore to be ready.

Returns
  The icon name.

See Also
  iconNameChanged(), setIconName()

QString Tp::Account::nickname
| read

Return the nickname of this account.

Change notification is via the nicknameChanged() signal.

This method requires Account::FeatureCore to be ready.

Returns
  The nickname.

See Also
  nicknameChanged(), setNickname()

AvatarSpec Tp::Account::avatarRequirements
| read

Return the avatar requirements (size limits, supported MIME types, etc) for avatars passed to setAvatar() on this account.

For now this method will only return the avatar requirements found in protocolInfo() if Account::FeatureProtocolInfo is ready, otherwise an invalid AvatarSpec instance is returned.

Returns
  The requirements as an AvatarSpec object.

See Also
  avatar(), setAvatar()

const Avatar & Tp::Account::avatar
| read

Return the avatar of this account.

Change notification is via the avatarChanged() signal.

This method requires Account::FeatureAvatar to be ready.

Returns
  The avatar as an Avatar object.

See Also
  avatarChanged(), setAvatar()

QVariantMap Tp::Account::parameters
| read

Return the parameters of this account.

The account parameters are represented as a map from connection manager parameter names to their values.

Change notification is via the parametersChanged() signal.

This method requires Account::FeatureCore to be ready.

Returns
  The parameters as QVariantMap.

See Also
  parametersChanged(), updateParameters()

ProtocolInfo Tp::Account::protocolInfo
| read

Return the protocol info of this account protocol.

This method requires Account::FeatureProtocolInfo to be ready.

Returns
  The protocol info as a ProtocolInfo object.

ConnectionCapabilities Tp::Account::capabilities
| read

Return the capabilities for this account.

Note that this method will return the connection() capabilities if the account is online and ready. If the account is disconnected, it will fallback to return the subtraction of the protocolInfo() capabilities and the profile() unsupported capabilities.

Change notification is via the capabilitiesChanged() signal.

This method requires Account::FeatureCapabilities to be ready.

Returns
  The capabilities as a ConnectionCapabilities object.

See Also
  capabilitiesChanged(), protocolInfo(), profile()

bool Tp::Account::hasBeenOnline
| read

Return whether this account has ever been put online successfully.

This property cannot change from `true` to `false`, only from `false` to `true`. When the account successfully goes online for the first time, or when it is detected that this has already happened, the firstOnline() signal is emitted.

This method requires Account::FeatureCore to be ready.

Returns
  `true` if ever been online, `false` otherwise.

bool Tp::Account::connectsAutomatically
| read

Return whether this account should be put online automatically whenever possible.

Change notification is via the connectsAutomaticallyPropertyChanged() signal.

This method requires Account::FeatureCore to be ready.

Returns
  `true` if it should try to connect automatically, `false` otherwise.

See Also
  connectsAutomaticallyPropertyChanged(), setConnectsAutomatically()

ConnectionStatus Tp::Account::connectionStatus
| read

Return the status of this account connection.

Note that this method may return a different value from the one returned by Connection::status() on this account connection. This happens because this value will change whenever the connection status of this account connection changes and won't consider the Connection introspection process. The same rationale also applies to connectionStatusReason() and connectionErrorDetails().

A valid use case for this is for account creation UIs that wish to display the accounts connection status and nothing else on the connections (e.g. retrieve the contact list).

Change notification is via the connectionStatusChanged() signal.

This method requires Account::FeatureCore to be ready.

Returns
  The connection status as ConnectionStatus.

See Also
  connectionStatusChanged(), connectionStatusReason(), connectionError(), connectionErrorDetails()

ConnectionStatusReason Tp::Account::connectionStatusReason
| read

Return the reason for this account connection status.

This represents the reason for the last change to connectionStatus().

Note that this method may return a different value from the one returned by Connection::statusReason() on this account connection. See connectionStatus() for more details.

This method requires Account::FeatureCore to be ready.

Returns
  The connection status reason as ConnectionStatusReason.

See Also
  connectionStatusChanged(), connectionStatus(), connectionError(), connectionErrorDetails()

QString Tp::Account::connectionError
| read

Return the D-Bus error name for the last disconnection or connection failure, (in particular, TP_QT_ERROR_CANCELLED if it was disconnected by user request), or an empty string if the account is connected.

This method requires Account::FeatureCore to be ready.

Returns
  The D-Bus error name for the last disconnection or connection failure.

See Also
  connectionErrorDetails(), connectionStatus(), connectionStatusReason(), connectionStatusChanged()

Connection::ErrorDetails Tp::Account::connectionErrorDetails
| read

Return detailed information related to connectionError().

Note that this method may return a different value from the one returned by Connection::errorDetails() on this account connection. See connectionStatus() for more details.

This method requires Account::FeatureCore to be ready.

Returns
  The connection error details as a Connection::ErrorDetails object.

See Also
  connectionError(), connectionStatus(), connectionStatusReason(), connectionStatusChanged(), Connection::ErrorDetails.

ConnectionPtr Tp::Account::connection
| read

Return the object representing the connection of this account.

Note that the Connection object returned by this method will have the features set in the connectionFactory() used by this account ready.

Change notification is via the connectionChanged() signal.

This method requires Account::FeatureCore to be ready.

Returns
  A pointer to the Connection object, or a null ConnectionPtr if there is no connection currently or if an error occurred.

See Also
  connectionChanged()

bool Tp::Account::changingPresence
| read

Presence Tp::Account::automaticPresence
| read

Return the presence status that this account will have set on it by the account manager if it brings it online automatically.

Change notification is via the automaticPresenceChanged() signal.

This method requires Account::FeatureCore to be ready.

Returns
  The automatic presence as a Presence object.

See Also
  automaticPresenceChanged(), setAutomaticPresence()

Presence Tp::Account::currentPresence
| read

Return the actual presence of this account.

Change notification is via the currentPresenceChanged() signal.

This method requires Account::FeatureCore to be ready.

Returns
  The current presence as a Presence object.

See Also
  currentPresenceChanged(), setRequestedPresence(), requestedPresence(), automaticPresence()

Presence Tp::Account::requestedPresence
| read

Return the requested presence of this account.

Change notification is via the requestedPresenceChanged() signal.

This method requires Account::FeatureCore to be ready.

Returns
  The requested presence as a Presence object.

See Also
  requestedPresenceChanged(), setRequestedPresence(), currentPresence(), automaticPresence()

bool Tp::Account::online
| read

QString Tp::Account::uniqueIdentifier
| read

Return the unique identifier of this account.

Returns
  The unique identifier.

QString Tp::Account::normalizedName
| read

Return the normalized user ID of the local user of this account.

It is unspecified whether this user ID is globally unique.

As currently implemented, IRC user IDs are only unique within the same IRCnet. On some saner protocols, the user ID includes a DNS name which provides global uniqueness.

If this value is not known yet (which will always be the case for accounts that have never been online), it will be an empty string.

It is possible that this value will change if the connection manager's normalization algorithm changes.

This method requires Account::FeatureCore to be ready.

Returns
  The normalized user ID of the local user.

See Also
  normalizedNameChanged()