![]() |
![]() |
![]() |
telepathy-glib API Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties |
TpSimpleHandlerTpSimpleHandler — a subclass of TpBaseClient implementing a simple Handler |
#include <telepathy-glib/telepathy-glib.h> TpSimpleHandler; void (*TpSimpleHandlerHandleChannelImpl) (TpSimpleHandler *handler
,TpAccount *account
,TpConnection *connection
,TpChannel *channel
,GList *requests_satisfied
,gint64 user_action_time
,TpHandleChannelContext *context
,gpointer user_data
); TpBaseClient * tp_simple_handler_new (TpClientFactory *factory
,gboolean bypass_approval
,gboolean requests
,const gchar *name
,gboolean uniquify
,TpSimpleHandlerHandleChannelImpl callback
,gpointer user_data
,GDestroyNotify destroy
); 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
);
TpSimpleHandler implements TpSvcDBusProperties, TpSvcClient, TpSvcClientObserver, TpSvcClientApprover, TpSvcClientHandler and TpSvcClientInterfaceRequests.
"bypass-approval" gboolean : Write / Construct Only "callback" gpointer : Write / Construct Only "destroy" gpointer : Write / Construct Only "requests" gboolean : Write / Construct Only "user-data" gpointer : Write / Construct Only
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 24 25 |
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_asv_new ( TP_PROP_CHANNEL_CHANNEL_TYPE, G_TYPE_STRING, TP_IFACE_CHANNEL_TYPE_TEXT, TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, G_TYPE_UINT, TP_HANDLE_TYPE_CONTACT, NULL)); tp_base_client_register (client, NULL); |
See examples/client/text-handler.c for a complete example.
typedef struct _TpSimpleHandler TpSimpleHandler;
Data structure representing a simple Handler implementation.
Since 0.11.6
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.
|
a TpSimpleHandler instance |
|
a TpAccount having TP_ACCOUNT_FEATURE_CORE prepared if possible |
|
a TpConnection having TP_CONNECTION_FEATURE_CORE prepared
if possible |
|
a TpChannel, having TP_CHANNEL_FEATURE_CORE prepared if possible |
|
a GList of TpChannelRequest having their object-path defined but are not guaranteed to be prepared. [element-type TelepathyGLib.ChannelRequest] |
|
the time at which user action occurred, or one of the
special values TP_USER_ACTION_TIME_NOT_USER_ACTION or
TP_USER_ACTION_TIME_CURRENT_TIME
(see "user-action-time" for details) |
|
a TpHandleChannelContext representing the context of this D-Bus call |
|
arbitrary user-supplied data passed to tp_simple_handler_new()
|
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.
|
a TpClientFactory, or NULL
|
|
the value of the Handler.BypassApproval D-Bus property
(see tp_base_client_set_handler_bypass_approval() for details) |
|
whether this handler should implement Requests (see
tp_base_client_set_handler_request_notification() for details) |
|
the name of the Handler (see "name" for details) |
|
the value of the "uniquify-name" property |
|
the function called when HandleChannel is called |
|
arbitrary user-supplied data passed to callback
|
|
called with user_data as its argument when the TpSimpleHandler
is destroyed |
Returns : |
a new TpSimpleHandler. [type TelepathyGLib.SimpleHandler] |
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.
|
an account manager, which may not be NULL
|
|
the value of the Handler.BypassApproval D-Bus property
(see tp_base_client_set_handler_bypass_approval() for details) |
|
whether this handler should implement Requests (see
tp_base_client_set_handler_request_notification() for details) |
|
the name of the Handler (see "name" for details) |
|
the value of the "uniquify-name" property |
|
the function called when HandleChannel is called |
|
arbitrary user-supplied data passed to callback
|
|
called with user_data as its argument when the TpSimpleHandler
is destroyed |
Returns : |
a new TpSimpleHandler. [type TelepathyGLib.SimpleHandler] |
Since 0.11.14
"bypass-approval"
property"bypass-approval" gboolean : Write / Construct Only
The value of the Handler.BypassApproval D-Bus property.
Default value: FALSE
Since 0.11.6
"callback"
property"callback" gpointer : Write / Construct Only
The TpSimpleHandlerHandleChannelImpl callback implementing the HandleChannel D-Bus method.
This property can't be NULL
.
Since 0.11.6
"destroy"
property"destroy" gpointer : Write / Construct Only
The GDestroyNotify function called to free "user-data" when the TpSimpleHandler is destroyed.
Since 0.11.6
"requests"
property"requests" gboolean : Write / Construct Only
If TRUE
, the Handler will implement the Requests interface
Default value: FALSE
Since 0.11.6
"user-data"
property"user-data" gpointer : Write / Construct Only
The user-data pointer passed to "callback".
Since 0.11.6