telepathy-glib API Reference Manual | ||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Prerequisites | Known Implementations |
TpClientChannelFactoryInterfaceTpClientChannelFactoryInterface — an interface for client channel factories |
Synopsis
#include <telepathy-glib/telepathy-glib.h> TpClientChannelFactory; struct TpClientChannelFactoryInterface; TpChannel * tp_client_channel_factory_create_channel (TpClientChannelFactory *self
,TpConnection *conn
,const gchar *path
,GHashTable *properties
,GError **error
); GArray * tp_client_channel_factory_dup_channel_features (TpClientChannelFactory *self
,TpChannel *channel
);
Known Implementations
TpClientChannelFactory is implemented by TpAutomaticProxyFactory and TpBasicProxyFactory.
Description
Client channel factories are used to create channel proxies. An application wanting to use its own TpChannel subclass has to implement an object implementing the TpClientChannelFactoryInterface interface.
Once a channel has been created by a factory using
tp_client_channel_factory_create_channel()
, the caller should then prepare
on it the channel features returned by
tp_client_channel_factory_dup_channel_features()
using
tp_proxy_prepare_async()
.
Details
TpClientChannelFactory
typedef struct _TpClientChannelFactory TpClientChannelFactory;
Opaque typedef representing a GObject that implements
the TP_TYPE_CLIENT_CHANNEL_FACTORY
interface.
Since 0.13.6
struct TpClientChannelFactoryInterface
struct TpClientChannelFactoryInterface { GTypeInterface parent; TpChannel * (* create_channel) (TpClientChannelFactoryInterface *self, TpConnection *conn, const gchar *path, GHashTable *properties, GError **error); GArray * (* dup_channel_features) (TpClientChannelFactoryInterface *self, TpChannel *channel); TpChannel *(*obj_create_channel) (TpClientChannelFactory *self, TpConnection *conn, const gchar *path, GHashTable *properties, GError **error); GArray *(*obj_dup_channel_features) (TpClientChannelFactory *self, TpChannel *channel); };
Interface for a channel factory
GTypeInterface |
the parent |
obsolete version of obj_create_channel which does not
receive the object instance as an argument |
|
obsolete version of obj_dup_channel_features which
does not receive the object instance as an argument |
|
virtual method used to create channels;
see tp_client_channel_factory_create_channel()
|
|
virtual method returning channel features that
have to be prepared on newly created channels;
see tp_client_channel_factory_dup_channel_features()
|
Since 0.13.2
tp_client_channel_factory_create_channel ()
TpChannel * tp_client_channel_factory_create_channel (TpClientChannelFactory *self
,TpConnection *conn
,const gchar *path
,GHashTable *properties
,GError **error
);
Function called when a channel need to be created. Implementation can return a subclass of TpChannel if they need to.
Changed in 0.13.6: the function's signature was previously wrong; it expected an object instance as its first parameter, but the type of the parameter was the type of the interface vtable.
|
a client channel factory |
|
a TpConnection |
|
the object path of the channel |
|
the immutable properties of the channel. [transfer none][element-type utf8 GObject.Value] |
|
used to indicate the error if NULL is returned |
Returns : |
a new channel proxy, or NULL on invalid arguments. [transfer full]
|
Since 0.13.2
tp_client_channel_factory_dup_channel_features ()
GArray * tp_client_channel_factory_dup_channel_features (TpClientChannelFactory *self
,TpChannel *channel
);
Return a zero terminated GArray containing the TpChannel features that
should be prepared on channel
.
Changed in 0.13.6: the function's signature was previously wrong; it expected an object instance as its first parameter, but the type of the parameter was the type of the interface vtable.
|
a client channel factory |
|
a TpChannel |
Returns : |
a newly allocated GArray. [transfer full][element-type GQuark] |
Since 0.13.3