| Top |
TpSimpleHandlerTpSimpleHandler — a subclass of TpBaseClient implementing a simple Handler |
TpSimpleHandler implements TpSvcClient, TpSvcClientObserver, TpSvcClientApprover, TpSvcClientHandler and TpSvcClientInterfaceRequests.
This class makes it easier to construct a TpSvcClient implementing the TpSvcClientHandler interface.
A typical simple handler would look liks this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
static void my_handle_channel (TpSimpleHandler *handler, TpAccount *account, TpConnection *connection, TpChannel *channel, GList *requests_satisfied, gint64 user_action_time, GList *requests, TpHandleChannelContext *context, gpointer user_data) { /<!-- -->* start handling the channel here *<!-- -->/ tp_handle_channel_context_accept (context); } client = tp_simple_handler_new (NULL, FALSE, FALSE, "MyHandler", FALSE, my_handle_channel, user_data); tp_base_client_take_handler_filter (client, tp_channel_filter_new_for_text_chats ()); tp_base_client_register (client, NULL); |
See examples/client/text-handler.c for a complete example.
void (*TpSimpleHandlerHandleChannelImpl) (TpSimpleHandler *handler,TpAccount *account,TpConnection *connection,TpChannel *channel,GList *requests_satisfied,gint64 user_action_time,TpHandleChannelContext *context,gpointer user_data);
Signature of the implementation of the HandleChannel method.
This function must call either tp_handle_channel_context_accept(),
tp_handle_channel_context_delay() or tp_handle_channel_context_fail()
on context
before it returns.
handler |
a TpSimpleHandler instance |
|
account |
a TpAccount having |
|
connection |
a TpConnection having |
|
channel |
a TpChannel, having |
|
requests_satisfied |
a GList of TpChannelRequest having their object-path defined but are not guaranteed to be prepared. |
[element-type TelepathyGLib.ChannelRequest] |
user_action_time |
the time at which user action occurred, or one of the
special values |
|
context |
a TpHandleChannelContext representing the context of this D-Bus call |
|
user_data |
arbitrary user-supplied data passed to |
Since 0.11.6
TpBaseClient * tp_simple_handler_new (TpClientFactory *factory,gboolean bypass_approval,gboolean requests,const gchar *name,gboolean uniquify,TpSimpleHandlerHandleChannelImpl callback,gpointer user_data,GDestroyNotify destroy);
Convenient function to create a new TpSimpleHandler instance.
If factory
is NULL a new TpAutomaticClientFactory will be used.
factory |
a TpClientFactory, or |
|
bypass_approval |
the value of the Handler.BypassApproval D-Bus property
(see |
|
requests |
whether this handler should implement Requests (see
|
|
name |
the name of the Handler (see “name” for details) |
|
uniquify |
the value of the “uniquify-name” property |
|
callback |
the function called when HandleChannel is called |
|
user_data |
arbitrary user-supplied data passed to |
|
destroy |
called with |
Since 0.99.1
TpBaseClient * tp_simple_handler_new_with_am (TpAccountManager *account_manager,gboolean bypass_approval,gboolean requests,const gchar *name,gboolean uniquify,TpSimpleHandlerHandleChannelImpl callback,gpointer user_data,GDestroyNotify destroy);
Convenient function to create a new TpSimpleHandler instance with a specified TpAccountManager.
It is not necessary to prepare any features on account_manager
before
calling this function.
account_manager |
an account manager, which may not be |
|
bypass_approval |
the value of the Handler.BypassApproval D-Bus property
(see |
|
requests |
whether this handler should implement Requests (see
|
|
name |
the name of the Handler (see “name” for details) |
|
uniquify |
the value of the “uniquify-name” property |
|
callback |
the function called when HandleChannel is called |
|
user_data |
arbitrary user-supplied data passed to |
|
destroy |
called with |
Since 0.11.14
“bypass-approval” property“bypass-approval” gboolean
The value of the Handler.BypassApproval D-Bus property.
Flags: Write / Construct Only
Default value: FALSE
Since 0.11.6
“callback” property“callback” gpointer
The TpSimpleHandlerHandleChannelImpl callback implementing the HandleChannel D-Bus method.
This property can't be NULL.
Flags: Write / Construct Only
Since 0.11.6
“destroy” property“destroy” gpointer
The GDestroyNotify function called to free “user-data” when the TpSimpleHandler is destroyed.
Flags: Write / Construct Only
Since 0.11.6
“requests” property“requests” gboolean
If TRUE, the Handler will implement the Requests interface
Flags: Write / Construct Only
Default value: FALSE
Since 0.11.6
“user-data” property“user-data” gpointer
The user-data pointer passed to “callback”.
Flags: Write / Construct Only
Since 0.11.6