summaryrefslogtreecommitdiff
path: root/gio/src/datainputstream.ccg
diff options
context:
space:
mode:
authorJonathon Jongsma <jjongsma@src.gnome.org>2008-02-02 20:56:40 +0000
committerJonathon Jongsma <jjongsma@src.gnome.org>2008-02-02 20:56:40 +0000
commit8a27fb5256d454e166ba2ce616c99ad65d8a3ad8 (patch)
treeb2159882cc63a0ab8b190802efb6c21bf2690fac /gio/src/datainputstream.ccg
parent88553b487c01ff7bb1645793361890f29b6db7d6 (diff)
downloadglibmm-8a27fb5256d454e166ba2ce616c99ad65d8a3ad8.tar.gz
add DataInputStream class
* gio/src/Makefile_list_of_hg.am_fragment: * gio/src/datainputstream.ccg: * gio/src/datainputstream.hg: * tools/m4/convert_gio.m4: add DataInputStream class svn path=/trunk/; revision=561
Diffstat (limited to 'gio/src/datainputstream.ccg')
-rw-r--r--gio/src/datainputstream.ccg252
1 files changed, 252 insertions, 0 deletions
diff --git a/gio/src/datainputstream.ccg b/gio/src/datainputstream.ccg
new file mode 100644
index 00000000..e2481f20
--- /dev/null
+++ b/gio/src/datainputstream.ccg
@@ -0,0 +1,252 @@
+// -*- 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
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gio/gio.h>
+#include "slot_async.h"
+
+namespace Gio
+{
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+guchar DataInputStream::read_byte()
+#else
+guchar DataInputStream::read_byte(std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ guchar retvalue = g_data_input_stream_read_byte(gobj(), NULL, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+gint16 DataInputStream::read_int16()
+#else
+gint16 DataInputStream::read_int16(std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ gint16 retvalue = g_data_input_stream_read_int16(gobj(), NULL, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+guint16 DataInputStream::read_uint16()
+#else
+guint16 DataInputStream::read_uint16(std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ guint16 retvalue = g_data_input_stream_read_uint16(gobj(), NULL, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+gint32 DataInputStream::read_int32()
+#else
+gint32 DataInputStream::read_int32(std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ gint32 retvalue = g_data_input_stream_read_int32(gobj(), NULL, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+guint32 DataInputStream::read_uint32()
+#else
+guint32 DataInputStream::read_uint32(std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ guint32 retvalue = g_data_input_stream_read_uint32(gobj(), NULL, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+gint64 DataInputStream::read_int64()
+#else
+gint64 DataInputStream::read_int64(std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ gint64 retvalue = g_data_input_stream_read_int64(gobj(), NULL, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+guint64 DataInputStream::read_uint64()
+#else
+guint64 DataInputStream::read_uint64(std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ guint64 retvalue = g_data_input_stream_read_uint64(gobj(), NULL, &(gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+std::string DataInputStream::read_line(const Glib::RefPtr<Cancellable>& cancellable)
+#else
+std::string DataInputStream::read_line(const Glib::RefPtr<Cancellable>& cancellable, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ std::string s =
+ Glib::convert_return_gchar_ptr_to_stdstring(g_data_input_stream_read_line(gobj(),
+ NULL, // pass NULL since we can easily determine the length from the returned std::string
+ cancellable->gobj(),
+ &gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+ return s;
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+std::string DataInputStream::read_line()
+#else
+std::string DataInputStream::read_line(std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ std::string s =
+ Glib::convert_return_gchar_ptr_to_stdstring(g_data_input_stream_read_line(gobj(),
+ NULL, // pass NULL since we can easily determine the length from the returned std::string
+ NULL,
+ &gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+ return s;
+}
+
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+std::string DataInputStream::read_until(const std::string& stop_chars, const Glib::RefPtr<Cancellable>& cancellable)
+#else
+std::string DataInputStream::read_until(const std::string& stop_chars, const Glib::RefPtr<Cancellable>& cancellable, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ std::string s =
+ Glib::convert_return_gchar_ptr_to_stdstring(g_data_input_stream_read_until(gobj(),
+ stop_chars.c_str(),
+ NULL, // pass NULL since we can easily determine the length from the returned std::string
+ cancellable->gobj(),
+ &gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+ return s;
+}
+
+/** non-cancellable version of read_until()
+ */
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+std::string DataInputStream::read_until(const std::string& stop_chars)
+#else
+std::string DataInputStream::read_until(const std::string& stop_chars, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ std::string s =
+ Glib::convert_return_gchar_ptr_to_stdstring(g_data_input_stream_read_until(gobj(),
+ stop_chars.c_str(),
+ NULL, // pass NULL since we can easily determine the length from the returned std::string
+ NULL,
+ &gerror));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+ return s;
+}
+
+} // namespace Gio