From 3c828c838757423efda7e4f421beb7e5cdabf51e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Mon, 19 Sep 2016 23:44:23 +0200 Subject: [PATCH] shell: Remove TpClient With the telepathy component now being implemented purely in JS, we can drop the C helper class. https://bugzilla.gnome.org/show_bug.cgi?id=771721 --- docs/reference/shell/shell-docs.sgml.in | 1 - src/Makefile.am | 4 +- src/shell-tp-client.c | 244 ------------------------ src/shell-tp-client.h | 90 --------- 4 files changed, 1 insertion(+), 338 deletions(-) delete mode 100644 src/shell-tp-client.c delete mode 100644 src/shell-tp-client.h diff --git a/docs/reference/shell/shell-docs.sgml.in b/docs/reference/shell/shell-docs.sgml.in index bfbdb56c6..14a9cf1cd 100644 --- a/docs/reference/shell/shell-docs.sgml.in +++ b/docs/reference/shell/shell-docs.sgml.in @@ -50,7 +50,6 @@ - Object Hierarchy diff --git a/src/Makefile.am b/src/Makefile.am index 3347a06a5..fa3371220 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -104,7 +104,6 @@ shell_public_headers_h = \ shell-perf-log.h \ shell-screenshot.h \ shell-stack.h \ - shell-tp-client.h \ shell-tray-icon.h \ shell-tray-manager.h \ shell-util.h \ @@ -148,7 +147,6 @@ libgnome_shell_base_la_SOURCES = \ shell-secure-text-buffer.c \ shell-secure-text-buffer.h \ shell-stack.c \ - shell-tp-client.c \ $(NULL) if HAVE_NETWORKMANAGER @@ -335,7 +333,7 @@ INTROSPECTION_GIRS += ShellMenu-0.1.gir CLEANFILES += ShellMenu-0.1.gir Shell-0.1.gir: gnome-shell St-1.0.gir ShellMenu-0.1.gir -Shell_0_1_gir_INCLUDES = Clutter-$(LIBMUTTER_API_VERSION) ClutterX11-$(LIBMUTTER_API_VERSION) Meta-$(LIBMUTTER_API_VERSION) TelepathyGLib-0.12 Soup-2.4 +Shell_0_1_gir_INCLUDES = Clutter-$(LIBMUTTER_API_VERSION) ClutterX11-$(LIBMUTTER_API_VERSION) Meta-$(LIBMUTTER_API_VERSION) Soup-2.4 if HAVE_NETWORKMANAGER Shell_0_1_gir_INCLUDES += NetworkManager-1.0 NMClient-1.0 endif diff --git a/src/shell-tp-client.c b/src/shell-tp-client.c deleted file mode 100644 index 4169d4558..000000000 --- a/src/shell-tp-client.c +++ /dev/null @@ -1,244 +0,0 @@ -/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ - -#include "shell-tp-client.h" - -#include - -#include - -struct _ShellTpClientPrivate -{ - ShellTpClientObserveChannelsImpl observe_impl; - gpointer user_data_obs; - GDestroyNotify destroy_obs; - - ShellTpClientApproveChannelsImpl approve_channels_impl; - gpointer user_data_approve_channels; - GDestroyNotify destroy_approve_channels; - - ShellTpClientHandleChannelsImpl handle_channels_impl; - gpointer user_data_handle_channels; - GDestroyNotify destroy_handle_channels; -}; - -G_DEFINE_TYPE_WITH_PRIVATE (ShellTpClient, shell_tp_client, TP_TYPE_BASE_CLIENT) - -/** - * ShellTpClientObserveChannelsImpl: - * @client: a #ShellTpClient instance - * @account: a #TpAccount having %TP_ACCOUNT_FEATURE_CORE prepared if possible - * @connection: a #TpConnection having %TP_CONNECTION_FEATURE_CORE prepared - * if possible - * @channels: (element-type TelepathyGLib.Channel): a #GList of #TpChannel, - * all having %TP_CHANNEL_FEATURE_CORE prepared if possible - * @dispatch_operation: (nullable): a #TpChannelDispatchOperation or %NULL; - * the dispatch_operation is not guaranteed to be prepared - * @requests: (element-type TelepathyGLib.ChannelRequest): a #GList of - * #TpChannelRequest, all having their object-path defined but are not - * guaranteed to be prepared. - * @context: a #TpObserveChannelsContext representing the context of this - * D-Bus call - * - * Signature of the implementation of the ObserveChannels method. - */ - -/** - * ShellTpClientApproveChannelsImpl: - * @client: a #ShellTpClient instance - * @account: a #TpAccount having %TP_ACCOUNT_FEATURE_CORE prepared if possible - * @connection: a #TpConnection having %TP_CONNECTION_FEATURE_CORE prepared - * if possible - * @channels: (element-type TelepathyGLib.Channel): a #GList of #TpChannel, - * all having %TP_CHANNEL_FEATURE_CORE prepared if possible - * @dispatch_operation: (nullable): a #TpChannelDispatchOperation or %NULL; - * the dispatch_operation is not guaranteed to be prepared - * @context: a #TpAddDispatchOperationContext representing the context of this - * D-Bus call - * - * Signature of the implementation of the AddDispatchOperation method. - */ - -/** - * ShellTpClientHandleChannelsImpl: - * @client: a #ShellTpClient instance - * @account: a #TpAccount having %TP_ACCOUNT_FEATURE_CORE prepared if possible - * @connection: a #TpConnection having %TP_CONNECTION_FEATURE_CORE prepared - * if possible - * @channels: (element-type TelepathyGLib.Channel): a #GList of #TpChannel, - * all having %TP_CHANNEL_FEATURE_CORE prepared if possible - * @requests_satisfied: (element-type TelepathyGLib.ChannelRequest): a #GList of - * #TpChannelRequest having their object-path defined but are not guaranteed - * to be prepared. - * @user_action_time: 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 #TpAccountChannelRequest:user-action-time for details) - * @context: a #TpHandleChannelsContext representing the context of this - * D-Bus call - * - * Signature of the implementation of the HandleChannels method. - */ - -static void -shell_tp_client_init (ShellTpClient *self) -{ - GHashTable *filter; - - self->priv = shell_tp_client_get_instance_private (self); - - /* We only care about single-user text-based chats */ - filter = 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); - - /* Observer */ - tp_base_client_set_observer_recover (TP_BASE_CLIENT (self), TRUE); - - tp_base_client_add_observer_filter (TP_BASE_CLIENT (self), filter); - - /* Approver */ - tp_base_client_add_approver_filter (TP_BASE_CLIENT (self), filter); - - /* Handler */ - tp_base_client_add_handler_filter (TP_BASE_CLIENT (self), filter); - - g_hash_table_unref (filter); -} - -static void -observe_channels (TpBaseClient *client, - TpAccount *account, - TpConnection *connection, - GList *channels, - TpChannelDispatchOperation *dispatch_operation, - GList *requests, - TpObserveChannelsContext *context) -{ - ShellTpClient *self = (ShellTpClient *) client; - - g_assert (self->priv->observe_impl != NULL); - - self->priv->observe_impl (self, account, connection, channels, - dispatch_operation, requests, context, self->priv->user_data_obs); -} - -static void -add_dispatch_operation (TpBaseClient *client, - TpAccount *account, - TpConnection *connection, - GList *channels, - TpChannelDispatchOperation *dispatch_operation, - TpAddDispatchOperationContext *context) -{ - ShellTpClient *self = (ShellTpClient *) client; - - g_assert (self->priv->approve_channels_impl != NULL); - - self->priv->approve_channels_impl (self, account, connection, channels, - dispatch_operation, context, self->priv->user_data_approve_channels); -} - -static void -handle_channels (TpBaseClient *client, - TpAccount *account, - TpConnection *connection, - GList *channels, - GList *requests_satisfied, - gint64 user_action_time, - TpHandleChannelsContext *context) -{ - ShellTpClient *self = (ShellTpClient *) client; - - g_assert (self->priv->handle_channels_impl != NULL); - - self->priv->handle_channels_impl (self, account, connection, channels, - requests_satisfied, user_action_time, context, - self->priv->user_data_handle_channels); -} - -static void -shell_tp_client_dispose (GObject *object) -{ - ShellTpClient *self = SHELL_TP_CLIENT (object); - void (*dispose) (GObject *) = - G_OBJECT_CLASS (shell_tp_client_parent_class)->dispose; - - if (self->priv->destroy_obs != NULL) - { - self->priv->destroy_obs (self->priv->user_data_obs); - self->priv->destroy_obs = NULL; - self->priv->user_data_obs = NULL; - } - - if (self->priv->destroy_approve_channels != NULL) - { - self->priv->destroy_approve_channels (self->priv->user_data_approve_channels); - self->priv->destroy_approve_channels = NULL; - self->priv->user_data_approve_channels = NULL; - } - - if (self->priv->destroy_handle_channels != NULL) - { - self->priv->destroy_handle_channels (self->priv->user_data_handle_channels); - self->priv->destroy_handle_channels = NULL; - self->priv->user_data_handle_channels = NULL; - } - - if (dispose != NULL) - dispose (object); -} - -static void -shell_tp_client_class_init (ShellTpClientClass *cls) -{ - GObjectClass *object_class = G_OBJECT_CLASS (cls); - TpBaseClientClass *base_clt_cls = TP_BASE_CLIENT_CLASS (cls); - - object_class->dispose = shell_tp_client_dispose; - - base_clt_cls->observe_channels = observe_channels; - base_clt_cls->add_dispatch_operation = add_dispatch_operation; - base_clt_cls->handle_channels = handle_channels; -} - -void -shell_tp_client_set_observe_channels_func (ShellTpClient *self, - ShellTpClientObserveChannelsImpl observe_impl, - gpointer user_data, - GDestroyNotify destroy) -{ - g_assert (self->priv->observe_impl == NULL); - - self->priv->observe_impl = observe_impl; - self->priv->user_data_obs = user_data; - self->priv->destroy_obs = destroy; -} - -void -shell_tp_client_set_approve_channels_func (ShellTpClient *self, - ShellTpClientApproveChannelsImpl approve_channels_impl, - gpointer user_data, - GDestroyNotify destroy) -{ - g_assert (self->priv->approve_channels_impl == NULL); - - self->priv->approve_channels_impl = approve_channels_impl; - self->priv->user_data_approve_channels = user_data; - self->priv->destroy_approve_channels = destroy; -} - -void -shell_tp_client_set_handle_channels_func (ShellTpClient *self, - ShellTpClientHandleChannelsImpl handle_channels_impl, - gpointer user_data, - GDestroyNotify destroy) -{ - g_assert (self->priv->handle_channels_impl == NULL); - - self->priv->handle_channels_impl = handle_channels_impl; - self->priv->user_data_handle_channels = user_data; - self->priv->destroy_handle_channels = destroy; -} diff --git a/src/shell-tp-client.h b/src/shell-tp-client.h deleted file mode 100644 index 15bcf75e7..000000000 --- a/src/shell-tp-client.h +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ - -#ifndef __SHELL_TP_CLIENT_H__ -#define __SHELL_TP_CLIENT_H__ - -#include -#include - -#include - -G_BEGIN_DECLS - -typedef struct _ShellTpClient ShellTpClient; -typedef struct _ShellTpClientClass ShellTpClientClass; -typedef struct _ShellTpClientPrivate ShellTpClientPrivate; - -struct _ShellTpClientClass { - /**/ - TpBaseClientClass parent_class; -}; - -struct _ShellTpClient { - /**/ - TpBaseClient parent; - ShellTpClientPrivate *priv; -}; - -GType shell_tp_client_get_type (void); - -#define SHELL_TYPE_TP_CLIENT \ - (shell_tp_client_get_type ()) -#define SHELL_TP_CLIENT(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_TP_CLIENT, \ - ShellTpClient)) -#define SHELL_TP_CLIENT_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_TP_CLIENT, \ - ShellTpClientClass)) -#define SHELL_IS_TP_CLIENT(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_TP_CLIENT)) -#define SHELL_IS_TP_CLIENT_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_TP_CLIENT)) -#define SHELL_TP_CLIENT_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_TP_CLIENT, \ - ShellTpClientClass)) - -typedef void (*ShellTpClientObserveChannelsImpl) (ShellTpClient *client, - TpAccount *account, - TpConnection *connection, - GList *channels, - TpChannelDispatchOperation *dispatch_operation, - GList *requests, - TpObserveChannelsContext *context, - gpointer user_data); - -void shell_tp_client_set_observe_channels_func (ShellTpClient *self, - ShellTpClientObserveChannelsImpl observe_impl, - gpointer user_data, - GDestroyNotify destroy); - -typedef void (*ShellTpClientApproveChannelsImpl) ( - ShellTpClient *client, - TpAccount *account, - TpConnection *connection, - GList *channels, - TpChannelDispatchOperation *dispatch_operation, - TpAddDispatchOperationContext *context, - gpointer user_data); - -void shell_tp_client_set_approve_channels_func (ShellTpClient *self, - ShellTpClientApproveChannelsImpl approve_impl, - gpointer user_data, - GDestroyNotify destroy); - -typedef void (*ShellTpClientHandleChannelsImpl) ( - ShellTpClient *client, - TpAccount *account, - TpConnection *connection, - GList *channels, - GList *requests_satisfied, - gint64 user_action_time, - TpHandleChannelsContext *context, - gpointer user_data); - -void shell_tp_client_set_handle_channels_func (ShellTpClient *self, - ShellTpClientHandleChannelsImpl handle_channels_impl, - gpointer user_data, - GDestroyNotify destroy); - -G_END_DECLS -#endif /* __SHELL_TP_CLIENT_H__ */