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