plover/inputstream.h
author J. Ali Harlow <ali@juiblex.co.uk>
Mon Aug 31 07:12:16 2020 +0100 (2020-08-31)
changeset 104 5cb36c12ac49
permissions -rw-r--r--
Prepare to release 0.6
     1 /*
     2  * Copyright (C) 2006-2007  Red Hat, Inc
     3  * Copyright (C) 2016  J. Ali Harlow <ali@juiblex.co.uk>
     4  *
     5  * This program is free software; you can redistribute it and/or modify
     6  * it under the terms of the GNU General Public License as published by
     7  * the Free Software Foundation; either version 2 of the License, or
     8  * (at your option) any later version.
     9  *
    10  * This program is distributed in the hope that it will be useful,
    11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    13  * GNU General Public License for more details.
    14  *
    15  * You should have received a copy of the GNU General Public License along
    16  * with this program; if not, write to the Free Software Foundation, Inc.,
    17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
    18  */
    19 
    20 #ifndef __PLOVER_INPUT_STREAM_H__
    21 #define __PLOVER_INPUT_STREAM_H__
    22 
    23 #include <gio/gio.h>
    24 
    25 G_BEGIN_DECLS
    26 
    27 #define PLOVER_TYPE_RAZOR_INPUT_STREAM	plover_razor_input_stream_get_type()
    28 #define PLOVER_RAZOR_INPUT_STREAM(o)	G_TYPE_CHECK_INSTANCE_CAST(o, \
    29 					  PLOVER_TYPE_RAZOR_INPUT_STREAM, \
    30 					  PloverRazorInputStream)
    31 #define PLOVER_RAZOR_INPUT_STREAM_CLASS(k) \
    32 					G_TYPE_CHECK_CLASS_CAST(k, \
    33 					  PLOVER_TYPE_RAZOR_INPUT_STREAM, \
    34 					  PloverRazorInputStreamClass))
    35 #define PLOVER_IS_RAZOR_INPUT_STREAM(o)	G_TYPE_CHECK_INSTANCE_TYPE(o, \
    36 					  PLOVER_TYPE_RAZOR_INPUT_STREAM)
    37 #define PLOVER_IS_RAZOR_INPUT_STREAM_CLASS(k) \
    38 					G_TYPE_CHECK_CLASS_TYPE(k, \
    39 					  PLOVER_TYPE_RAZOR_INPUT_STREAM)
    40 #define PLOVER_RAZOR_INPUT_STREAM_GET_CLASS(o) \
    41 					G_TYPE_INSTANCE_GET_CLASS(o, \
    42 					  PLOVER_TYPE_RAZOR_INPUT_STREAM, \
    43 					  PloverRazorInputStreamClass)
    44 
    45 /**
    46  * PloverRazorInputStream:
    47  *
    48  * Implements #GInputStream for razor URI routines.
    49  */
    50 typedef struct _PloverRazorInputStream PloverRazorInputStream;
    51 typedef struct _PloverRazorInputStreamClass PloverRazorInputStreamClass;
    52 typedef struct _PloverRazorInputStreamPrivate PloverRazorInputStreamPrivate;
    53 
    54 struct _PloverRazorInputStream
    55 {
    56     GInputStream parent_instance;
    57     PloverRazorInputStreamPrivate *priv;
    58 };
    59 
    60 struct _PloverRazorInputStreamClass
    61 {
    62     GInputStreamClass parent_class;
    63 };
    64 
    65 GType plover_razor_input_stream_get_type(void) G_GNUC_CONST;
    66 GInputStream *plover_razor_input_stream_new(const char *uri,GError **error);
    67 
    68 G_END_DECLS
    69 
    70 #endif /* _PLOVER_INPUT_STREAM_H__ */