summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Skip part of the self-handle test until we fix its race conditiontelepathy-glib-0.99.11Simon McVittie2014-05-141-0/+3
|
* Add missing dependency to make sure run-test.sh is regeneratedSimon McVittie2014-05-141-1/+1
|
* Snapshot 0.99.11Simon McVittie2014-05-146-7/+18
|
* Use a telepathy-1 namespaced location for installed testsSimon McVittie2014-05-143-3/+3
|
* NEWSSimon McVittie2014-05-141-0/+7
|
* allow CMs to put 'TargetEntityType=None' in contact search requestsGuillaume Desmottes2014-05-131-6/+16
| | | | Fix https://bugs.freedesktop.org/show_bug.cgi?id=77030
* Make TpWeakRef use GWeakRefXavier Claessens2014-05-091-10/+5
|
* Fix some gtkdoc warningsXavier Claessens2014-05-071-16/+5
| | | | | Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* Fix an annotationXavier Claessens2014-05-071-1/+1
| | | | | Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpBaseContactList: only implement Blocking1 if we can_block()Simon McVittie2014-05-071-3/+13
| | | | | | | | | | | | | | | | | | This is what Gabble wants - a core-only XMPP server can't block contacts, so we need to perform feature discovery before we can say whether we can block anyone. We now provide two opportunities to implement Blocking1. The one used in telepathy-glib's own regression tests is appropriate for a proprietary protocol where there is only one deployed server, so either there's a way to block contacts, or there isn't - in this case, we can start implementing the interface as soon as the Connection is constructed. The second opportunity is used by Gabble, and is the last possible chance to say Blocking1 is implemented, just before StatusChanged is emitted on D-Bus. Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpBaseConnection: allow interfaces to be added in status-changedSimon McVittie2014-05-072-3/+17
| | | | | | | | | | | | | | | | | | | | This is necessary for Gabble's use of TpBaseContactList: it wants to add the Blocking interface on connections to Google servers (or in principle, servers implementing XEP-0016, XEP-0159, XEP-0161 or XEP-0191, if someone adds a client-side implementation of those). Also delay _tp_gdbus_connection_set_status() until just before we emit StatusChanged on D-Bus, so that we follow this good pattern: * update internal state, so that we will not give contradictory answers if a signal handler calls accessors * emit GLib signals, so that in-process stuff gets a chance to react before we signal changes to D-Bus (for instance, adding interfaces) * finally, update D-Bus properties and emit D-Bus signals Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* Use #define'd constants for interface-added, interface-removed signalsSimon McVittie2014-05-071-5/+9
| | | | | | | | | | | | | | | Xavier suggested that an enum would be clearer than +1 and -1. However, since these constants are only ever used in a pointer-typed parameter, it seems clearer still to #define their GINT_TO_POINTER form. I deliberately avoided 0 because casting a literal 0 to a pointer type is special (it produces a null pointer constant, which in theory is not necessarily all-bits-zero, although in practice any reasonable architecture uses all-bits-zero to avoid breaking people's assumptions about calloc()). Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* tp_base_connection_dup_contact_attributes: make it public againSimon McVittie2014-05-075-16/+15
| | | | | | | Gabble's Addressing implementation needs this functionality. Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* List some API changes in NEWSSimon McVittie2014-05-071-0/+53
| | | | | | | Wow, this is getting quite extensive. Time for a release! Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* tp_base_connection_change_status: update RequestableChannelClasses before ↵Simon McVittie2014-05-071-3/+5
| | | | | | | StatusChanged Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* fix some more commentsSimon McVittie2014-05-073-8/+8
| | | | | Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* Use TpPresenceMixin as the type for methods and vfuncsSimon McVittie2014-05-076-51/+63
| | | | | | | Otherwise, the vfuncs are not introspectable. Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* Decouple TpPresenceMixin from TpBaseConnection againSimon McVittie2014-05-078-33/+127
| | | | | | | | | I never liked the idea of putting individual interfaces in TpBaseConnection, and it's actually unnecessary: qdata will work just as well. Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* handle.h: make TpHandle exactly guint32Simon McVittie2014-05-074-19/+14
| | | | | | | | Remove its GType, because I don't think anyone ever used it, and strictly speaking there is no GType for guint32. Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* Fix some confusion over "&s" in variant-buildingSimon McVittie2014-05-073-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. Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpBaseContactListPrivate: correct a commentSimon McVittie2014-05-071-1/+1
| | | | | Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpPresenceMixin: rename construct_presence_hash to construct_presence_mapSimon McVittie2014-05-071-3/+3
| | | | | | | It doesn't return a hash table. Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* _tp_base_connection_dup_contact_attributes: de-confuse nameSimon McVittie2014-05-073-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. Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* _tp_g_dbus_object_dup_interface_names_except: rename and remove arbitrary limitSimon McVittie2014-05-074-18/+23
| | | | | Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* Move TpDBusPropertiesMixin to the -dbus librarySimon McVittie2014-05-0746-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. Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* Communicate registrations to TpDBusPropertiesMixin via an internal headerSimon McVittie2014-05-075-67/+70
| | | | | | | | We can't keep using _tp_dbus_object_get_object_path() if the TpDBusPropertiesMixin moves to the -dbus library. Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* Use the "invisible TpDBusPropertiesMixin" in all public classesSimon McVittie2014-05-0718-148/+87
| | | | | Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpDBusPropertiesMixin: don't use TP_ERRORSimon McVittie2014-05-072-10/+11
| | | | | | | | We can't do that if we want to put it in the -dbus library. Using InvalidArgs is consistent with GDBus. Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* tp_dbus_connection_try_register_object: disallow ↵Simon McVittie2014-05-071-2/+13
| | | | | | | GDBusObject-but-not-GDBusObjectSkeleton Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* tp_dbus_connection_try_register_object: factor out finding the interface ↵Simon McVittie2014-05-071-78/+93
| | | | | | | skeletons Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* Fix a few outdated docXavier Claessens2014-05-072-32/+11
| | | | | Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpPresenceMixin: Convert it to a GInterfaceXavier Claessens2014-05-0712-593/+321
| | | | | | | It is much easier to use, and should be introspectable Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpPresenceMixin: Use gdbus-codegen's skeleton to implement Presence1Xavier Claessens2014-05-078-196/+105
| | | | | Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpExportableChannel, TpChannelIface: removeXavier Claessens2014-05-0725-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 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpBaseConnection: Simplify code to set Channels dbus propertyXavier Claessens2014-05-071-61/+18
| | | | | | | | This avoids a double conversion to dbus-glib type of all channel properties. Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpBaseContactList: Use gdbus-codegen's skeleton to implement ContactBlocking1Xavier Claessens2014-05-079-177/+105
| | | | | Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpBaseContactList: Use gdbus-codegen's skeleton to implement ContactGroups1Xavier Claessens2014-05-077-215/+223
| | | | | Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpBaseContactList: Use gdbus-codegen's skeleton to implement ContactList1Simon McVittie2014-05-077-258/+229
| | | | | | | [edited to remove unrelated TpWeakRef changes -smcv] Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpBaseConnection: Change fill_contact_attributes() to take a GVariantDictXavier Claessens2014-05-0713-258/+131
| | | | | Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpBaseConnection: Stop implementing TpSvcConnectionInterfaceRequestsXavier Claessens2014-05-074-96/+76
| | | | | | | Re-implemented it using gdbus-codegen's skeleton. Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* Tests: fix TpChannelManager implementationsXavier Claessens2014-05-075-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() Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpBaseConnection: add a static assertion that guint is guint32Simon McVittie2014-05-071-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. Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpBaseConnection: use g_dbus_method_invocation_return_error_literalSimon McVittie2014-05-071-6/+5
| | | | | | | | This avoids putting a temporary GError on the stack, which was always slightly questionable use of the GError API. Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpBaseConnection: replace copy/free with g_dbus_method_invocation_take_error()Simon McVittie2014-05-071-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. Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpBaseConnection::status-changed: correct a commentSimon McVittie2014-05-071-1/+1
| | | | | Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* tp_svc_interface_skeleton_emit_signal: ignore if no longer exportedSimon McVittie2014-05-071-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. Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* tp_base_connection_change_status: emit status-changed before StatusChangedSimon McVittie2014-05-071-1/+4
| | | | | | | | | Gabble's regression tests expect to receive PresencesChanged before StatusChanged, and PresencesChanged is triggered by the status-changed GObject signal. Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpBaseConnection: Stop implementing TpSvcConnectionXavier Claessens2014-05-071-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] Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpBaseConnection: be a GDBusObjectSkeletonSimon McVittie2014-05-0714-267/+205
| | | | | Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
* TpTestsSimpleConnection: Do not implement TpSvcConnection interfaceXavier Claessens2014-05-071-3/+2
| | | | | Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189