1 // Generated by gmmproc 2.64.2 -- DO NOT MODIFY!
2 #ifndef _GIOMM_ZLIBDECOMPRESSOR_H
3 #define _GIOMM_ZLIBDECOMPRESSOR_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 <glibmm/object.h>
26 #include <giomm/converter.h>
27 #include <giomm/zlibcompressor.h>
28 
29 
30 #ifndef DOXYGEN_SHOULD_SKIP_THIS
31 using GZlibDecompressor = struct _GZlibDecompressor;
32 using GZlibDecompressorClass = struct _GZlibDecompressorClass;
33 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
34 
35 
36 #ifndef DOXYGEN_SHOULD_SKIP_THIS
37 namespace Gio
38 { class GIOMM_API ZlibDecompressor_Class; } // namespace Gio
39 #endif //DOXYGEN_SHOULD_SKIP_THIS
40 
41 namespace Gio
42 {
43 
44 class GIOMM_API FileInfo;
45 
46 /** ZlibDecompressor - Zlib decompressor.
47  * ZlibDecompressor is an implementation of Converter that decompresses data
48  * compressed with zlib.
49  * @newin{2,34}
50  */
51 
52 class GIOMM_API ZlibDecompressor : public Glib::Object, public Converter
53 {
54 
55 #ifndef DOXYGEN_SHOULD_SKIP_THIS
56 
57 public:
58   using CppObjectType = ZlibDecompressor;
59   using CppClassType = ZlibDecompressor_Class;
60   using BaseObjectType = GZlibDecompressor;
61   using BaseClassType = GZlibDecompressorClass;
62 
63   // noncopyable
64   ZlibDecompressor(const ZlibDecompressor&) = delete;
65   ZlibDecompressor& operator=(const ZlibDecompressor&) = delete;
66 
67 private:  friend class ZlibDecompressor_Class;
68   static CppClassType zlibdecompressor_class_;
69 
70 protected:
71   explicit ZlibDecompressor(const Glib::ConstructParams& construct_params);
72   explicit ZlibDecompressor(GZlibDecompressor* castitem);
73 
74 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
75 
76 public:
77 
78   ZlibDecompressor(ZlibDecompressor&& src) noexcept;
79   ZlibDecompressor& operator=(ZlibDecompressor&& src) noexcept;
80 
81   ~ZlibDecompressor() noexcept override;
82 
83   /** Get the GType for this class, for use with the underlying GObject type system.
84    */
85   static GType get_type()      G_GNUC_CONST;
86 
87 #ifndef DOXYGEN_SHOULD_SKIP_THIS
88 
89 
90   static GType get_base_type() G_GNUC_CONST;
91 #endif
92 
93   ///Provides access to the underlying C GObject.
gobj()94   GZlibDecompressor*       gobj()       { return reinterpret_cast<GZlibDecompressor*>(gobject_); }
95 
96   ///Provides access to the underlying C GObject.
gobj()97   const GZlibDecompressor* gobj() const { return reinterpret_cast<GZlibDecompressor*>(gobject_); }
98 
99   ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
100   GZlibDecompressor* gobj_copy();
101 
102 private:
103 
104 
105 protected:
106     explicit ZlibDecompressor(ZlibCompressorFormat format);
107 
108 
109 public:
110 
111   /** Creates a new ZlibDecompressor.
112    *
113    * @newin{2,24}
114    *
115    * @param format The format to use for the compressed data.
116    * @return A new ZlibDecompressor.
117    */
118 
119 
120   static Glib::RefPtr<ZlibDecompressor> create(ZlibCompressorFormat format);
121 
122 
123   /** Retrieves the FileInfo constructed from the GZIP header data
124    * of compressed data processed by @a compressor, or <tt>nullptr</tt> if @a decompressor's
125    * ZlibDecompressor::property_format() property is not ZLIB_COMPRESSOR_FORMAT_GZIP,
126    * or the header data was not fully processed yet, or it not present in the
127    * data stream at all.
128    *
129    * @newin{2,26}
130    *
131    * @return A FileInfo, or <tt>nullptr</tt>.
132    */
133   Glib::RefPtr<FileInfo> get_file_info();
134 
135   /** Retrieves the FileInfo constructed from the GZIP header data
136    * of compressed data processed by @a compressor, or <tt>nullptr</tt> if @a decompressor's
137    * ZlibDecompressor::property_format() property is not ZLIB_COMPRESSOR_FORMAT_GZIP,
138    * or the header data was not fully processed yet, or it not present in the
139    * data stream at all.
140    *
141    * @newin{2,26}
142    *
143    * @return A FileInfo, or <tt>nullptr</tt>.
144    */
145   Glib::RefPtr<const FileInfo> get_file_info() const;
146 
147   /** A FileInfo containing the information found in the GZIP header
148    * of the data stream processed, or <tt>nullptr</tt> if the header was not yet
149    * fully processed, is not present at all, or the compressor's
150    * ZlibDecompressor::property_format() property is not ZLIB_COMPRESSOR_FORMAT_GZIP.
151    *
152    * @newin{2,26}
153    *
154    * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
155    * or receive notification when the value of the property changes.
156    */
157   Glib::PropertyProxy_ReadOnly< Glib::RefPtr<FileInfo> > property_file_info() const;
158 
159 
160   /** The format of the compressed data.
161    *
162    * Default value: ZLIB_COMPRESSOR_FORMAT_ZLIB
163    *
164    * @return A PropertyProxy_ReadOnly that allows you to get the value of the property,
165    * or receive notification when the value of the property changes.
166    */
167   Glib::PropertyProxy_ReadOnly< ZlibCompressorFormat > property_format() const;
168 
169 
170 public:
171 
172 public:
173   //C++ methods used to invoke GTK+ virtual functions:
174 
175 protected:
176   //GTK+ Virtual Functions (override these to change behaviour):
177 
178   //Default Signal Handlers::
179 
180 
181 };
182 
183 } // namespace Gio
184 
185 
186 namespace Glib
187 {
188   /** A Glib::wrap() method for this object.
189    *
190    * @param object The C instance.
191    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
192    * @result A C++ instance that wraps this C instance.
193    *
194    * @relates Gio::ZlibDecompressor
195    */
196   GIOMM_API
197   Glib::RefPtr<Gio::ZlibDecompressor> wrap(GZlibDecompressor* object, bool take_copy = false);
198 }
199 
200 
201 #endif /* _GIOMM_ZLIBDECOMPRESSOR_H */
202 
203