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().