Migrate certificates, icons, logs to XDG dirs
[pidgin-git.git] / pidgin / gtkxfer.h
blobba1898d8af6dc940dd4aca7b6d312b0a2d36651c
1 /* pidgin
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
5 * source distribution.
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_
24 /**
25 * SECTION:gtkxfer
26 * @section_id: pidgin-gtkxfer
27 * @short_description: <filename>gtkxfer.h</filename>
28 * @title: File Transfer UI
31 #include "xfer.h"
33 /**
34 * PidginXferDialog:
36 * A file transfer dialog.
38 * The structure is opaque, as nobody should be touching anything inside of
39 * it.
41 typedef struct _PidginXferDialog PidginXferDialog;
43 #define PIDGIN_TYPE_XFER_DIALOG (pidgin_xfer_dialog_get_type())
45 G_BEGIN_DECLS
47 /**************************************************************************/
48 /* GTK+ File Transfer Dialog API */
49 /**************************************************************************/
51 /**
52 * pidgin_xfer_dialog_get_type:
54 * Returns: The #GType for the #PidginXferDialog boxed structure.
56 GType pidgin_xfer_dialog_get_type(void);
58 /**
59 * pidgin_xfer_dialog_new:
61 * Creates a new file transfer dialog.
63 * Returns: The new dialog.
65 PidginXferDialog *pidgin_xfer_dialog_new(void);
67 /**
68 * pidgin_xfer_dialog_destroy:
69 * @dialog: The file transfer dialog.
71 * Destroys a file transfer dialog.
73 void pidgin_xfer_dialog_destroy(PidginXferDialog *dialog);
75 /**
76 * pidgin_xfer_dialog_show:
77 * @dialog: The file transfer dialog to show.
79 * Displays the file transfer dialog given.
80 * If dialog is %NULL, displays the default dialog, creating one if necessary
82 void pidgin_xfer_dialog_show(PidginXferDialog *dialog);
84 /**
85 * pidgin_xfer_dialog_hide:
86 * @dialog: The file transfer dialog to hide.
88 * Hides the file transfer dialog.
90 void pidgin_xfer_dialog_hide(PidginXferDialog *dialog);
92 /**
93 * pidgin_xfer_dialog_add_xfer:
94 * @dialog: The file transfer dialog.
95 * @xfer: The file transfer.
97 * Adds a file transfer to the dialog.
99 void pidgin_xfer_dialog_add_xfer(PidginXferDialog *dialog, PurpleXfer *xfer);
102 * pidgin_xfer_dialog_remove_xfer:
103 * @dialog: The file transfer dialog.
104 * @xfer: The file transfer.
106 * Removes a file transfer from the dialog.
108 void pidgin_xfer_dialog_remove_xfer(PidginXferDialog *dialog,
109 PurpleXfer *xfer);
112 * pidgin_xfer_dialog_cancel_xfer:
113 * @dialog: The file transfer dialog.
114 * @xfer: The file transfer that was cancelled.
116 * Indicate in a file transfer dialog that a transfer was cancelled.
118 void pidgin_xfer_dialog_cancel_xfer(PidginXferDialog *dialog,
119 PurpleXfer *xfer);
122 * pidgin_xfer_dialog_update_xfer:
123 * @dialog: The file transfer dialog.
124 * @xfer: The file transfer.
126 * Updates the information for a transfer in the dialog.
128 void pidgin_xfer_dialog_update_xfer(PidginXferDialog *dialog,
129 PurpleXfer *xfer);
131 /**************************************************************************/
132 /* GTK+ File Transfer API */
133 /**************************************************************************/
136 * pidgin_xfers_init:
138 * Initializes the GTK+ file transfer system.
140 void pidgin_xfers_init(void);
143 * pidgin_xfers_uninit:
145 * Uninitializes the GTK+ file transfer system.
147 void pidgin_xfers_uninit(void);
150 * pidgin_set_xfer_dialog:
151 * @dialog: The main dialog.
153 * Sets pidgin's main file transfer dialog.
155 void pidgin_set_xfer_dialog(PidginXferDialog *dialog);
158 * pidgin_get_xfer_dialog:
160 * Returns pirgin's main file transfer dialog.
162 * Returns: The main dialog.
164 PidginXferDialog *pidgin_get_xfer_dialog(void);
167 * pidgin_xfers_get_ui_ops:
169 * Returns the UI operations structure for the GTK+ file transfer UI.
171 * Returns: The GTK+ file transfer UI operations structure.
173 PurpleXferUiOps *pidgin_xfers_get_ui_ops(void);
175 G_END_DECLS
177 #endif /* _PIDGINXFER_H_ */