An opaque object holding a Cabinet file reference. Create a new #GCabCabinet object to read or create a Cabinet archive. a new #GCabCabinet Adds a compression kind to the allow-list. By default, GCab will use all decompression support compiled in at build time. Once this function has been called only specific compression kinds will be used in functions like gcab_cabinet_load(). a #GCabCompression kind, e.g. %GCAB_COMPRESSION_MSZIP Add @folder to @cabinet. %TRUE on success. a #GCabCabinet a #GCabFolder Extract files to given path. If @path is NULL then the files are decompressed to memory blobs stored on each #GCabFile. %TRUE on success. a #GCabCabinet the path to extract files an optional #GCabFile callback, return %FALSE to filter out or skip files. a progress callback callback data optional #GCancellable object, %NULL to ignore Extract files to given path. %TRUE on success. a #GCabCabinet the path to extract files an optional #GCabFile callback, return %FALSE to filter out or skip files. callback data optional #GCancellable object, %NULL to ignore Get the Cabinet folders within the @cabinet. Note that Cabinet folders are not like filesystem path, they are group of files sharing some layout parameters. an array of #GCabFolder a #GCabCabinet Lookup the cabinet authenticode signature if any. the array containing the PKCS#7 signed data or %NULL on error. a #GCabCabinet optional #GCancellable object, %NULL to ignore Get the size of the compressed cabinet file. size in bytes a #GCabCabinet Load a cabinet archive. %TRUE on success a #GCabCabinet a #GInputStream optional #GCancellable object, %NULL to ignore Save @cabinet to the output stream @out. @out must be a #GSeekable. %TRUE on success. a #GCabCabinet a #GOutputStream also #GSeekable report current file being saved report saving progress user data to pass to callbacks optional #GCancellable object, %NULL to ignore Save @cabinet to the output stream @out. @out must be a #GSeekable. %TRUE on success. a #GCabCabinet a #GOutputStream also #GSeekable report current file being saved user data to pass to callbacks optional #GCancellable object, %NULL to ignore Compression used by the #GCabFolder. No compression. MSZIP compression. QUANTUM compression (unsupported). LZX compression (only decompression supported). compression value mask. The various errors triggered by the GCab functions. The given file is not of Cabinet format. General function failure. Action or format is not supported Data stream was invalid An opaque object, referencing a file in a Cabinet. Create a #GCabFile from a given #GBytes. If this file is to be added to an archive you should also probably use gcab_file_set_date() and gcab_file_set_attributes() to set sensible values. a new #GCabFile name of the file within the cabinet a #GBytes to be added to the cabinet Create a #GCabFile from a given #GFile, to be added to a #GCabCabinet for archive creation. a new #GCabFile name of the file within the cabinet a #GFile to be added to the cabinet Get the file attributes. the cabinet file attributes a #GCabFile Get the #GFile associated with @file. This will only be non-%NULL if the #GCabFile has been created using gcab_file_new_with_bytes(). the associated #GBytes or %NULL a #GCabFile Get the file date, in @result. %TRUE if @tv was set a #GCabFile a #GTimeVal to return date Gets the file date and returns it as a #GDateTime.. file date, or NULL if unknown. a #GCabFile Get the file name to use for extraction, or %NULL. a file name a #GCabFile If the cabinet is being created, get the #GFile associated with @file. This must be an exisiting file that can be read, in order to be added to the archive during cabinet creation. If @file is from an existing cabinet, the fuction will return %NULL. the associated #GFile or %NULL a #GCabFile Get the file name within the cabinet. the cabinet file name a #GCabFile Get the file size. the cabinet file size a #GCabFile Set the file attributes. a #GCabFile the attributes, e.g. %GCAB_FILE_ATTRIBUTE_RDONLY Replace the #GBytes associated with @self. This is most usefule when the #GCabFile has been created using gcab_file_new_with_bytes() and the data needs to be modified. a #GCabFile a #GBytes Sets the file modification date, instead of the value provided by the GFile. a #GCabFile a #GTimeVal Sets the file modification date (instead of the date provided by the GFile) a #GCabFile a #GDateTime Sets the file name to use for extraction, instead of the name provided by the Cabinet. a #GCabFile a file name or %NULL Attributes associated with the #GCabFile. file is read-only file is hidden file is a system file file modified since last backup run after extraction name contains UTF The type used for callback called when processing Cabinet archive files. the file being processed user data passed to the callback. An opaque object, referencing a folder in a Cabinet. Creates a new empty Cabinet folder. Use gcab_folder_add_file() to add files to an archive. A Cabinet folder is not a file path, it is a container for files. a new #GCabFolder compression to used in this folder Add @file to the #GCabFolder. %TRUE on succes a #GCabFolder file to be added whether to recurse through subdirectories optional #GCancellable object, %NULL to ignore Returns the compression used in this folder. a #GCabCompression, e.g. %GCAB_COMPRESSION_MSZIP a #GCabFolder Gets a specific #GCabFile files contained in the @cabfolder. A #GCabFile, or %NULL if not found a #GCabFolder a file name Get the list of #GCabFile files contained in the @cabfolder. list of files a #GCabFolder Get the number of files in this @folder. a #guint a #GCabFolder A GCabCabinet is a handle to a Cabinet archive. It allows examining, extracting and creation of archives. A GCabFile is a handle to a file inside a Cabinet archive. It can either be a file that is already within an exisiting archive, or a file that reference a file on disk that will be used for a new archive creation. In the later case, gcab_file_get_file() must return a valid handle. A GCabFolder is a handle to a folder within the Cabinet archive. A Cabinet folder <emphasis>is not</emphasis> like a directory. It is a sub-container grouping GCabFiles together, sharing some common settings like the compression method. You can retrieve the files within a folder with gcab_folder_get_files(). In order to add a file to a folder for creation, use gcab_folder_add_file().