1 // Generated by gmmproc 2.64.2 -- DO NOT MODIFY! 2 #ifndef _GIOMM_CONVERTERINPUTSTREAM_H 3 #define _GIOMM_CONVERTERINPUTSTREAM_H 4 5 6 #include <glibmm/ustring.h> 7 #include <sigc++/sigc++.h> 8 9 /* Copyright (C) 2012 The giomm Development Team 10 * 11 * This library is free software; you can redistribute it and/or 12 * modify it under the terms of the GNU Lesser General Public 13 * License as published by the Free Software Foundation; either 14 * version 2.1 of the License, or (at your option) any later version. 15 * 16 * This library is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 * Lesser General Public License for more details. 20 * 21 * You should have received a copy of the GNU Lesser General Public 22 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 23 */ 24 25 #include <giomm/filterinputstream.h> 26 #include <giomm/pollableinputstream.h> 27 28 29 #ifndef DOXYGEN_SHOULD_SKIP_THIS 30 using GConverterInputStream = struct _GConverterInputStream; 31 using GConverterInputStreamClass = struct _GConverterInputStreamClass; 32 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 33 34 35 #ifndef DOXYGEN_SHOULD_SKIP_THIS 36 namespace Gio 37 { class GIOMM_API ConverterInputStream_Class; } // namespace Gio 38 #endif //DOXYGEN_SHOULD_SKIP_THIS 39 40 namespace Gio 41 { 42 43 class GIOMM_API Converter; 44 class GIOMM_API InputStream; 45 46 /** ConverterInputstream - Converter Input Stream. 47 * Converter input stream implements InputStream and allows conversion of data 48 * of various types during reading. ConverterInputStream also implements the 49 * PollableInputStream interface. 50 * @newin{2,34} 51 */ 52 53 class GIOMM_API ConverterInputStream : public FilterInputStream, 54 public PollableInputStream 55 { 56 57 #ifndef DOXYGEN_SHOULD_SKIP_THIS 58 59 public: 60 using CppObjectType = ConverterInputStream; 61 using CppClassType = ConverterInputStream_Class; 62 using BaseObjectType = GConverterInputStream; 63 using BaseClassType = GConverterInputStreamClass; 64 65 // noncopyable 66 ConverterInputStream(const ConverterInputStream&) = delete; 67 ConverterInputStream& operator=(const ConverterInputStream&) = delete; 68 69 private: friend class ConverterInputStream_Class; 70 static CppClassType converterinputstream_class_; 71 72 protected: 73 explicit ConverterInputStream(const Glib::ConstructParams& construct_params); 74 explicit ConverterInputStream(GConverterInputStream* castitem); 75 76 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 77 78 public: 79 80 ConverterInputStream(ConverterInputStream&& src) noexcept; 81 ConverterInputStream& operator=(ConverterInputStream&& src) noexcept; 82 83 ~ConverterInputStream() noexcept override; 84 85 /** Get the GType for this class, for use with the underlying GObject type system. 86 */ 87 static GType get_type() G_GNUC_CONST; 88 89 #ifndef DOXYGEN_SHOULD_SKIP_THIS 90 91 92 static GType get_base_type() G_GNUC_CONST; 93 #endif 94 95 ///Provides access to the underlying C GObject. gobj()96 GConverterInputStream* gobj() { return reinterpret_cast<GConverterInputStream*>(gobject_); } 97 98 ///Provides access to the underlying C GObject. gobj()99 const GConverterInputStream* gobj() const { return reinterpret_cast<GConverterInputStream*>(gobject_); } 100 101 ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. 102 GConverterInputStream* gobj_copy(); 103 104 private: 105 106 107 protected: 108 explicit ConverterInputStream(const Glib::RefPtr<InputStream>& base_stream, const Glib::RefPtr<Converter>& converter); 109 110 111 public: 112 113 /** Creates a new converter input stream for the @a base_stream. 114 * 115 * @param base_stream A InputStream. 116 * @param converter A Converter. 117 * @return A new InputStream. 118 */ 119 120 121 static Glib::RefPtr<ConverterInputStream> create(const Glib::RefPtr<InputStream>& base_stream, const Glib::RefPtr<Converter>& converter); 122 123 124 // The C function returns an unreffed private member. 125 126 /** Gets the Converter that is used by @a converter_stream. 127 * 128 * @newin{2,24} 129 * 130 * @return The converter of the converter input stream. 131 */ 132 Glib::RefPtr<Converter> get_converter(); 133 134 /** Gets the Converter that is used by @a converter_stream. 135 * 136 * @newin{2,24} 137 * 138 * @return The converter of the converter input stream. 139 */ 140 Glib::RefPtr<const Converter> get_converter() const; 141 142 /** The converter object. 143 * 144 * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, 145 * or receive notification when the value of the property changes. 146 */ 147 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Converter> > property_converter() const; 148 149 150 public: 151 152 public: 153 //C++ methods used to invoke GTK+ virtual functions: 154 155 protected: 156 //GTK+ Virtual Functions (override these to change behaviour): 157 158 //Default Signal Handlers:: 159 160 161 }; 162 163 } // namespace Gio 164 165 166 namespace Glib 167 { 168 /** A Glib::wrap() method for this object. 169 * 170 * @param object The C instance. 171 * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref. 172 * @result A C++ instance that wraps this C instance. 173 * 174 * @relates Gio::ConverterInputStream 175 */ 176 GIOMM_API 177 Glib::RefPtr<Gio::ConverterInputStream> wrap(GConverterInputStream* object, bool take_copy = false); 178 } 179 180 181 #endif /* _GIOMM_CONVERTERINPUTSTREAM_H */ 182 183