Tp::Connection class doesn't provide interface to list it's channels. Currently, only dbus properties and low-level telepathy-qt4 interfaces could be used to get connection's channels. Why such interface is needed: When channels are observed and process that was observing channel dies (or started after channel was created) and then restarts, only way to continue observing is to get account->connection->channel and then observe channel. There should be an interface in Tp::Connection class that would provide list of channels associated with that connection.
If an Observer wants to observe all channels, it should be service-activatable (have a .service file in a location recognised by dbus-daemon). If it is, then the channel dispatcher will launch it automatically whenever appropriate, and it will never have to "catch up". Observers only observe channel creations; the observer is assumed to not exit until it wants to exit. If this is not the case (e.g. a crash), fix your observer :-)
(In reply to comment #0) > When channels are observed and process that was observing channel dies (or > started after channel was created) and then restarts, only way to continue > observing is to get account->connection->channel and then observe channel. Since Bug #27677 was closed, best-effort crash recovery can be achieved by setting the Recover flag on your Observer. Instead of listing the channels, the replacement Observer will be started and notified by Mission Control; this isn't exactly the same as the feature that was initially requested, but I think it solves your use-case better.
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.