libpurple/action.h

Sat, 03 Aug 2019 04:06:20 -0400

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Sat, 03 Aug 2019 04:06:20 -0400
changeset 39742
bed2cb40d222
parent 39487
f0e629b4c500
child 39871
86f6d297385b
permissions
-rw-r--r--

Remove purple_action_menu_get_stock_icon.

It accesses a private member that is never set to anything other than
`NULL`, and is used for things that were deprecated in GTK.

39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /* purple
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 *
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * source distribution.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 *
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * (at your option) any later version.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 *
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * GNU General Public License for more details.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 *
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20 */
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22 #ifndef PURPLE_ACTION
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 #define PURPLE_ACTION
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
24
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25 #include <glib.h>
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26 #include <glib-object.h>
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27
39480
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
28
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
29 #define PURPLE_TYPE_PROTOCOL_ACTION (purple_protocol_action_get_type())
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
30
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
31 typedef struct _PurpleProtocolAction PurpleProtocolAction;
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
32
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
33 typedef void (*PurpleProtocolActionCallback)(PurpleProtocolAction *action);
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
34
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35 /**
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
36 * PurpleActionMenu:
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37 *
39487
f0e629b4c500 Address a number of issues with ownership and leaking
Gary Kramlich <grim@reaperworld.com>
parents: 39484
diff changeset
38 * A generic structure that contains information about an "action". One
f0e629b4c500 Address a number of issues with ownership and leaking
Gary Kramlich <grim@reaperworld.com>
parents: 39484
diff changeset
39 * place this is used is by protocols to tell the core the list of available
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40 * right-click actions for a buddy list row.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41 */
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
42 typedef struct _PurpleActionMenu PurpleActionMenu;
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43
39480
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
44 #include "connection.h"
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
45
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
46 /**
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
47 * PurpleProtocolAction:
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
48 *
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
49 * Represents an action that the protocol can perform. This shows up in the
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
50 * Accounts menu, under a submenu with the name of the account.
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
51 */
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
52 struct _PurpleProtocolAction {
39482
3e8b7fb5447b use gchar instead of char
Gary Kramlich <grim@reaperworld.com>
parents: 39481
diff changeset
53 gchar *label;
39480
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
54 PurpleProtocolActionCallback callback;
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
55 PurpleConnection *connection;
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
56 gpointer user_data;
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
57 };
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
58
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59 G_BEGIN_DECLS
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60
39480
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
61 /******************************************************************************
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
62 * Menu Action API
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
63 *****************************************************************************/
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
64
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65 /**
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
66 * purple_action_menu_new:
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67 * @label: The text label to display for this action.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 * @callback: The function to be called when the action is used on
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 * the selected item.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 * @data: Additional data to be passed to the callback.
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
71 * @children: (element-type PurpleActionMenu) (transfer full): Menu actions to
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 * be added as a submenu of this action.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
74 * Creates a new PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
76 * Returns: The PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77 */
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
78 PurpleActionMenu *purple_action_menu_new(const gchar *label, GCallback callback, gpointer data, GList *children);
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
81 * purple_action_menu_free:
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
82 * @act: The PurpleActionMenu to free.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
84 * Frees a PurpleActionMenu
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85 */
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
86 void purple_action_menu_free(PurpleActionMenu *act);
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
88 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
89 * purple_action_menu_get_label:
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
90 * @act: The PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
91 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
92 * Returns the label of the PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
93 *
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
94 * Returns: The label string.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
95 */
39487
f0e629b4c500 Address a number of issues with ownership and leaking
Gary Kramlich <grim@reaperworld.com>
parents: 39484
diff changeset
96 const gchar *purple_action_menu_get_label(const PurpleActionMenu *act);
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
97
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
98 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
99 * purple_action_menu_get_callback:
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
100 * @act: The PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
101 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
102 * Returns the callback of the PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103 *
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
104 * Returns: The callback function.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
105 */
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
106 GCallback purple_action_menu_get_callback(const PurpleActionMenu *act);
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
108 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
109 * purple_action_menu_get_data:
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
110 * @act: The PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
111 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
112 * Returns the data stored in the PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
113 *
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
114 * Returns: The data.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
115 */
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
116 gpointer purple_action_menu_get_data(const PurpleActionMenu *act);
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
117
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
118 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
119 * purple_action_menu_get_children:
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
120 * @act: The PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
121 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
122 * Returns the children of the PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
123 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
124 * Returns: (element-type PurpleActionMenu) (transfer none): The menu children.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
125 */
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
126 GList* purple_action_menu_get_children(const PurpleActionMenu *act);
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
127
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
128 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
129 * purple_action_menu_set_label:
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
130 * @act: The menu action.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
131 * @label: The label for the menu action.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
132 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
133 * Set the label to the PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
134 */
39487
f0e629b4c500 Address a number of issues with ownership and leaking
Gary Kramlich <grim@reaperworld.com>
parents: 39484
diff changeset
135 void purple_action_menu_set_label(PurpleActionMenu *act, const gchar *label);
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
136
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
137 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
138 * purple_action_menu_set_callback:
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
139 * @act: The menu action.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
140 * @callback: The callback.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
141 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
142 * Set the callback that will be used by the PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
143 */
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
144 void purple_action_menu_set_callback(PurpleActionMenu *act, GCallback callback);
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
145
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
146 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
147 * purple_action_menu_set_data:
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
148 * @act: The menu action.
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
149 * @data: The data used by this PurpleActionMenu
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
150 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
151 * Set the label to the PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
152 */
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
153 void purple_action_menu_set_data(PurpleActionMenu *act, gpointer data);
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
154
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
155 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
156 * purple_action_menu_set_children:
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
157 * @act: The menu action.
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
158 * @children: (element-type PurpleActionMenu) (transfer full): The menu children
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
159 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
160 * Set the children of the PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
161 */
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
162 void purple_action_menu_set_children(PurpleActionMenu *act, GList *children);
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
163
39480
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
164 /******************************************************************************
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
165 * Protocol Action API
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
166 *****************************************************************************/
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
167
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
168 /**
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
169 * purple_protocol_action_get_type:
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
170 *
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
171 * Returns: The #GType for the #PurpleProtocolAction boxed structure.
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
172 */
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
173 GType purple_protocol_action_get_type(void);
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
174
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
175 /**
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
176 * purple_protocol_action_new:
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
177 * @label: The description of the action to show to the user.
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
178 * @callback: (scope call): The callback to call when the user selects this
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
179 * action.
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
180 *
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
181 * Allocates and returns a new PurpleProtocolAction. Use this to add actions in
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
182 * a list in the get_actions function of the protocol.
39484
0ece2412a0b0 Add some basic unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 39483
diff changeset
183 *
0ece2412a0b0 Add some basic unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 39483
diff changeset
184 * Returns: (transfer full): The new #PurpleProtocolAction.
39480
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
185 */
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
186 PurpleProtocolAction *purple_protocol_action_new(const gchar *label, PurpleProtocolActionCallback callback);
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
187
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
188 /**
39484
0ece2412a0b0 Add some basic unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 39483
diff changeset
189 * purple_protocol_action_copy:
0ece2412a0b0 Add some basic unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 39483
diff changeset
190 * @action: The #PurpleProtocolAction to copy.
0ece2412a0b0 Add some basic unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 39483
diff changeset
191 *
0ece2412a0b0 Add some basic unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 39483
diff changeset
192 * Creates a newly allocated copy of @action.
0ece2412a0b0 Add some basic unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 39483
diff changeset
193 *
0ece2412a0b0 Add some basic unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 39483
diff changeset
194 * Returns: (transfer full): A copy of @action.
0ece2412a0b0 Add some basic unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 39483
diff changeset
195 */
0ece2412a0b0 Add some basic unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 39483
diff changeset
196 PurpleProtocolAction *purple_protocol_action_copy(PurpleProtocolAction *action);
0ece2412a0b0 Add some basic unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 39483
diff changeset
197
0ece2412a0b0 Add some basic unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 39483
diff changeset
198 /**
39480
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
199 * purple_protocol_action_free:
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
200 * @action: The PurpleProtocolAction to free.
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
201 *
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
202 * Frees a PurpleProtocolAction
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
203 */
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
204 void purple_protocol_action_free(PurpleProtocolAction *action);
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
205
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
206
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
207 G_END_DECLS
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
208
39480
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
209 #endif /* PURPLE_ACTION */

mercurial