diff options
author | Alexander Larsson <alexl@redhat.com> | 2007-11-26 16:13:05 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2007-11-26 16:13:05 +0000 |
commit | 3781343738de4abddf56982325a77bd70a98cd26 (patch) | |
tree | 7edf4bfd446dc1465fdb8595641bf5307955940a /gio/gseekable.h | |
parent | 8bdbcb92135c8831d045874d5913a13fe30c3af4 (diff) | |
download | glib-3781343738de4abddf56982325a77bd70a98cd26.tar.gz glib-3781343738de4abddf56982325a77bd70a98cd26.tar.bz2 glib-3781343738de4abddf56982325a77bd70a98cd26.zip |
gio/ docs/reference/gio Merged gio-standalone into glib.
2007-11-26 Alexander Larsson <alexl@redhat.com>
* Makefile.am:
* configure.in:
* gio-2.0-uninstalled.pc.in:
* gio-2.0.pc.in:
* gio-unix-2.0-uninstalled.pc.in:
* gio-unix-2.0.pc.in:
* gio/
* docs/reference/gio
Merged gio-standalone into glib.
* glib/glibintl.h:
* glib/gutils.c:
Export glib_gettext so that gio can use it
Add P_ (using same domain for now)
Add I_ as g_intern_static_string
svn path=/trunk/; revision=5941
Diffstat (limited to 'gio/gseekable.h')
-rw-r--r-- | gio/gseekable.h | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/gio/gseekable.h b/gio/gseekable.h new file mode 100644 index 000000000..33fc619b8 --- /dev/null +++ b/gio/gseekable.h @@ -0,0 +1,81 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2006-2007 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser 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 + * 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. + * + * Author: Alexander Larsson <alexl@redhat.com> + */ + +#ifndef __G_SEEKABLE_H__ +#define __G_SEEKABLE_H__ + +#include <glib-object.h> +#include <gio/gcancellable.h> + +G_BEGIN_DECLS + +#define G_TYPE_SEEKABLE (g_seekable_get_type ()) +#define G_SEEKABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_SEEKABLE, GSeekable)) +#define G_IS_SEEKABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_SEEKABLE)) +#define G_SEEKABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_SEEKABLE, GSeekableIface)) + +typedef struct _GSeekable GSeekable; +typedef struct _GSeekableIface GSeekableIface; + +struct _GSeekableIface +{ + GTypeInterface g_iface; + + /* Virtual Table */ + + goffset (* tell) (GSeekable *seekable); + + gboolean (* can_seek) (GSeekable *seekable); + gboolean (* seek) (GSeekable *seekable, + goffset offset, + GSeekType type, + GCancellable *cancellable, + GError **error); + + gboolean (* can_truncate) (GSeekable *seekable); + gboolean (* truncate) (GSeekable *seekable, + goffset offset, + GCancellable *cancellable, + GError **error); + + /* TODO: Async seek/truncate */ +}; + +GType g_seekable_get_type (void) G_GNUC_CONST; + +goffset g_seekable_tell (GSeekable *seekable); +gboolean g_seekable_can_seek (GSeekable *seekable); +gboolean g_seekable_seek (GSeekable *seekable, + goffset offset, + GSeekType type, + GCancellable *cancellable, + GError **error); +gboolean g_seekable_can_truncate (GSeekable *seekable); +gboolean g_seekable_truncate (GSeekable *seekable, + goffset offset, + GCancellable *cancellable, + GError **error); + +G_END_DECLS + + +#endif /* __G_SEEKABLE_H__ */ |