Mission Control D-Bus Interface Specification

Version Draft 2007-08-10

Copyright (C) 2007 Collabora Ltd
Copyright (C) 2007 Nokia Corporation
Copyright (C) 2006 basysKom GmbH

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Interfaces

org.freedesktop.Telepathy.MissionControl.AccountManager

Methods:

ListAccounts ( ) → ao

Lists all accounts known to Mission Control.

Returns

accounts - ao
An array of object paths to the accounts.

AddAccount ( ) → o

Add a new account to Mission Control.

Returns

account - o
The object path of the newly created account.

FindAccounts ( a{sv}: params ) → ao

Find all accounts whose account data contains the search query.

An empty parameter should return all accounts

Parameters

params - a{sv}

The search query data. If searching for a match on keys in the account dictionary as used in the Connection Manager, the keys should be prepended with "param-". For example, to search based on port specified in the Connection Manager, one would use "param-port".

For searching based on Mission Control specific keys simply state them without a prefix. These keys, along with their associated variant types, are:

  • s: profile
  • u: presence
  • s: presence_message
  • s: display_name
  • b: enabled
  • s: group

Returns

accounts - ao
The array of object paths of the accounts.

GetOnlineAccounts ( ) → ao

Returns an array of the object paths of all accounts which are currently online.

Returns

accounts - ao
The array of object paths of the accounts.

ConnectAll ( ) → nothing

Request that all enabled accounts go online with the default presence.

SetGlobalPresence ( u: presence_state, s: presence_message ) → nothing

Set a global presence and message on all accounts, putting accounts online if necessary.

Parameters

presence_state - u

The new presence state to be set globally. This is an unsigned integer according to the enumerated type Connection_Presence_Type in Telepathy's org.freedesktop.Telepathy.Connection.Interface.Presence .

presence_message - s
The new presence message to be set globally.

SetPresenceOnGroup ( s: group, u: presence_state, s: presence_message ) → nothing

Sets a presence on all accounts which are a member of a specified group.

Parameters

group - s
The group which the accounts are a member of.
presence_state - u
The new presence state to be set on the accounts.
presence_message - s
The new presence message to be set on the accounts.

Signals:

AccountCreated ( o: account )

Emitted when an account is created.

Parameters

account - o
The object path to the account which was created.

AccountUpdated ( o: account )

Emitted when an account is updated.

Parameters

account - o
The object path to the account which was updated.

AccountDeleted ( o: account )

Emitted when an account is deleted.

Parameters

account - o
The object path to the account which was deleted.

AccountStatusChanged ( o: account, u: status, u: presence, u: reason )

Emitted when an account's status changes.

Parameters

account - o
The object path to the account whose status changed.
status - u
The new status of the account.
presence - u
The new presence of the account.
reason - u
The reason for the account's status change.

Interface has no properties.

org.freedesktop.Telepathy.MissionControl.Account

Methods:

SetParameters ( a{sv}: params ) → nothing

Set the account parameter dictionary replacing the current dictionary6.

See org.freedesktop.Telepathy.ConnectionManager, method RequestConnection for a description of the struct.

Parameters

params - a{sv}
The account parameter dictionary.

UpdateParameters ( a{sv}: params ) → nothing

Update the account parameter dictionary. If there are keys in the original account parameter dictionary not specified in the update, then the original keys will remain the same.

Parameters

params - a{sv}
The account parameter dictionary.

GetParameters ( ) → a{sv}

Gets the parameter dictionary currently set on the account.

Returns

params - a{sv}
Gets the current parameters set on the account.

SetGroups ( as: groups ) → nothing

Set the groups which this account is a member of.

Parameters

groups - as
An array of strings representing the groups which this account is a member of.

GetGroups ( ) → as

Get the groups which this account is a member of.

Returns

groups - as
An array of strings representing the groups which this account is a member of.

Delete ( ) → nothing

Delete the account.

RequestChannel ( s: type, i: handle_type, s: handle ) → nothing

Requests a channel be opened for an account to a handle, putting the account online if necessary.

Parameters

type - s
The D-Bus interface name representing the channel type.
handle_type - i
The type of the handle to create the channel to.
handle - s
A handle representing a contact, room, list, etc.

SetPresence ( u: presence, s: presence_message ) → nothing

Request that a presence be set on the account.

Parameters

presence - u
An unsigned integer representing the presence.
presence_message - s
The presence message to be set.

GetRequestedPresence ( ) → u, s

Gets the last requested presence for the account. This is not necessarily the same as the actual presence.

Returns

presence - u
The last requested presence on the account.
presence_message - s
The last requested presence message on the account.

GetCurrentPresence ( ) → u, s

Gets the current presence actually set on the account.

Returns

presence - u
The current presence actually set on the account.
presence_message - s
The current presence message actually set on the account.

GetConnectionStatus ( ) → u

Get the status of the connection.

Returns

status - u
The current status of the connection.

SetAvatar ( ay: avatar_data, s: mime_type ) → nothing

Set an avatar on the account.

Parameters

avatar_data - ay
The avatar data as a byte array.
mime_type - s
The avatar data's mime type. Can be left empty.

GetAvatar ( ) → ay, s

Gets the avatar currently set on the account.

Returns

avatar_data - ay
The avatar data as a byte array.
mime_type - s
The avatar data's mime type.

SetDisplayName ( s: display_name ) → nothing

Sets a display name on the account.

Parameters

display_name - s
The display name to be set on the account.

GetDisplayName ( ) → s

Gets the display name currently set on the account.

Returns

display_name - s
The display name currently set on the account.

GetNormalizedName ( ) → s

Gets the normalized name of the account (the result of inspecting the connection's self handle when the account is online).

Returns

normalized_name - s
The normalized name of the account.

GetConnection ( ) → s, o

Gets the bus name and the object path of the connection associated with the account if it's online.

Returns

bus_name - s
The bus name of the connection.
connection - o
The object path of the connection.

Signals:

AvatarChanged ( )

Emitted when a remote avatar is changed on this account.

PresenceChanged ( )

Emitted when the presence is changed on this account.

DisplayNameChanged ( )

Emitted when the display name of the account has changed.

Interface has no properties.

org.freedesktop.Telepathy.MissionControl.ProtocolManager

Methods:

ConnectionManagers ( ) → ao

Returns the object paths of all the connection managers known to Mission Control.

Returns

connection_managers - ao
An array of the object paths of all known connection managers.

SupportedProtocols ( ) → as

Returns the protocols supported by the connection managers known to Mission Control.

Returns

protocols - as
An array of strings representing the supported protocols.

ProtocolConnectionManagers ( s: protocol ) → ao

Returns the connections managers which support a specified protocol.

Parameters

protocol - s
The search query protocol.

Returns

connection_managers - ao
An array of object paths of all connection managers which support that protocol.

Interface has no signals.

Interface has no properties.

org.freedesktop.Telepathy.MissionControl.ChannelHandlerManager

Each Channel Handler is defined by a .chandler file which conforms to the following file format:

[ChannelHandler]
BusName = Bus service name on which the Channel Handler resides.
ObjectPath = Object path representing the Channel Handler.
ChannelTypes = Comma separated list of channel types the Channel Handler supports.
Protocol = Comma separated list of protocols which the Channel Handler supports.

Methods:

SetSearchPath ( as: search_paths ) → nothing

Sets the search path to find the .chandler files which define the Channel Handlers.

Parameters

search_paths - as
An array of paths where Mission Control should search for .chandler files.

SearchPath ( ) → as

Returns the current search path for .chandler files.

Returns

search_paths - as
An array of paths where Mission Control searches for .chandler files.

Scan ( ) → nothing

Instruct Mission Control to scan the search path and register any Channel Handlers it finds.

ListChannelHandlers ( ) → ao

Lists the Channel Handlers currently known to Mission Control.

Returns

channel_handlers - ao
An array of object paths which represent the Channel Handlers.

SetPriorities ( ao: channel_handlers, s: channel_type ) → nothing

Sets which order the Channel Handlers should be loaded when a new channel is opened.

Parameters

channel_handlers - ao
An array of D-Bus objects representing the order in which the Channel Handlers should be loaded.
channel_type - s
The channel type which this priority applies to.

Interface has no signals.

Interface has no properties.

org.freedesktop.Telepathy.MissionControl.ChannelHandler

Each Channel Handler must expose the following D-Bus interface.

Methods:

HandleChannel ( (sososuu): channel_information ) → nothing

A function which is called by Mission Control to alert the Channel Handler of the presence of a new channel which it has previously advertised it is capable of handling.

Parameters

channel_information - (sososuu)

A struct representing the channel information for the channel which is offered to the Channel Handler.

  • s - service name of the connection.
  • o - object path of the connection.
  • s - service name of the new channel.
  • o - object path of the new channel.
  • s - channel type.
  • u - target handle type.
  • u - target handle.

Signals:

Continue ( )

Emitted when the Channel Handler wants Mission Control to offer the channel to the next Channel Handler in the priority list.

Accept ( b: accepted )

Emitted detailing whether the Channel Handler accepts responsibility for the channel.

Parameters

accepted - b
True if the Channel Handler accepts responsibility, false otherwise.

Interface has no properties.