[glibmm] Gio::Seekable: More implementations, fix base class of DataOutputStream
- From: Kjell Ahlstedt <kjellahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glibmm] Gio::Seekable: More implementations, fix base class of DataOutputStream
- Date: Tue, 4 Jul 2017 08:44:49 +0000 (UTC)
commit 50f9e3d3762c3d795bc67280d539e68d95a27ece
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date: Tue Jul 4 10:41:23 2017 +0200
Gio::Seekable: More implementations, fix base class of DataOutputStream
* gio/src/bufferedinputstream.hg:
* gio/src/bufferedoutputstream.hg: Implement Seekable.
* gio/src/dataoutputstream.hg: Implement Seekable. Change the base class
from BufferedOutputStream to FilterOutputStream.
GSeekable was implemented in the underlying glib classes with glib bug 673034.
The base class of Gio::DataOutputStream has problably been wrong from the
beginning. GDataInputStream has base class GBufferedInputStream,
but GDataOutputStream has base class GFilterOutputStream.
gio/src/bufferedinputstream.hg | 5 ++++-
gio/src/bufferedoutputstream.hg | 7 ++++---
gio/src/dataoutputstream.hg | 15 +++++++--------
3 files changed, 15 insertions(+), 12 deletions(-)
---
diff --git a/gio/src/bufferedinputstream.hg b/gio/src/bufferedinputstream.hg
index 3894f95..413d965 100644
--- a/gio/src/bufferedinputstream.hg
+++ b/gio/src/bufferedinputstream.hg
@@ -16,6 +16,7 @@
*/
#include <giomm/filterinputstream.h>
+#include <giomm/seekable.h>
#include <glibmm/object.h>
_DEFS(giomm,gio)
@@ -40,9 +41,11 @@ namespace Gio
*
* @newin{2,16}
*/
-class BufferedInputStream : public Gio::FilterInputStream
+class BufferedInputStream : public Gio::FilterInputStream, public Gio::Seekable
{
_CLASS_GOBJECT(BufferedInputStream, GBufferedInputStream, G_BUFFERED_INPUT_STREAM, Gio::FilterInputStream,
GFilterInputStream)
+ _IMPLEMENTS_INTERFACE(Seekable)
+
protected:
_WRAP_CTOR(BufferedInputStream(const Glib::RefPtr<InputStream>& base_stream), g_buffered_input_stream_new)
diff --git a/gio/src/bufferedoutputstream.hg b/gio/src/bufferedoutputstream.hg
index 4933db9..39145e7 100644
--- a/gio/src/bufferedoutputstream.hg
+++ b/gio/src/bufferedoutputstream.hg
@@ -1,5 +1,3 @@
-// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-
/* Copyright (C) 2008 The gtkmm Development Team
*
* This library is free software; you can redistribute it and/or
@@ -18,6 +16,7 @@
*/
#include <giomm/filteroutputstream.h>
+#include <giomm/seekable.h>
#include <glibmm/object.h>
_DEFS(giomm,gio)
@@ -38,9 +37,11 @@ namespace Gio
*
* @newin{2,16}
*/
-class BufferedOutputStream : public Gio::FilterOutputStream
+class BufferedOutputStream : public Gio::FilterOutputStream, public Gio::Seekable
{
_CLASS_GOBJECT(BufferedOutputStream, GBufferedOutputStream, G_BUFFERED_OUTPUT_STREAM,
Gio::FilterOutputStream, GFilterOutputStream)
+ _IMPLEMENTS_INTERFACE(Seekable)
+
protected:
_WRAP_CTOR(BufferedOutputStream(const Glib::RefPtr<OutputStream>& base_stream),
g_buffered_output_stream_new)
diff --git a/gio/src/dataoutputstream.hg b/gio/src/dataoutputstream.hg
index 95c398a..efd8211 100644
--- a/gio/src/dataoutputstream.hg
+++ b/gio/src/dataoutputstream.hg
@@ -1,5 +1,3 @@
-// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-
/* Copyright (C) 2007 The gtkmm Development Team
*
* This library is free software; you can redistribute it and/or
@@ -17,26 +15,28 @@
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include <giomm/bufferedoutputstream.h>
+#include <giomm/filteroutputstream.h>
+#include <giomm/seekable.h>
#include <giomm/enums.h>
_DEFS(giomm,gio)
-_PINCLUDE(giomm/private/bufferedoutputstream_p.h)
+_PINCLUDE(giomm/private/filteroutputstream_p.h)
namespace Gio
{
/**
- * An implementation of BufferedOutputStream that allows for high-level data
+ * An implementation of FilterOutputStream that allows for high-level data
* manipulation of arbitrary data (including binary operations).
*
* @ingroup Streams
*
* @newin{2,16}
*/
-class DataOutputStream : public Gio::BufferedOutputStream
+class DataOutputStream : public Gio::FilterOutputStream, public Gio::Seekable
{
- _CLASS_GOBJECT(DataOutputStream, GDataOutputStream, G_DATA_OUTPUT_STREAM, Gio::BufferedOutputStream,
GBufferedOutputStream)
+ _CLASS_GOBJECT(DataOutputStream, GDataOutputStream, G_DATA_OUTPUT_STREAM, Gio::FilterOutputStream,
GFilterOutputStream)
+ _IMPLEMENTS_INTERFACE(Seekable)
protected:
_WRAP_CTOR(DataOutputStream(const Glib::RefPtr<OutputStream>& base_stream), g_data_output_stream_new)
@@ -68,4 +68,3 @@ public:
};
} // namespace Gio
-
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]