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
|
API/Behaviour changes
=====================
- The library has been split in half. To use high-level APIs, use the
pkg-config module "telepathy-glib-1" and
#include <telepathy-glib/telepathy-glib.h>. To use lower-level APIs that
rely on dbus-glib GTypes or specific D-Bus interfaces, methods or signals,
also use the pkg-config module "telepathy-glib-1-dbus" and
#include <telepathy-glib/telepathy-glib-dbus.h>.
- TpSimpleClientFactory got renamed to TpClientFactory
- tp_automatic_client_factory_new() now returns a TpClientFactory*
for less boring casting.
- Tp{Basic,Automatic}ProxyFactory and TpClientChannelFactory, as well as all
related APIs got removed. TpClientFactory and TpAutomaricClientFactory are
their replacement.
- tp_simple_{observer,approver,handler}_new() now takes a TpClientFactory as
first argument, and _new_with_factory() got removed.
- TpBaseClient lost its "account-manager" property, applications only
interested by channels does not have to create a full TpAccountManager,
TpAccount objects will be created only when a channel comes up for that
account.
- TpContact now uses GQuark instead of TpContactFeature. This make them
consistent with TpProxy features.
- TpAutomaticClientFactory now only has CORE features by default, other
features must be added explicitly by the user using
tp_client_factory_add_*_features().
- TP_CHANNEL_FEATURE_CONTACTS is removed:
* TpChannel:target-contact and TpChannel:initiator-contact are now prepared
as part of TP_CHANNEL_FEATURE_CORE;
* group TpContacts are now prepared as part of TP_CHANNEL_FEATURE_GROUP.
- TP_CHANNEL_FEATURE_GROUP is not CORE anymore, so must be requested explicitly
to introspect Group interface.
- Some of the Group APIs of TpChannel has been renamed:
* tp_channel_group_dup_members_contacts -> tp_channel_group_dup_members;
* tp_channel_group_dup_local_pending_contacts -> tp_channel_group_dup_local_pending;
* tp_channel_group_get_local_pending_contact_info -> tp_channel_group_get_local_pending_info;
* tp_channel_group_dup_remote_pending_contacts -> tp_channel_group_dup_remote_pending;
* "group-contacts-changed" -> "group-members-changed".
- "contact-chat-state-changed" signal has been renamed to "chat-state-changed".
- TpContact does not ref its TpConnection anymore, to fix refcycle caused by
TpConnection reffing its roster contacts, or TpChannel reffing its members.
Apps should now keep their own reference to the TpConnection in order to use
its TpContact. Note that keeping a reference to the TpAccountManager or
TpAccount is good as well.
- tp_connection_manager_get_protocol_object() has been renamed to
tp_connection_manager_get_protocol().
- TpGroupMixin and TpMessageMixin now require TpBaseChannel.
TpPresenceMixin now require TpBaseConnection.
- TpAccountRequest::connection-manager property has been renamed to ::cm-name,
and TpAccountRequest::protocol property has been renamed to ::protocol-name.
- tp_group_mixin_change_members() now has the signature of
tp_group_mixin_change_members_detailed(). To help transition this function
can be added internally:
static void
change_members (GObject *obj,
const gchar *message,
const TpIntset *add,
const TpIntset *del,
const TpIntset *add_local_pending,
const TpIntset *add_remote_pending,
TpHandle actor,
TpChannelGroupChangeReason reason)
{
GHashTable *details;
details = tp_asv_new (
"actor", G_TYPE_UINT, actor,
"change-reason", G_TYPE_UINT, reason,
NULL);
if (message != NULL)
tp_asv_set_string (details, "message", message);
tp_group_mixin_change_members (obj,
add, del, add_local_pending, add_remote_pending, details);
g_hash_table_unref (details);
}
- TpBaseContactList is not a channel manager anymore. An instance should be
created in TpBaseConnection::constructed instead of
TpBaseConnection::create_channel_factories.
- Protocol and service names contain "_" where they used to contain "-"
(in real life, this mostly affects Salut and Haze for local_xmpp,
and Haze for skype_dbus and skype_x11).
|