[Bug 29973] New: TpClientChannelFactory interface and TpDefaultChannelFactory

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Sep 2 15:25:28 CEST 2010


https://bugs.freedesktop.org/show_bug.cgi?id=29973

           Summary: TpClientChannelFactory interface and
                    TpDefaultChannelFactory
           Product: Telepathy
           Version: unspecified
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: medium
         Component: tp-glib
        AssignedTo: telepathy-bugs at lists.freedesktop.org
        ReportedBy: guillaume.desmottes at collabora.co.uk
         QAContact: telepathy-bugs at lists.freedesktop.org


The general consensus regarding high level channel API is to inherit from
TpChannel and adds API (in TpBaseClient and TpAccountChannelRequest) to let
user define its own object if needed.

As discussed in this thread [1], we are going to define a GInterface
TpClientChannelFactory which will be implemented by TpDefaultChannelFactory. If
user didn't specificy its own factory, TpDefaultChannelFactory would be used to
create and prepare channels.

So, what should be the API of the TpClientChannelFactory interface?

The following options have been suggested so far:

A) TpChannel * tp_client_channel_factory_create_channel (
    TpClientChannelFactory *factory,
    const gchar *path,
    GHashTable *props);

then client is responsible of preparing whatever feature it needs.

B) Same as A +
void tp_client_channel_factory_prepare_channel (
    TpClientChannelFactory *factory,
    TpChannel *channel,
    GAsyncReadyCallback callback,
    gpointer user_data);

+ _finish function

C) void tp_client_channel_factory_create_channel (
    TpClientChannelFactory *factory,
    const gchar *path,
    GHashTable *props,
    GAsyncReadyCallback callback,
    gpointer user_data);

+ _finish function returning the newly created TpChannel.

[1] http://lists.freedesktop.org/archives/telepathy/2010-August/004814.html

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.



More information about the telepathy-bugs mailing list