projects
/
platform
/
upstream
/
glib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[kdbus] More detailed description for ENOBUFS errno
[platform/upstream/glib.git]
/
gio
/
gbufferedoutputstream.c
diff --git
a/gio/gbufferedoutputstream.c
b/gio/gbufferedoutputstream.c
index
f52ad2f
..
ac9b45f
100644
(file)
--- a/
gio/gbufferedoutputstream.c
+++ b/
gio/gbufferedoutputstream.c
@@
-13,9
+13,7
@@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
*
* Author: Christian Kellner <gicmo@gnome.org>
*/
*
* Author: Christian Kellner <gicmo@gnome.org>
*/
@@
-24,7
+22,7
@@
#include "gbufferedoutputstream.h"
#include "goutputstream.h"
#include "gseekable.h"
#include "gbufferedoutputstream.h"
#include "goutputstream.h"
#include "gseekable.h"
-#include "g
simpleasyncresult
.h"
+#include "g
task
.h"
#include "string.h"
#include "gioerror.h"
#include "glibintl.h"
#include "string.h"
#include "gioerror.h"
#include "glibintl.h"
@@
-124,6
+122,7
@@
static gboolean g_buffered_output_stream_truncate (GSeekable *s
G_DEFINE_TYPE_WITH_CODE (GBufferedOutputStream,
g_buffered_output_stream,
G_TYPE_FILTER_OUTPUT_STREAM,
G_DEFINE_TYPE_WITH_CODE (GBufferedOutputStream,
g_buffered_output_stream,
G_TYPE_FILTER_OUTPUT_STREAM,
+ G_ADD_PRIVATE (GBufferedOutputStream)
G_IMPLEMENT_INTERFACE (G_TYPE_SEEKABLE,
g_buffered_output_stream_seekable_iface_init))
G_IMPLEMENT_INTERFACE (G_TYPE_SEEKABLE,
g_buffered_output_stream_seekable_iface_init))
@@
-133,8
+132,6
@@
g_buffered_output_stream_class_init (GBufferedOutputStreamClass *klass)
{
GObjectClass *object_class;
GOutputStreamClass *ostream_class;
{
GObjectClass *object_class;
GOutputStreamClass *ostream_class;
-
- g_type_class_add_private (klass, sizeof (GBufferedOutputStreamPrivate));
object_class = G_OBJECT_CLASS (klass);
object_class->get_property = g_buffered_output_stream_get_property;
object_class = G_OBJECT_CLASS (klass);
object_class->get_property = g_buffered_output_stream_get_property;
@@
-345,10
+342,7
@@
g_buffered_output_stream_finalize (GObject *object)
static void
g_buffered_output_stream_init (GBufferedOutputStream *stream)
{
static void
g_buffered_output_stream_init (GBufferedOutputStream *stream)
{
- stream->priv = G_TYPE_INSTANCE_GET_PRIVATE (stream,
- G_TYPE_BUFFERED_OUTPUT_STREAM,
- GBufferedOutputStreamPrivate);
-
+ stream->priv = g_buffered_output_stream_get_instance_private (stream);
}
static void
}
static void
@@
-435,7
+429,7
@@
flush_buffer (GBufferedOutputStream *stream,
count = priv->pos - bytes_written;
if (count > 0)
count = priv->pos - bytes_written;
if (count > 0)
-
g_
memmove (priv->buffer, priv->buffer + bytes_written, count);
+ memmove (priv->buffer, priv->buffer + bytes_written, count);
priv->pos -= bytes_written;
priv->pos -= bytes_written;
@@
-652,9
+646,10
@@
free_flush_data (gpointer data)
* and so closing and writing is just a special
* case of flushing + some addition stuff */
static void
* and so closing and writing is just a special
* case of flushing + some addition stuff */
static void
-flush_buffer_thread (GSimpleAsyncResult *result,
- GObject *object,
- GCancellable *cancellable)
+flush_buffer_thread (GTask *task,
+ gpointer object,
+ gpointer task_data,
+ GCancellable *cancellable)
{
GBufferedOutputStream *stream;
GOutputStream *base_stream;
{
GBufferedOutputStream *stream;
GOutputStream *base_stream;
@@
-663,7
+658,7
@@
flush_buffer_thread (GSimpleAsyncResult *result,
GError *error = NULL;
stream = G_BUFFERED_OUTPUT_STREAM (object);
GError *error = NULL;
stream = G_BUFFERED_OUTPUT_STREAM (object);
- fdata =
g_simple_async_result_get_op_res_gpointer (result)
;
+ fdata =
task_data
;
base_stream = G_FILTER_OUTPUT_STREAM (stream)->base_stream;
res = flush_buffer (stream, cancellable, &error);
base_stream = G_FILTER_OUTPUT_STREAM (stream)->base_stream;
res = flush_buffer (stream, cancellable, &error);
@@
-689,7
+684,9
@@
flush_buffer_thread (GSimpleAsyncResult *result,
}
if (res == FALSE)
}
if (res == FALSE)
- g_simple_async_result_take_error (result, error);
+ g_task_return_error (task, error);
+ else
+ g_task_return_boolean (task, TRUE);
}
static void
}
static void
@@
-699,25
+696,19
@@
g_buffered_output_stream_flush_async (GOutputStream *stream,
GAsyncReadyCallback callback,
gpointer data)
{
GAsyncReadyCallback callback,
gpointer data)
{
- G
SimpleAsyncResult *res
;
- FlushData
*fdata;
+ G
Task *task
;
+ FlushData *fdata;
fdata = g_slice_new (FlushData);
fdata->flush_stream = TRUE;
fdata->close_stream = FALSE;
fdata = g_slice_new (FlushData);
fdata->flush_stream = TRUE;
fdata->close_stream = FALSE;
- res = g_simple_async_result_new (G_OBJECT (stream),
- callback,
- data,
- g_buffered_output_stream_flush_async);
+ task = g_task_new (stream, cancellable, callback, data);
+ g_task_set_task_data (task, fdata, free_flush_data);
+ g_task_set_priority (task, io_priority);
- g_simple_async_result_set_op_res_gpointer (res, fdata, free_flush_data);
-
- g_simple_async_result_run_in_thread (res,
- flush_buffer_thread,
- io_priority,
- cancellable);
- g_object_unref (res);
+ g_task_run_in_thread (task, flush_buffer_thread);
+ g_object_unref (task);
}
static gboolean
}
static gboolean
@@
-725,14
+716,9
@@
g_buffered_output_stream_flush_finish (GOutputStream *stream,
GAsyncResult *result,
GError **error)
{
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
-
- simple = G_SIMPLE_ASYNC_RESULT (result);
+ g_return_val_if_fail (g_task_is_valid (result, stream), FALSE);
- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) ==
- g_buffered_output_stream_flush_async);
-
- return TRUE;
+ return g_task_propagate_boolean (G_TASK (result), error);
}
static void
}
static void
@@
-742,24
+728,18
@@
g_buffered_output_stream_close_async (GOutputStream *stream,
GAsyncReadyCallback callback,
gpointer data)
{
GAsyncReadyCallback callback,
gpointer data)
{
- G
SimpleAsyncResult *res
;
- FlushData
*fdata;
+ G
Task *task
;
+ FlushData *fdata;
fdata = g_slice_new (FlushData);
fdata->close_stream = TRUE;
fdata = g_slice_new (FlushData);
fdata->close_stream = TRUE;
- res = g_simple_async_result_new (G_OBJECT (stream),
- callback,
- data,
- g_buffered_output_stream_close_async);
-
- g_simple_async_result_set_op_res_gpointer (res, fdata, free_flush_data);
+ task = g_task_new (stream, cancellable, callback, data);
+ g_task_set_task_data (task, fdata, free_flush_data);
+ g_task_set_priority (task, io_priority);
- g_simple_async_result_run_in_thread (res,
- flush_buffer_thread,
- io_priority,
- cancellable);
- g_object_unref (res);
+ g_task_run_in_thread (task, flush_buffer_thread);
+ g_object_unref (task);
}
static gboolean
}
static gboolean
@@
-767,12
+747,7
@@
g_buffered_output_stream_close_finish (GOutputStream *stream,
GAsyncResult *result,
GError **error)
{
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
-
- simple = G_SIMPLE_ASYNC_RESULT (result);
-
- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) ==
- g_buffered_output_stream_close_async);
+ g_return_val_if_fail (g_task_is_valid (result, stream), FALSE);
- return
TRUE
;
+ return
g_task_propagate_boolean (G_TASK (result), error)
;
}
}