| 
									
										
										
										
											2009-05-12 16:30:15 +02:00
										 |  |  | /* GIO - GLib Input, Output and Streaming Library
 | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Copyright © 2008, 2009 Codethink Limited | 
					
						
							|  |  |  |  * Copyright © 2009 Red Hat, Inc. | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2022-05-18 09:12:45 +01:00
										 |  |  |  * SPDX-License-Identifier: LGPL-2.1-or-later | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2017-05-27 18:21:30 +02:00
										 |  |  |  * 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.1 of the License, or (at your option) any later version. | 
					
						
							| 
									
										
										
										
											2009-05-12 16:30:15 +02:00
										 |  |  |  * | 
					
						
							|  |  |  |  * See the included COPYING file for more information. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Authors: Ryan Lortie <desrt@desrt.ca> | 
					
						
							|  |  |  |  *          Alexander Larsson <alexl@redhat.com> | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-27 23:43:14 -05:00
										 |  |  | #ifndef __G_IO_STREAM_H__
 | 
					
						
							|  |  |  | #define __G_IO_STREAM_H__
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-05-12 16:30:15 +02:00
										 |  |  | #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
 | 
					
						
							|  |  |  | #error "Only <gio/gio.h> can be included directly."
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <gio/ginputstream.h>
 | 
					
						
							|  |  |  | #include <gio/goutputstream.h>
 | 
					
						
							|  |  |  | #include <gio/gcancellable.h>
 | 
					
						
							|  |  |  | #include <gio/gioerror.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | G_BEGIN_DECLS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define G_TYPE_IO_STREAM         (g_io_stream_get_type ())
 | 
					
						
							|  |  |  | #define G_IO_STREAM(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_IO_STREAM, GIOStream))
 | 
					
						
							|  |  |  | #define G_IO_STREAM_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_IO_STREAM, GIOStreamClass))
 | 
					
						
							|  |  |  | #define G_IS_IO_STREAM(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_IO_STREAM))
 | 
					
						
							|  |  |  | #define G_IS_IO_STREAM_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_IO_STREAM))
 | 
					
						
							|  |  |  | #define G_IO_STREAM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_IO_STREAM, GIOStreamClass))
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | typedef struct _GIOStreamPrivate                            GIOStreamPrivate; | 
					
						
							|  |  |  | typedef struct _GIOStreamClass                              GIOStreamClass; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct _GIOStream | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   GObject parent_instance; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /*< private >*/ | 
					
						
							|  |  |  |   GIOStreamPrivate *priv; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct _GIOStreamClass | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   GObjectClass parent_class; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   GInputStream *  (*get_input_stream)  (GIOStream *stream); | 
					
						
							|  |  |  |   GOutputStream * (*get_output_stream) (GIOStream *stream); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   gboolean (* close_fn)	    (GIOStream           *stream, | 
					
						
							|  |  |  |                              GCancellable        *cancellable, | 
					
						
							|  |  |  |                              GError             **error); | 
					
						
							|  |  |  |   void     (* close_async)  (GIOStream           *stream, | 
					
						
							|  |  |  |                              int                  io_priority, | 
					
						
							|  |  |  |                              GCancellable        *cancellable, | 
					
						
							|  |  |  |                              GAsyncReadyCallback  callback, | 
					
						
							|  |  |  |                              gpointer             user_data); | 
					
						
							|  |  |  |   gboolean (* close_finish) (GIOStream           *stream, | 
					
						
							|  |  |  |                              GAsyncResult        *result, | 
					
						
							|  |  |  |                              GError             **error); | 
					
						
							|  |  |  |   /*< private >*/ | 
					
						
							|  |  |  |   /* Padding for future expansion */ | 
					
						
							|  |  |  |   void (*_g_reserved1) (void); | 
					
						
							|  |  |  |   void (*_g_reserved2) (void); | 
					
						
							|  |  |  |   void (*_g_reserved3) (void); | 
					
						
							|  |  |  |   void (*_g_reserved4) (void); | 
					
						
							|  |  |  |   void (*_g_reserved5) (void); | 
					
						
							|  |  |  |   void (*_g_reserved6) (void); | 
					
						
							|  |  |  |   void (*_g_reserved7) (void); | 
					
						
							|  |  |  |   void (*_g_reserved8) (void); | 
					
						
							|  |  |  |   void (*_g_reserved9) (void); | 
					
						
							|  |  |  |   void (*_g_reserved10) (void); | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2009-05-12 16:30:15 +02:00
										 |  |  | GType          g_io_stream_get_type          (void)  G_GNUC_CONST; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2009-05-12 16:30:15 +02:00
										 |  |  | GInputStream * g_io_stream_get_input_stream  (GIOStream            *stream); | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2009-05-12 16:30:15 +02:00
										 |  |  | GOutputStream *g_io_stream_get_output_stream (GIOStream            *stream); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2010-08-13 10:10:48 +02:00
										 |  |  | void           g_io_stream_splice_async      (GIOStream            *stream1, | 
					
						
							|  |  |  | 					      GIOStream            *stream2, | 
					
						
							|  |  |  | 					      GIOStreamSpliceFlags  flags, | 
					
						
							|  |  |  | 					      int                   io_priority, | 
					
						
							|  |  |  | 					      GCancellable         *cancellable, | 
					
						
							|  |  |  | 					      GAsyncReadyCallback   callback, | 
					
						
							|  |  |  | 					      gpointer              user_data); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2010-08-13 10:10:48 +02:00
										 |  |  | gboolean       g_io_stream_splice_finish     (GAsyncResult         *result, | 
					
						
							|  |  |  |                                               GError              **error); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2009-05-12 16:30:15 +02:00
										 |  |  | gboolean       g_io_stream_close             (GIOStream            *stream, | 
					
						
							|  |  |  | 					      GCancellable         *cancellable, | 
					
						
							|  |  |  | 					      GError              **error); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2009-05-12 16:30:15 +02:00
										 |  |  | void           g_io_stream_close_async       (GIOStream            *stream, | 
					
						
							|  |  |  | 					      int                   io_priority, | 
					
						
							|  |  |  | 					      GCancellable         *cancellable, | 
					
						
							|  |  |  | 					      GAsyncReadyCallback   callback, | 
					
						
							|  |  |  | 					      gpointer              user_data); | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2009-05-12 16:30:15 +02:00
										 |  |  | gboolean       g_io_stream_close_finish      (GIOStream            *stream, | 
					
						
							|  |  |  | 					      GAsyncResult         *result, | 
					
						
							|  |  |  | 					      GError              **error); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2009-05-12 16:30:15 +02:00
										 |  |  | gboolean       g_io_stream_is_closed         (GIOStream            *stream); | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2009-05-12 16:30:15 +02:00
										 |  |  | gboolean       g_io_stream_has_pending       (GIOStream            *stream); | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2009-05-12 16:30:15 +02:00
										 |  |  | gboolean       g_io_stream_set_pending       (GIOStream            *stream, | 
					
						
							|  |  |  | 					      GError              **error); | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2009-05-12 16:30:15 +02:00
										 |  |  | void           g_io_stream_clear_pending     (GIOStream            *stream); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | G_END_DECLS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* __G_IO_STREAM_H__ */
 |