3 * Pidgin is the legal property of its developers, whose names are too numerous
4 * to list here. Please refer to the COPYRIGHT file distributed with this
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
22 #ifndef _PIDGINXFER_H_
23 #define _PIDGINXFER_H_
26 * @section_id: pidgin-gtkxfer
27 * @short_description: <filename>gtkxfer.h</filename>
28 * @title: File Transfer UI
38 * A file transfer dialog.
40 * The structure is opaque, as nobody should be touching anything inside of
43 #define PIDGIN_TYPE_XFER_DIALOG (pidgin_xfer_dialog_get_type())
44 G_DECLARE_FINAL_TYPE(PidginXferDialog
, pidgin_xfer_dialog
, PIDGIN
, XFER_DIALOG
,
47 /**************************************************************************/
48 /* GTK+ File Transfer Dialog API */
49 /**************************************************************************/
52 * pidgin_xfer_dialog_new:
54 * Creates a new file transfer dialog.
56 * Returns: The new dialog.
58 PidginXferDialog
*pidgin_xfer_dialog_new(void);
61 * pidgin_xfer_dialog_destroy:
62 * @dialog: The file transfer dialog.
64 * Destroys a file transfer dialog.
66 void pidgin_xfer_dialog_destroy(PidginXferDialog
*dialog
);
69 * pidgin_xfer_dialog_show:
70 * @dialog: The file transfer dialog to show.
72 * Displays the file transfer dialog given.
73 * If dialog is %NULL, displays the default dialog, creating one if necessary
75 void pidgin_xfer_dialog_show(PidginXferDialog
*dialog
);
78 * pidgin_xfer_dialog_hide:
79 * @dialog: The file transfer dialog to hide.
81 * Hides the file transfer dialog.
83 void pidgin_xfer_dialog_hide(PidginXferDialog
*dialog
);
86 * pidgin_xfer_dialog_add_xfer:
87 * @dialog: The file transfer dialog.
88 * @xfer: The file transfer.
90 * Adds a file transfer to the dialog.
92 void pidgin_xfer_dialog_add_xfer(PidginXferDialog
*dialog
, PurpleXfer
*xfer
);
95 * pidgin_xfer_dialog_remove_xfer:
96 * @dialog: The file transfer dialog.
97 * @xfer: The file transfer.
99 * Removes a file transfer from the dialog.
101 void pidgin_xfer_dialog_remove_xfer(PidginXferDialog
*dialog
,
105 * pidgin_xfer_dialog_cancel_xfer:
106 * @dialog: The file transfer dialog.
107 * @xfer: The file transfer that was cancelled.
109 * Indicate in a file transfer dialog that a transfer was cancelled.
111 void pidgin_xfer_dialog_cancel_xfer(PidginXferDialog
*dialog
,
115 * pidgin_xfer_dialog_update_xfer:
116 * @dialog: The file transfer dialog.
117 * @xfer: The file transfer.
119 * Updates the information for a transfer in the dialog.
121 void pidgin_xfer_dialog_update_xfer(PidginXferDialog
*dialog
,
124 /**************************************************************************/
125 /* GTK+ File Transfer API */
126 /**************************************************************************/
131 * Initializes the GTK+ file transfer system.
133 void pidgin_xfers_init(void);
136 * pidgin_xfers_uninit:
138 * Uninitializes the GTK+ file transfer system.
140 void pidgin_xfers_uninit(void);
143 * pidgin_set_xfer_dialog:
144 * @dialog: The main dialog.
146 * Sets pidgin's main file transfer dialog.
148 void pidgin_set_xfer_dialog(PidginXferDialog
*dialog
);
151 * pidgin_get_xfer_dialog:
153 * Returns pirgin's main file transfer dialog.
155 * Returns: The main dialog.
157 PidginXferDialog
*pidgin_get_xfer_dialog(void);
160 * pidgin_xfers_get_ui_ops:
162 * Returns the UI operations structure for the GTK+ file transfer UI.
164 * Returns: The GTK+ file transfer UI operations structure.
166 PurpleXferUiOps
*pidgin_xfers_get_ui_ops(void);
170 #endif /* _PIDGINXFER_H_ */