AgeCommit message (Collapse)AuthorFilesLines
2014-04-17TpPresenceMixin: redo the API to be introspectablewip-presence-mixinSimon McVittie14-314/+520
TpPresenceStatusSpec and TpPresenceStatus are now opaque, refcounted structures, with accessors for everything. Functions that return them return a GList with (transfer full); this does lead to some irritating boilerplate in the CMs, unfortunately.
2014-04-17tp_base_connection_change_status: update RequestableChannelClasses before ↵wip-gdbus-allSimon McVittie1-3/+5
2014-04-17fix some more commentsSimon McVittie3-8/+8
2014-04-17Use TpPresenceMixin as the type for methods and vfuncsSimon McVittie6-51/+63
Otherwise, the vfuncs are not introspectable.
2014-04-17Decouple TpPresenceMixin from TpBaseConnection againSimon McVittie8-33/+127
I never liked the idea of putting individual interfaces in TpBaseConnection, and it's actually unnecessary: qdata will work just as well.
2014-04-17handle.h: make TpHandle exactly guint32Simon McVittie4-19/+14
Remove its GType, because I don't think anyone ever used it, and strictly speaking there is no GType for guint32.
2014-04-17Fix some confusion over "&s" in variant-buildingSimon McVittie3-5/+5
In C-to-GVariant conversions, "&s" does not mean "take ownership"; neither does it mean "assume statically-allocated, avoid copying or freeing". It is in fact exactly equivalent to "s" - i.e. "copy this string into the variant" - so use the simpler form instead.
2014-04-17TpBaseContactListPrivate: correct a commentSimon McVittie1-1/+1
2014-04-17TpPresenceMixin: rename construct_presence_hash to construct_presence_mapSimon McVittie1-3/+3
It doesn't return a hash table.
2014-04-17_tp_base_connection_dup_contact_attributes: de-confuse nameSimon McVittie3-9/+9
Two things were confusing about its name: it ended with _hash but didn't return a GHashTable any more, and it contained _dup_ but didn't return a ref.
2014-04-17_tp_g_dbus_object_dup_interface_names_except: rename and remove arbitrary limitSimon McVittie4-18/+23
2014-04-17Move TpDBusPropertiesMixin to the -dbus librarySimon McVittie46-247/+127
It already has private GVariant-based APIs, so we might as well make them public while we're changing them anyway. This removes TP_TYPE_DBUS_PROPERTIES_MIXIN_FLAGS (because we don't run glib-mkenums on the -dbus library) but I doubt anyone actually used it.
2014-04-17Communicate registrations to TpDBusPropertiesMixin via an internal headerSimon McVittie5-67/+70
We can't keep using _tp_dbus_object_get_object_path() if the TpDBusPropertiesMixin moves to the -dbus library.
2014-04-17Use the "invisible TpDBusPropertiesMixin" in all public classesSimon McVittie18-148/+87
2014-04-17TpDBusPropertiesMixin: don't use TP_ERRORSimon McVittie2-10/+11
We can't do that if we want to put it in the -dbus library. Using InvalidArgs is consistent with GDBus.
2014-04-17tp_dbus_connection_try_register_object: disallow ↵Simon McVittie1-2/+13
2014-04-17tp_dbus_connection_try_register_object: factor out finding the interface ↵Simon McVittie1-78/+93
2014-04-17Fix a few outdated docXavier Claessens2-32/+11
2014-04-17TpPresenceMixin: Convert it to a GInterfaceXavier Claessens12-593/+321
It is much easier to use, and should be introspectable
2014-04-17TpPresenceMixin: Use gdbus-codegen's skeleton to implement Presence1Xavier Claessens8-196/+105
2014-04-17TpExportableChannel, TpChannelIface: removeXavier Claessens25-589/+217
Those 2 interfaces are useless because we made sure already that all channels must be TpBaseChannel subclass in all CMs. Use sed to replace all TpExportableChannel references
2014-04-17TpBaseConnection: Simplify code to set Channels dbus propertyXavier Claessens1-61/+18
This avoids a double conversion to dbus-glib type of all channel properties.
2014-04-17TpBaseContactList: Use gdbus-codegen's skeleton to implement ContactBlocking1Xavier Claessens9-177/+105
2014-04-17TpBaseContactList: Use gdbus-codegen's skeleton to implement ContactGroups1Xavier Claessens7-215/+223
2014-04-17TpBaseContactList: Use gdbus-codegen's skeleton to implement ContactList1Simon McVittie7-258/+229
[edited to remove unrelated TpWeakRef changes -smcv]
2014-04-17TpBaseConnection: Change fill_contact_attributes() to take a GVariantDictXavier Claessens13-258/+131
2014-04-17TpBaseConnection: Stop implementing TpSvcConnectionInterfaceRequestsXavier Claessens4-96/+76
Re-implemented it using gdbus-codegen's skeleton.
2014-04-17Tests: fix TpChannelManager implementationsXavier Claessens5-14/+17
They should remove the channel from their internal table before emitting channel-closed. That way foreach_channel() won't return closed channel from within channel-closed cb. Also fix a crash in example call-manager.c if foreach_channel() is called after close_all()
2014-04-17TpBaseConnection: add a static assertion that guint is guint32Simon McVittie1-0/+8
In principle, this could be false, but in the real world, sizeof(int) is a power of 2, computers with 16-bit int are decades obsolete, and if int was 64-bit or larger, there'd be a problem with int16_t and int32_t ('short' can only be one of those). With this static assertion in place, we could even change TpHandle to be guint32, although there isn't necessarily much point.
2014-04-14TpBaseConnection: use g_dbus_method_invocation_return_error_literalSimon McVittie1-6/+5
This avoids putting a temporary GError on the stack, which was always slightly questionable use of the GError API.
2014-04-14TpBaseConnection: replace copy/free with g_dbus_method_invocation_take_error()Simon McVittie1-10/+5
The instance in ensure_handle_cb() is not obviously correct, but in fact @error is not used after this point, so it doesn't need setting to NULL.
2014-04-14TpBaseConnection::status-changed: correct a commentSimon McVittie1-1/+1
2014-04-14tp_svc_interface_skeleton_emit_signal: ignore if no longer exportedSimon McVittie1-3/+10
Because GDBusObjectSkeleton holds a ref to all its interface skeletons as long as the parent object exists, it's possible that they will have been unexported but not freed.
2014-04-14tp_base_connection_change_status: emit status-changed before StatusChangedSimon McVittie1-1/+4
Gabble's regression tests expect to receive PresencesChanged before StatusChanged, and PresencesChanged is triggered by the status-changed GObject signal.
2014-04-14TpBaseConnection: Stop implementing TpSvcConnectionXavier Claessens1-161/+204
We use gdbus-codegen's skeleton to implement Connection iface now. [adjusted to apply on top of making it a GDBusObjectSkeleton, and handle Interfaces accordingly -smcv]
2014-04-14TpBaseConnection: be a GDBusObjectSkeletonSimon McVittie14-267/+205
2014-04-14TpTestsSimpleConnection: Do not implement TpSvcConnection interfaceXavier Claessens1-3/+2
2014-04-14Test: Stop implementing TSvcConnection for bug 19101 regression testXavier Claessens4-123/+56
TpBaseConnection is about to stop implementing it and use gdbus-codegen's skeleton instead.
2014-04-14Add gdbus-codegen supportXavier Claessens3-7/+34
2014-04-14TpBaseProtocol: be a GDBusObjectSkeletonSimon McVittie6-122/+97
This means we don't need the get_interfaces_array() vfunc, because we can inspect the GDBusObject interface to find out what our interfaces are.
2014-04-14TpSvcInterfaceSkeleton: move to the -dbus librarySimon McVittie9-35/+278
This requires some careful juggling to make it able to call methods on the TpDBusPropertiesMixin without having to move the entire TpDBusPropertiesMixin to the -dbus library.
2014-04-14tp_dbus_connection_try_register_object: export each GDBusInterfaceSkeleton ↵Simon McVittie1-22/+167
from a GDBusObject
2014-04-14tp_svc_interface_skeleton_get_properties: don't leak the parent objectSimon McVittie1-0/+1
2014-04-14Add sliced-gvalue to documentationSimon McVittie1-0/+1
2014-04-14test-self-handle: Fix possible race making test sometimes failXavier Claessens1-30/+62
The filter callback is ran in GDBusConnection's worker thread so we can't be sure how stuff are ordered. By delaying the GetAll reply and re-send it from the main thread we are sure that the SelfContactChanged signal will be sent just after it.
2014-04-14Revert "self-handle test: go back to reimplementing TpSvcDBusProperties"Xavier Claessens1-125/+35
This reverts commit 5a3524270c6d1febeccfbf636fc59b2da48f33b6.
2014-04-14Update gitignoreXavier Claessens1-4/+4
2014-04-10TpBasePasswordChannel: stop most D-Bus properties from being GObject propertiesnextSimon McVittie1-108/+70
may-save-response is still exposed as a GObject property, because it's construct-only, so presumably there's some expectation that it would be set at construct-time. Bug: Reviewed-by: Xavier Claessens
2014-04-10TpExportableChannel: turn channel-properties into a GVariantSimon McVittie10-42/+75
Bug: Reviewed-by: Xavier Claessens
2014-04-10TpBaseConnection:dbus-status, TpBaseConnection:requestable-channel-classes: ↵Simon McVittie1-44/+1
remove They are not used in Folks, Empathy, MC or the "big 5" CMs, except for one use of dbus-status in helper code for Folks' regression tests (which will disappear when resynced from telepathy-glib). Bug: Reviewed-by: Xavier Claessens