summaryrefslogtreecommitdiff
path: root/README
blob: fe20bc461865d2be2fd7f2024d8ac4293de388b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
===========================
telepathy-mission-control 5
===========================

Telepathy Mission Control 5 is an account manager and channel dispatcher for
the Telepathy framework, allowing user interfaces and other clients
to share connections to real-time communication services without conflicting.
It implements the AccountManager and ChannelDispatcher D-Bus APIs as described
by telepathy-spec.

The account manager part stores real time communication account details,
connects to the stored accounts on request, and sets the accounts' presence,
nickname and avatar according to requests from Telepathy user interfaces and
other components.

The channel dispatcher part responds to incoming communication channels
(message streams, voice/video calls, file transfers etc.) by dispatching
them to suitable user interfaces, and requests outgoing communication
channels according to requests from a Telepathy UI.

Telepathy is a D-Bus framework for unifying real time communication,
including instant messaging, voice calls and video calls. It abstracts
differences between protocols to provide a unified interface for
applications.

Requirements
============

Building Mission Control requires:
  GLib, GObject <http://ftp.gnome.org/pub/GNOME/sources/glib/>
  libdbus <http://dbus.freedesktop.org/releases/dbus/>
  The D-Bus GLib bindings <http://dbus.freedesktop.org/releases/dbus-glib/>
  telepathy-glib <http://telepathy.freedesktop.org/releases/telepathy-glib/>

  GNU make <http://www.gnu.org/software/make/>
  pkg-config <http://ftp.gnome.org/pub/GNOME/sources/pkg-config/>
  libxslt, xsltproc <http://xmlsoft.org/XSLT/>
  Python <http://www.python.org/>

and can also make use of:
  gtkdoc <http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/>

See configure.ac for full details, including versions required.
Of the packages listed above, only GLib, GObject, libdbus, dbus-glib and
telepathy-glib are required at runtime.

Building from git also requires the GNU build system (Autoconf, Automake,
libtool).

Bugs, feature requests and to-do list
=====================================

Report all bugs, feature requests and "to-do" items here:
  <https://bugs.freedesktop.org/enter_bug.cgi?product=Telepathy&component=mission-control>

D-Bus API stability
===================

Interfaces described as stable in the Telepathy Specification
<http://telepathy.freedesktop.org/spec/> are considered stable and will not
generally have incompatible changes.

All other interfaces (including draft interfaces and Nokia-specific
extensions) are subject to change.

C API stability
===============

The mission-control-plugins library introduced in Mission Control 5.5.0
contains a C API for plugins. All plugins should be compiled and linked
against this library by using the CFLAGS and LIBS from
mission-control-plugins.pc, and installed in the directory given by this
pkg-config query:

    pkg-config --variable=plugindir mission-control-plugins

Incompatible changes in this library's public API/ABI will be avoided whenever
possible. The API and ABI versions can be retrieved with these pkg-config
queries:

    pkg-config --variable=MCP_API_VERSION mission-control-plugins
    pkg-config --variable=MCP_ABI_VERSION mission-control-plugins

The older libmcclient and libmissioncontrol-server have no API or ABI
guarantees, and should not generally be used at all. Since version 5.5.0,
their headers are not installed by default.

Versioning
==========

Mission Control follows the same Linux-style odd/even minor versioning policy
as most other Telepathy components: for instance, the 5.1.x series were
development releases leading to the 5.2.x stable branch.

Intermediate versions built from the git repository have a "+" suffix on the
version number, so version "5.1.0+" could be any snapshot taken between 5.1.0
and 5.1.1.

Contact info
============

Mission Control was originally written by Nokia Corporation for the Maemo
platform, but it is now maintained by the Telepathy project:
  <http://telepathy.freedesktop.org/>
  <mailto:telepathy@lists.freedesktop.org>
  <irc://irc.freenode.net/telepathy>

Hacking
=======

The current development version of MC is available from the
'master' branch in the git repository:
  <git://git.collabora.co.uk/git/telepathy-mission-control.git>
  <git+ssh://git.collabora.co.uk/git/telepathy-mission-control.git>
  <http://git.collabora.co.uk/?p=telepathy-mission-control.git> (gitweb)

Stable branches will be made available from branches with names like
'telepathy-mission-control-5.2' in the same repository.

Contributions for review should be attached to bugs in freedesktop.org
Bugzilla, with the "patch" tag. If there's no relevant bug, open one:
  <https://bugs.freedesktop.org/enter_bug.cgi?product=Telepathy&component=telepathy-mission-control>

MC does not yet follow <http://telepathy.freedesktop.org/wiki/Style>. Please
follow the style used in the current code.