| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Fix https://bugs.freedesktop.org/show_bug.cgi?id=77030
|
| |
|
|
|
|
|
| |
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|
|
|
|
|
| |
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
StatusChanged
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|
|
|
|
|
| |
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|
|
|
|
|
|
|
| |
Otherwise, the vfuncs are not introspectable.
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
GDBusObject-but-not-GDBusObjectSkeleton
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|
|
|
|
|
|
|
| |
skeletons
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|
|
|
|
|
| |
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|
|
|
|
|
| |
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|
|
|
|
|
|
|
| |
[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
|
|
|
|
|
| |
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|
|
|
|
|
| |
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189
|