libpurple/queuedoutputstream.h

Tue, 02 Aug 2022 02:02:46 -0500

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Tue, 02 Aug 2022 02:02:46 -0500
changeset 41479
3d2e114380f6
parent 41199
72afb5d62f12
child 41686
9bcd6ad114eb
permissions
-rw-r--r--

Add source files to GObject introspection

And also fix all properties/signals/non-docs that were incorrect.

Testing Done:
Built docs and found no new warnings. Checked some docs for newly-available property/signal docs.

Reviewed at https://reviews.imfreedom.org/r/1568/

37665
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
1 /*
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
2 *
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
3 * purple
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
4 *
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
5 * Purple is the legal property of its developers, whose names are too numerous
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
7 * source distribution.
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
8 *
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
10 * it under the terms of the GNU General Public License as published by
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
12 * (at your option) any later version.
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
13 *
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
17 * GNU General Public License for more details.
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
18 *
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
20 * along with this program; if not, write to the Free Software
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
22 */
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
23
40474
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 39659
diff changeset
24 #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 39659
diff changeset
25 # error "only <purple.h> may be included directly"
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 39659
diff changeset
26 #endif
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 39659
diff changeset
27
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39540
diff changeset
28 #ifndef PURPLE_QUEUED_OUTPUT_STREAM_H
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39540
diff changeset
29 #define PURPLE_QUEUED_OUTPUT_STREAM_H
37665
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
30
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
31 #include <gio/gio.h>
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
32
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
33 G_BEGIN_DECLS
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
34
40524
a3b1cde8d2d8 Add documentation for all PURPLE_TYPE_ functions as well as PURPLE_TUNE_ constants
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
35 /**
a3b1cde8d2d8 Add documentation for all PURPLE_TYPE_ functions as well as PURPLE_TUNE_ constants
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
36 * PURPLE_TYPE_QUEUED_OUTPUT_STREAM:
a3b1cde8d2d8 Add documentation for all PURPLE_TYPE_ functions as well as PURPLE_TUNE_ constants
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
37 *
a3b1cde8d2d8 Add documentation for all PURPLE_TYPE_ functions as well as PURPLE_TUNE_ constants
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
38 * The standard _get_type macro for #PurpleQueuedOutputStream.
a3b1cde8d2d8 Add documentation for all PURPLE_TYPE_ functions as well as PURPLE_TUNE_ constants
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
39 */
39540
8a5927c69f02 Use more standard GObject setup for queuedoutputstream.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39169
diff changeset
40 #define PURPLE_TYPE_QUEUED_OUTPUT_STREAM purple_queued_output_stream_get_type()
37665
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
41
41199
72afb5d62f12 Remove unnecessary gtk-doc comments and move them where possible from libpurple/[q-z]*.h
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
42 /**
72afb5d62f12 Remove unnecessary gtk-doc comments and move them where possible from libpurple/[q-z]*.h
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
43 * PurpleQueuedOutputStream:
72afb5d62f12 Remove unnecessary gtk-doc comments and move them where possible from libpurple/[q-z]*.h
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
44 *
41479
3d2e114380f6 Add source files to GObject introspection
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41199
diff changeset
45 * An implementation of #GFilterOutputStream which allows queuing data for
3d2e114380f6 Add source files to GObject introspection
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41199
diff changeset
46 * output. This allows data to be queued while other data is being output.
3d2e114380f6 Add source files to GObject introspection
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41199
diff changeset
47 * Therefore, data doesn't have to be manually stored while waiting for
3d2e114380f6 Add source files to GObject introspection
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41199
diff changeset
48 * stream operations to finish.
3d2e114380f6 Add source files to GObject introspection
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41199
diff changeset
49 *
3d2e114380f6 Add source files to GObject introspection
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41199
diff changeset
50 * To create a queued output stream, use [ctor@QueuedOutputStream.new].
3d2e114380f6 Add source files to GObject introspection
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41199
diff changeset
51 *
3d2e114380f6 Add source files to GObject introspection
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41199
diff changeset
52 * To queue data, use [method@QueuedOutputStream.push_bytes_async].
3d2e114380f6 Add source files to GObject introspection
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41199
diff changeset
53 *
3d2e114380f6 Add source files to GObject introspection
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41199
diff changeset
54 * If there's a fatal stream error, it's suggested to clear the remaining bytes
3d2e114380f6 Add source files to GObject introspection
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41199
diff changeset
55 * queued with [method@QueuedOutputStream.clear_queue] to avoid excessive
3d2e114380f6 Add source files to GObject introspection
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41199
diff changeset
56 * errors returned in [method@QueuedOutputStream.push_bytes_async]'s async
3d2e114380f6 Add source files to GObject introspection
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41199
diff changeset
57 * callback.
41199
72afb5d62f12 Remove unnecessary gtk-doc comments and move them where possible from libpurple/[q-z]*.h
Gary Kramlich <grim@reaperworld.com>
parents: 40524
diff changeset
58 */
39540
8a5927c69f02 Use more standard GObject setup for queuedoutputstream.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39169
diff changeset
59 G_DECLARE_FINAL_TYPE(PurpleQueuedOutputStream,
8a5927c69f02 Use more standard GObject setup for queuedoutputstream.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39169
diff changeset
60 purple_queued_output_stream, PURPLE,
8a5927c69f02 Use more standard GObject setup for queuedoutputstream.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39169
diff changeset
61 QUEUED_OUTPUT_STREAM, GFilterOutputStream)
37665
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
62
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
63 /*
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
64 * purple_queued_output_stream_new
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
65 * @base_stream: Base output stream to wrap with the queued stream
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
66 *
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
67 * Creates a new queued output stream for a base stream.
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
68 */
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
69 PurpleQueuedOutputStream *purple_queued_output_stream_new(
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
70 GOutputStream *base_stream);
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
71
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
72 /*
39165
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
73 * purple_queued_output_stream_push_bytes_async
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
74 * @stream: #PurpleQueuedOutputStream to push bytes to
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
75 * @bytes: Bytes to queue
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
76 * @priority: IO priority of the request
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
77 * @cancellable: (allow-none): Optional #GCancellable object, NULL to ignore
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
78 * @callback: (scope async): Callback to call when the request is finished
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
79 * @user_data: (closure): Data to pass to the callback function
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
80 *
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
81 * Asynchronously queues and then writes data to the output stream.
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
82 * Once the data has been written, or an error occurs, the callback
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
83 * will be called.
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
84 *
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
85 * Be careful such that if there's a fatal stream error, all remaining queued
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
86 * operations will likely return this error. Use
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
87 * #purple_queued_output_stream_clear_queue() to clear the queue on such
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
88 * an error to only report it a single time.
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
89 */
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
90 void purple_queued_output_stream_push_bytes_async(
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
91 PurpleQueuedOutputStream *stream, GBytes *bytes,
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
92 int io_priority, GCancellable *cancellable,
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
93 GAsyncReadyCallback callback, gpointer user_data);
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
94
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
95 /*
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
96 * purple_queued_output_stream_push_bytes_finish
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
97 * @stream: #PurpleQueuedOutputStream bytes were pushed to
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
98 * @result: The #GAsyncResult of this operation
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
99 * @error: A GError location to store the error, or NULL to ignore
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
100 *
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
101 * Finishes pushing bytes asynchronously.
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
102 *
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
103 * Returns: %TRUE on success, %FALSE if there was an error
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
104 */
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
105 gboolean purple_queued_output_stream_push_bytes_finish(
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
106 PurpleQueuedOutputStream *stream,
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
107 GAsyncResult *result, GError **error);
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
108
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
109 /*
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
110 * purple_queued_output_stream_clear_queue
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
111 * @stream: #PurpleQueuedOutputStream to clear
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
112 *
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
113 * Clears the queue of any pending bytes. However, any bytes that are
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
114 * in the process of being sent will finish their operation.
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
115 *
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
116 * This function is useful for clearing the queue in case of an IO error.
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
117 * Call this in the async callback in order to clear the queue and avoid
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
118 * having all #purple_queue_output_stream_push_bytes_async() calls on
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
119 * this queue return errors if there's a fatal stream error.
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
120 */
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
121 void purple_queued_output_stream_clear_queue(PurpleQueuedOutputStream *stream);
62b8ef4dd1d3 queuedoutputstream: Refactor to behave better with the rest of Gio
Mike Ruprecht <cmaiku@gmail.com>
parents: 38564
diff changeset
122
37665
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
123 G_END_DECLS
3eab84b9b88f libpurple: Add PurpleQueuedOutputStream for fire and forget output
Mike Ruprecht <cmaiku@gmail.com>
parents:
diff changeset
124
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39540
diff changeset
125 #endif /* PURPLE_QUEUED_OUTPUT_STREAM_H */

mercurial