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