pidgin/pidgin

Parents f225f7dfb0bc
Children 243322637473
Remove PurpleProtocolAction as it has been replaced by PurpleProtocolActions

Testing Done:
Called in the turtles.

Reviewed at https://reviews.imfreedom.org/r/3160/
--- a/libpurple/action.c Mon May 06 00:11:54 2024 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
- * Purple - Internet Messaging Library
- * Copyright (C) Pidgin Developers <devel@pidgin.im>
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here. Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This library is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * This library is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this library; if not, see <https://www.gnu.org/licenses/>.
- */
-
-#include "action.h"
-
-struct _PurpleActionMenu {
- gchar *label;
- GCallback callback;
- gpointer data;
- GList *children;
-};
-
-/******************************************************************************
- * ActionMenu API
- *****************************************************************************/
-PurpleActionMenu *
-purple_action_menu_new(const gchar *label, GCallback callback, gpointer data,
- GList *children)
-{
- PurpleActionMenu *act = g_new(PurpleActionMenu, 1);
-
- act->label = g_strdup(label);
- act->callback = callback;
- act->data = data;
- act->children = children;
-
- return act;
-}
-
-void
-purple_action_menu_free(PurpleActionMenu *act) {
- g_return_if_fail(act != NULL);
-
- purple_action_menu_set_children(act, NULL);
-
- g_free(act->label);
- g_free(act);
-}
-
-const gchar *
-purple_action_menu_get_label(const PurpleActionMenu *act) {
- g_return_val_if_fail(act != NULL, NULL);
-
- return act->label;
-}
-
-GCallback
-purple_action_menu_get_callback(const PurpleActionMenu *act) {
- g_return_val_if_fail(act != NULL, NULL);
-
- return act->callback;
-}
-
-gpointer
-purple_action_menu_get_data(const PurpleActionMenu *act) {
- g_return_val_if_fail(act != NULL, NULL);
-
- return act->data;
-}
-
-GList *
-purple_action_menu_get_children(const PurpleActionMenu *act) {
- g_return_val_if_fail(act != NULL, NULL);
-
- return act->children;
-}
-
-void
-purple_action_menu_set_label(PurpleActionMenu *act, const gchar *label) {
- g_return_if_fail(act != NULL);
-
- g_free(act->label);
-
- act->label = g_strdup(label);
-}
-
-void
-purple_action_menu_set_callback(PurpleActionMenu *act, GCallback callback) {
- g_return_if_fail(act != NULL);
-
- act->callback = callback;
-}
-
-void
-purple_action_menu_set_data(PurpleActionMenu *act, gpointer data) {
- g_return_if_fail(act != NULL);
-
- act->data = data;
-}
-
-void
-purple_action_menu_set_children(PurpleActionMenu *act, GList *children) {
- g_return_if_fail(act != NULL);
-
- g_list_free_full(act->children, (GDestroyNotify)purple_action_menu_free);
-
- act->children = children;
-}
-
-/******************************************************************************
- * Protocol Action API
- *****************************************************************************/
-PurpleProtocolAction *
-purple_protocol_action_new(const gchar* label, PurpleProtocolActionCallback callback) {
- PurpleProtocolAction *action;
-
- g_return_val_if_fail(label != NULL, NULL);
- g_return_val_if_fail(callback != NULL, NULL);
-
- action = g_new0(PurpleProtocolAction, 1);
-
- action->label = g_strdup(label);
- action->callback = callback;
-
- return action;
-}
-
-void
-purple_protocol_action_free(PurpleProtocolAction *action) {
- g_return_if_fail(action != NULL);
-
- g_free(action->label);
- g_free(action);
-}
-
-PurpleProtocolAction *
-purple_protocol_action_copy(PurpleProtocolAction *action) {
- g_return_val_if_fail(action != NULL, NULL);
-
- return purple_protocol_action_new(action->label, action->callback);
-}
-
-G_DEFINE_BOXED_TYPE(
- PurpleProtocolAction,
- purple_protocol_action,
- purple_protocol_action_copy,
- purple_protocol_action_free
-);
--- a/libpurple/action.h Mon May 06 00:11:54 2024 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-/*
- * Purple - Internet Messaging Library
- * Copyright (C) Pidgin Developers <devel@pidgin.im>
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here. Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This library is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * This library is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this library; if not, see <https://www.gnu.org/licenses/>.
- */
-
-#if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
-# error "only <purple.h> may be included directly"
-#endif
-
-#ifndef PURPLE_ACTION_H
-#define PURPLE_ACTION_H
-
-#include <glib.h>
-#include <glib-object.h>
-
-#include "purpleversion.h"
-
-#define PURPLE_TYPE_PROTOCOL_ACTION (purple_protocol_action_get_type())
-
-PURPLE_AVAILABLE_TYPE_IN_3_0
-typedef struct _PurpleProtocolAction PurpleProtocolAction;
-
-/**
- * PurpleProtocolActionCallback:
- * @action: The action that was activated.
- *
- * The callback function for [type@ProtocolAction].
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_TYPE_IN_3_0
-typedef void (*PurpleProtocolActionCallback)(PurpleProtocolAction *action);
-
-/**
- * PurpleActionMenu:
- *
- * A generic structure that contains information about an "action". One
- * place this is used is by protocols to tell the core the list of available
- * right-click actions for a buddy list row.
- */
-PURPLE_AVAILABLE_TYPE_IN_3_0
-typedef struct _PurpleActionMenu PurpleActionMenu;
-
-#include "connection.h"
-
-/**
- * PurpleProtocolAction:
- * @label: A translated string to be shown in a user interface.
- * @callback: The function to call when the user wants to perform this action.
- * @connection: The connection that this action should be performed against.
- * @user_data: User data to pass to @callback.
- *
- * Represents an action that the protocol can perform. This shows up in the
- * Accounts menu, under a submenu with the name of the account.
- */
-struct _PurpleProtocolAction {
- gchar *label;
- PurpleProtocolActionCallback callback;
- PurpleConnection *connection;
- gpointer user_data;
-};
-
-G_BEGIN_DECLS
-
-/******************************************************************************
- * Menu Action API
- *****************************************************************************/
-
-/**
- * purple_action_menu_new:
- * @label: The text label to display for this action.
- * @callback: (scope notified): The function to be called when the action is used on
- * the selected item.
- * @data: Additional data to be passed to the callback.
- * @children: (element-type PurpleActionMenu) (transfer full): Menu actions to
- * be added as a submenu of this action.
- *
- * Creates a new PurpleActionMenu.
- *
- * Returns: (transfer full): The PurpleActionMenu.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-PurpleActionMenu *purple_action_menu_new(const gchar *label, GCallback callback, gpointer data, GList *children);
-
-/**
- * purple_action_menu_free:
- * @act: The PurpleActionMenu to free.
- *
- * Frees a PurpleActionMenu
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void purple_action_menu_free(PurpleActionMenu *act);
-
-/**
- * purple_action_menu_get_label:
- * @act: The PurpleActionMenu.
- *
- * Returns the label of the PurpleActionMenu.
- *
- * Returns: The label string.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-const gchar *purple_action_menu_get_label(const PurpleActionMenu *act);
-
-/**
- * purple_action_menu_get_callback:
- * @act: The PurpleActionMenu.
- *
- * Returns the callback of the PurpleActionMenu.
- *
- * Returns: (transfer none): The callback function.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-GCallback purple_action_menu_get_callback(const PurpleActionMenu *act);
-
-/**
- * purple_action_menu_get_data:
- * @act: The PurpleActionMenu.
- *
- * Returns the data stored in the PurpleActionMenu.
- *
- * Returns: The data.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gpointer purple_action_menu_get_data(const PurpleActionMenu *act);
-
-/**
- * purple_action_menu_get_children:
- * @act: The PurpleActionMenu.
- *
- * Returns the children of the PurpleActionMenu.
- *
- * Returns: (element-type PurpleActionMenu) (transfer none): The menu children.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-GList* purple_action_menu_get_children(const PurpleActionMenu *act);
-
-/**
- * purple_action_menu_set_label:
- * @act: The menu action.
- * @label: The label for the menu action.
- *
- * Set the label to the PurpleActionMenu.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void purple_action_menu_set_label(PurpleActionMenu *act, const gchar *label);
-
-/**
- * purple_action_menu_set_callback:
- * @act: The menu action.
- * @callback: (scope notified): The callback.
- *
- * Set the callback that will be used by the PurpleActionMenu.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void purple_action_menu_set_callback(PurpleActionMenu *act, GCallback callback);
-
-/**
- * purple_action_menu_set_data:
- * @act: The menu action.
- * @data: The data used by this PurpleActionMenu
- *
- * Set the label to the PurpleActionMenu.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void purple_action_menu_set_data(PurpleActionMenu *act, gpointer data);
-
-/**
- * purple_action_menu_set_children:
- * @act: The menu action.
- * @children: (element-type PurpleActionMenu) (transfer full): The menu children
- *
- * Set the children of the PurpleActionMenu.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void purple_action_menu_set_children(PurpleActionMenu *act, GList *children);
-
-/******************************************************************************
- * Protocol Action API
- *****************************************************************************/
-
-/**
- * purple_protocol_action_get_type:
- *
- * Returns: The #GType for the #PurpleProtocolAction boxed structure.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-GType purple_protocol_action_get_type(void);
-
-/**
- * purple_protocol_action_new:
- * @label: The description of the action to show to the user.
- * @callback: (scope call): The callback to call when the user selects this
- * action.
- *
- * Allocates and returns a new PurpleProtocolAction. Use this to add actions in
- * a list in the get_actions function of the protocol.
- *
- * Returns: (transfer full): The new #PurpleProtocolAction.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-PurpleProtocolAction *purple_protocol_action_new(const gchar *label, PurpleProtocolActionCallback callback);
-
-/**
- * purple_protocol_action_copy:
- * @action: The #PurpleProtocolAction to copy.
- *
- * Creates a newly allocated copy of @action.
- *
- * Returns: (transfer full): A copy of @action.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-PurpleProtocolAction *purple_protocol_action_copy(PurpleProtocolAction *action);
-
-/**
- * purple_protocol_action_free:
- * @action: The PurpleProtocolAction to free.
- *
- * Frees a PurpleProtocolAction
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void purple_protocol_action_free(PurpleProtocolAction *action);
-
-
-G_END_DECLS
-
-#endif /* PURPLE_ACTION_H */
--- a/libpurple/meson.build Mon May 06 00:11:54 2024 -0500
+++ b/libpurple/meson.build Mon May 06 22:23:21 2024 -0500
@@ -1,6 +1,5 @@
purple_coresources = [
'accounts.c',
- 'action.c',
'circularbuffer.c',
'connection.c',
'core.c',
@@ -98,7 +97,6 @@
purple_coreheaders = [
'accounts.h',
- 'action.h',
'circularbuffer.h',
'connection.h',
'core.h',
--- a/libpurple/tests/meson.build Mon May 06 00:11:54 2024 -0500
+++ b/libpurple/tests/meson.build Mon May 06 22:23:21 2024 -0500
@@ -30,7 +30,6 @@
'presence',
'presence_manager',
'protocol',
- 'protocol_action',
'protocol_contacts',
'protocol_conversation',
'protocol_file_transfer',
--- a/libpurple/tests/test_protocol_action.c Mon May 06 00:11:54 2024 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
- * Purple
- *
- * Purple is the legal property of its developers, whose names are too
- * numerous to list here. Please refer to the COPYRIGHT file distributed
- * with this source distribution
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or (at
- * your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
- */
-
-#include <glib.h>
-
-#include <purple.h>
-
-/******************************************************************************
- * Helpers
- *****************************************************************************/
-static void
-_test_purple_protocol_action_callback(G_GNUC_UNUSED PurpleProtocolAction *action) {
-}
-
-/******************************************************************************
- * Tests
- *****************************************************************************/
-static void
-test_purple_protocol_action_new(void) {
- PurpleProtocolAction *action = NULL;
-
- action = purple_protocol_action_new(
- "label",
- _test_purple_protocol_action_callback
- );
- g_assert_nonnull(action);
-
- g_assert_cmpstr(action->label, ==, "label");
- g_assert(action->callback == _test_purple_protocol_action_callback);
-
- purple_protocol_action_free(action);
-}
-
-static void
-test_purple_protocol_action_copy(void) {
- PurpleProtocolAction *orig = NULL, *copy = NULL;
-
- orig = purple_protocol_action_new(
- "label",
- _test_purple_protocol_action_callback
- );
- g_assert_nonnull(orig);
-
- copy = purple_protocol_action_copy(orig);
- purple_protocol_action_free(orig);
-
- g_assert_cmpstr(copy->label, ==, "label");
- g_assert(copy->callback == _test_purple_protocol_action_callback);
-
- purple_protocol_action_free(copy);
-}
-
-/******************************************************************************
- * Main
- *****************************************************************************/
-gint
-main(gint argc, gchar **argv) {
- gint res = 0;
-
- g_test_init(&argc, &argv, NULL);
-
- g_test_set_nonfatal_assertions();
-
- g_test_add_func(
- "/protocol-action/new",
- test_purple_protocol_action_new
- );
-
- g_test_add_func(
- "/protocol-action/copy",
- test_purple_protocol_action_copy
- );
-
- res = g_test_run();
-
- return res;
-}
--- a/po/POTFILES.in Mon May 06 00:11:54 2024 -0500
+++ b/po/POTFILES.in Mon May 06 22:23:21 2024 -0500
@@ -1,5 +1,4 @@
libpurple/accounts.c
-libpurple/action.c
libpurple/circularbuffer.c
libpurple/connection.c
libpurple/core.c
@@ -89,7 +88,6 @@
libpurple/tests/test_image.c
libpurple/tests/test_keyvaluepair.c
libpurple/tests/test_markup.c
-libpurple/tests/test_protocol_action.c
libpurple/tests/test_purplepath.c
libpurple/tests/test_ui.c
libpurple/tests/test_util.c