Bug 77188 - [next] Remove dbus-glib GTypes from public API: TpSvc* signals
Summary: [next] Remove dbus-glib GTypes from public API: TpSvc* signals
Status: RESOLVED MOVED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: tp-glib (show other bugs)
Version: git master
Hardware: Other All
: medium normal
Assignee: Telepathy bugs list
QA Contact: Telepathy bugs list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 68661 76369
  Show dependency treegraph
 
Reported: 2014-04-08 17:36 UTC by Simon McVittie
Modified: 2019-12-03 20:43 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Simon McVittie 2014-04-08 17:36:17 UTC
+++ This bug was initially created as a clone of Bug #76369 +++

We should make sure that dbus-glib isn't exposed in our high-level API. One thing we can do is to stop TpSvc* interfaces from emitting signals.

Here are the signals that were mandated by dbus-glib and are also used as GObject signals:

---- potentially emitted by base classes ----

> Connection (all CMs):
>     "status-changed",

Used just about everywhere; needs special-casing

> Channel (all CMs):
>     "closed",

Used extensively, special case needed

>     "content-added",
>     "content-removed",
>     "call-state-changed",

Used in Gabble, special case probably needed

> TLSCertificate (potentially all CMs):
>     "accepted",
>     "rejected",

Used in Gabble and Haze. We could emit normal signals adjacent to these.

---- only emitted by CM/MC code ----

> Account (MC): "removed"
> ChannelDispatcher/CDO/CR (MC):
>     "finished",
>     "failed",
>     "succeeded",

Those are actively used in MC. We could turn them into normal signals and emit them adjacent to tp_svc_foo_emit_bar().
Comment 1 Guillaume Desmottes 2014-05-22 14:21:01 UTC
(In reply to comment #0)
> > Connection (all CMs):
> >     "status-changed",
> 
> Used just about everywhere; needs special-casing

Already done.

> > Channel (all CMs):
> >     "closed",
> 
> Used extensively, special case needed

Done in Xavier's gdbus-all branch.

> >     "content-added",
> >     "content-removed",

We already have proper signals in TpCallChannel for those two.

> >     "call-state-changed",
> 
> Used in Gabble, special case probably needed

We already have TpCallChannel::state-changed wrapping it so it's just a matter of using it in Gabble.

> > TLSCertificate (potentially all CMs):
> >     "accepted",
> >     "rejected",
> 
> Used in Gabble and Haze. We could emit normal signals adjacent to these.

TODO.

> ---- only emitted by CM/MC code ----
> 
> > Account (MC): "removed"
> > ChannelDispatcher/CDO/CR (MC):
> >     "finished",
> >     "failed",
> >     "succeeded",
> 
> Those are actively used in MC. We could turn them into normal signals and
> emit them adjacent to tp_svc_foo_emit_bar().

TODO.
Comment 2 Guillaume Desmottes 2014-05-22 14:35:15 UTC
(In reply to comment #1)
> > >     "content-added",
> > >     "content-removed",
> 
> We already have proper signals in TpCallChannel for those two.
> 
> > >     "call-state-changed",
> > 
> > Used in Gabble, special case probably needed
> 
> We already have TpCallChannel::state-changed wrapping it so it's just a
> matter of using it in Gabble.

Ignore that; I was looking at the client side code...
Comment 3 GitLab Migration User 2019-12-03 20:43:03 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/telepathy/telepathy-glib/issues/125.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.