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

Public Member Functions
Tp::ProtocolInfo Class Reference
Connection manager proxies

The ProtocolInfo class represents a Telepathy Protocol. More...

`#include <TelepathyQt/ProtocolInfo>`

List of all members.

## Public Member Functions

- ProtocolInfo ()
- ProtocolInfo (const ProtocolInfo &other)
- ~ProtocolInfo ()
- bool isValid () const
- ProtocolInfo & operator= (const ProtocolInfo &other)
- QString cmName () const
- QString name () const
- ProtocolParameterList parameters () const
- bool hasParameter (const QString &name) const
- bool canRegister () const
- ConnectionCapabilities capabilities () const
- QString vcardField () const
- QString englishName () const
- QString iconName () const
- PresenceSpecList allowedPresenceStatuses () const
- AvatarSpec avatarRequirements () const
- QStringList addressableVCardFields () const
- QStringList addressableUriSchemes () const
- PendingString * normalizeVCardAddress (const QString &vcardField, const QString &vcardAddress)
- PendingString * normalizeContactUri (const QString &uri)

## Detailed Description

The ProtocolInfo class represents a Telepathy Protocol.

## Constructor & Destructor Documentation

Tp::ProtocolInfo::ProtocolInfo | ( |  | ) |

Tp::ProtocolInfo::ProtocolInfo | ( | const ProtocolInfo & | other | ) |

Tp::ProtocolInfo::~ProtocolInfo | ( |  | ) |

Class destructor.

## Member Function Documentation

bool Tp::ProtocolInfo::isValid | ( |  | ) | const`[inline]`

ProtocolInfo & Tp::ProtocolInfo::operator= | ( | const ProtocolInfo & | other | ) |

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

Return the short name of the connection manager (e.g. "gabble") for this protocol.

Returns:
  The name of the connection manager for this protocol.

QString Tp::ProtocolInfo::name | ( |  | ) | const

Return the string identifying this protocol as described in the Telepathy specification (e.g. "jabber").

This identifier is not intended to be displayed to users directly; user interfaces are responsible for mapping them to localized strings.

Returns:
  A string identifying this protocol.

ProtocolParameterList Tp::ProtocolInfo::parameters | ( |  | ) | const

Return all supported parameters for this protocol. The parameters' names may either be the well-known strings specified by the Telepathy specification (e.g. "account" and "password"), or implementation-specific strings.

Returns:
  A list of parameters for this protocol.

bool Tp::ProtocolInfo::hasParameter | ( | const QString & | name | ) | const

Return whether a given parameter can be passed to the connection manager when creating a connection to this protocol.

Parameters:

  name | The name of a parameter.

Returns:
  true if the given parameter exists.

bool Tp::ProtocolInfo::canRegister | ( |  | ) | const

Return whether it might be possible to register new accounts on this protocol, by setting the special parameter named `register` to `true`.

Returns:
  The same thing as hasParameter("register").

See also:
  hasParameter()

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

Return the capabilities that are expected to be available from a connection to this protocol, i.e. those for which Connection::createChannel() can reasonably be expected to succeed. User interfaces can use this information to show or hide UI components.

Returns:
  An object representing the capabilities expected to be available from a connection to this protocol.

QString Tp::ProtocolInfo::vcardField | ( |  | ) | const

Return the name of the most common vcard field used for this protocol's contact identifiers, normalized to lower case.

One valid use of this field is to answer the question: given a contact's vcard containing an X-JABBER field, how can you communicate with the contact? By iterating through protocols looking for an x-jabber VCardField, one can build up a list of protocols that handle x-jabber, then offer the user a list of accounts for those protocols and/or the option to create a new account for one of those protocols. It is not necessarily valid to interpret contacts' identifiers as values of this vcard field. For instance, telepathy-sofiasip supports contacts whose identifiers are of the form sip:jenny@example.com or tel:8675309, which would not normally both be represented by any single vcard field.

Returns:
  The most common vcard field used for this protocol's contact identifiers, or an empty string if there is no such field.

QString Tp::ProtocolInfo::englishName | ( |  | ) | const

Return the English-language name of this protocol, such as "AIM" or "Yahoo!".

The name can be used as a fallback if an application doesn't have a localized name for this protocol.

If the manager file or the CM service doesn't specify the english name, it is inferred from this protocol name, such that for example "google-talk" becomes "Google Talk", but "local-xmpp" becomes "Local Xmpp".

Returns:
  An English-language name for this protocol.

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

Return the name of an icon for this protocol in the system's icon theme, such as "im-msn".

If the manager file or the CM service doesn't specify the icon name, "im-<protocolname>" is assumed.

Returns:
  The likely name of an icon for this protocol.

PresenceSpecList Tp::ProtocolInfo::allowedPresenceStatuses | ( |  | ) | const

Return a list of PresenceSpec representing the possible presence statuses from a connection to this protocol.

Returns:
  A list of PresenceSpec representing the possible presence statuses from a connection to this protocol.

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

Return the requirements (size limits, supported MIME types, etc) for avatars used on to this protocol.

Returns:
  The requirements for avatars used on this protocol.

QStringList Tp::ProtocolInfo::addressableVCardFields | ( |  | ) | const

Return the vcard fields that can be used to request a contact with on this protocol, normalized to lower case.

Returns:
  The vcard fields normalized to lower case.

See also:
  addressableUriSchemes()

QStringList Tp::ProtocolInfo::addressableUriSchemes | ( |  | ) | const

Return the URI schemes that are supported by this protocol.

Returns:
  The URI schemes.

See also:
  addressableVCardFields()

PendingString * Tp::ProtocolInfo::normalizeVCardAddress | ( | const QString & | vcardField,
|  | const QString & | vcardAddress
| ) |  |

Attempt to normalize the given vcardAddress.

For example, a vcard TEL field formatted as +1 (206) 555 1234, could be normalized to +12065551234.

If a vcard address X would be normalized to Y, a successful ContactManager contact request using ContactManager::contactsForVCardAddresses() for vcard address X would result in a contact with Y reported as an address that can identify it in Contact::vcardAddresses().

Parameters:

  vcardField | The vcard field the vcardAddress belongs to.
  vcardAddress | The address to normalize.

Returns:
  A PendingString which will emit PendingString::finished when the address has been normalized or an error occurred.

See also:
  normalizeContactUri()

PendingString * Tp::ProtocolInfo::normalizeContactUri | ( | const QString & | uri | ) |

Attempt to normalize the given contact uri.

If the URI has extra information beyond what's necessary to identify a particular contact, such as an XMPP resource or an action to carry out, this extra information wil be removed.

An example would be xmpp:romeo@Example.Com/Empathy?message;body=Hello, which would be normalized to xmpp:romeo@example.com.

If a URI address X would be normalized to Y, a successful ContactManager contact request using ContactManager::contactsForUris() for URI address X would result in a contact with Y reported as an address that can identify it in Contact::uris().

Parameters:

  uri | The URI to normalize.

Returns:
  A PendingString which will emit PendingString::finished when the uri has been normalized or an error occurred.

See also:
  normalizeVCardAddress()