libpurple/action.h

Sat, 28 Sep 2019 04:11:28 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Sat, 28 Sep 2019 04:11:28 -0500
changeset 39873
39f8ea1fd738
parent 39871
86f6d297385b
child 40186
d7e2aba4d9f4
permissions
-rw-r--r--

Fix some grammar in the PurpleProtocolAction docs

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
39871
86f6d297385b Document the fields for PurpleProtocolAction
Gary Kramlich <grim@reaperworld.com>
parents: 39742
diff changeset
28 #define PURPLE_TYPE_PROTOCOL_ACTION (purple_protocol_action_get_type())
39480
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
29 typedef struct _PurpleProtocolAction PurpleProtocolAction;
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 void (*PurpleProtocolActionCallback)(PurpleProtocolAction *action);
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
32
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33 /**
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
34 * PurpleActionMenu:
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35 *
39487
f0e629b4c500 Address a number of issues with ownership and leaking
Gary Kramlich <grim@reaperworld.com>
parents: 39484
diff changeset
36 * 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
37 * 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
38 * 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
39 */
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
40 typedef struct _PurpleActionMenu PurpleActionMenu;
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41
39480
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
42 #include "connection.h"
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
43
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
44 /**
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
45 * PurpleProtocolAction:
39871
86f6d297385b Document the fields for PurpleProtocolAction
Gary Kramlich <grim@reaperworld.com>
parents: 39742
diff changeset
46 * @label: A translated string to be shown in a user interface.
86f6d297385b Document the fields for PurpleProtocolAction
Gary Kramlich <grim@reaperworld.com>
parents: 39742
diff changeset
47 * @callback: The function to call when the user wants to perform this action.
39873
39f8ea1fd738 Fix some grammar in the PurpleProtocolAction docs
Gary Kramlich <grim@reaperworld.com>
parents: 39871
diff changeset
48 * @connection: The connection that this action should be performed against.
39871
86f6d297385b Document the fields for PurpleProtocolAction
Gary Kramlich <grim@reaperworld.com>
parents: 39742
diff changeset
49 * @user_data: User data to pass to @callback.
39480
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
50 *
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
51 * 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
52 * 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
53 */
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
54 struct _PurpleProtocolAction {
39482
3e8b7fb5447b use gchar instead of char
Gary Kramlich <grim@reaperworld.com>
parents: 39481
diff changeset
55 gchar *label;
39480
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
56 PurpleProtocolActionCallback callback;
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
57 PurpleConnection *connection;
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
58 gpointer user_data;
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
59 };
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
60
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 G_BEGIN_DECLS
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62
39480
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 * Menu Action API
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
65 *****************************************************************************/
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
66
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67 /**
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
68 * purple_action_menu_new:
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 * @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
70 * @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
71 * the selected item.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 * @data: Additional data to be passed to the callback.
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
73 * @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
74 * 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
75 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
76 * Creates a new PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
78 * Returns: The PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79 */
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
80 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
81
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
83 * purple_action_menu_free:
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
84 * @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
85 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
86 * Frees a PurpleActionMenu
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87 */
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
88 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
89
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
91 * purple_action_menu_get_label:
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
92 * @act: The PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
93 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
94 * 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
95 *
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
96 * Returns: The label string.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
97 */
39487
f0e629b4c500 Address a number of issues with ownership and leaking
Gary Kramlich <grim@reaperworld.com>
parents: 39484
diff changeset
98 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
99
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
100 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
101 * purple_action_menu_get_callback:
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
102 * @act: The PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
104 * 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
105 *
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
106 * Returns: The callback function.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107 */
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
108 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
109
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
110 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
111 * purple_action_menu_get_data:
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
112 * @act: The PurpleActionMenu.
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
113 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
114 * 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
115 *
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
116 * Returns: The data.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
117 */
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
118 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
119
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
120 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
121 * purple_action_menu_get_children:
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
122 * @act: 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 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
125 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
126 * 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
127 */
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
128 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
129
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
130 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
131 * 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
132 * @act: The menu action.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
133 * @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
134 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
135 * 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
136 */
39487
f0e629b4c500 Address a number of issues with ownership and leaking
Gary Kramlich <grim@reaperworld.com>
parents: 39484
diff changeset
137 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
138
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
139 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
140 * 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
141 * @act: The menu action.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
142 * @callback: The callback.
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
143 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
144 * 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
145 */
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
146 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
147
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
148 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
149 * 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
150 * @act: The menu action.
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
151 * @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
152 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
153 * 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
154 */
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
155 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
156
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
157 /**
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
158 * 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
159 * @act: The menu action.
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
160 * @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
161 *
39481
4db28449567d Rename PurpleMenuAction to PurpleActionMenu
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
162 * 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
163 */
39483
ab4728087d87 Rename purple_menu_action_* to purple_action_menu_*
Gary Kramlich <grim@reaperworld.com>
parents: 39482
diff changeset
164 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
165
39480
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 * Protocol Action API
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
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 * purple_protocol_action_get_type:
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 * Returns: The #GType for the #PurpleProtocolAction boxed structure.
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 GType purple_protocol_action_get_type(void);
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
176
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
177 /**
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
178 * purple_protocol_action_new:
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
179 * @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
180 * @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
181 * action.
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
182 *
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
183 * 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
184 * 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
185 *
0ece2412a0b0 Add some basic unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 39483
diff changeset
186 * Returns: (transfer full): The new #PurpleProtocolAction.
39480
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 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
189
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
190 /**
39484
0ece2412a0b0 Add some basic unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 39483
diff changeset
191 * purple_protocol_action_copy:
0ece2412a0b0 Add some basic unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 39483
diff changeset
192 * @action: The #PurpleProtocolAction to copy.
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 * Creates a newly allocated 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 * Returns: (transfer full): A copy of @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 PurpleProtocolAction *purple_protocol_action_copy(PurpleProtocolAction *action);
0ece2412a0b0 Add some basic unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 39483
diff changeset
199
0ece2412a0b0 Add some basic unit tests
Gary Kramlich <grim@reaperworld.com>
parents: 39483
diff changeset
200 /**
39480
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
201 * purple_protocol_action_free:
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
202 * @action: The PurpleProtocolAction to free.
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 * Frees a PurpleProtocolAction
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 void purple_protocol_action_free(PurpleProtocolAction *action);
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
207
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
208
39479
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
209 G_END_DECLS
4da996236e9b Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
210
39480
5e089a52b01b Move the ProtocolActionInterface to action.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
211 #endif /* PURPLE_ACTION */

mercurial