GCabFolder

GCabFolder — A Cabinet folder

Stability Level

Stable, unless otherwise indicated

Functions

Types and Values

Includes

#include <libgcab.h>

Description

A GCabFolder is a handle to a folder within the Cabinet archive. A Cabinet folder is not 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().

Functions

gcab_folder_new ()

GCabFolder *
gcab_folder_new (gint comptype);

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.

Parameters

comptype

compression to used in this folder

 

Returns

a new GCabFolder


gcab_folder_add_file ()

gboolean
gcab_folder_add_file (GCabFolder *cabfolder,
                      GCabFile *cabfile,
                      gboolean recurse,
                      GCancellable *cancellable,
                      GError **error);

Add file to the GCabFolder.

Parameters

cabfolder

a GCabFolder

 

cabfile

file to be added

 

recurse

whether to recurse through subdirectories

 

cancellable

optional GCancellable object, NULL to ignore.

[allow-none]

error

GError to set on error, or NULL.

[allow-none]

Returns

TRUE on succes


gcab_folder_get_files ()

GSList *
gcab_folder_get_files (GCabFolder *cabfolder);

Get the list of GCabFile files contained in the cabfolder .

Parameters

cabfolder

a GCabFolder

 

Returns

list of files.

[element-type GCabFile][transfer container]


gcab_folder_get_nfiles ()

guint
gcab_folder_get_nfiles (GCabFolder *cabfolder);

Get the number of files in this folder .

Parameters

cabfolder

a GCabFolder

 

Returns

a guint


gcab_folder_get_comptype ()

gint
gcab_folder_get_comptype (GCabFolder *cabfolder);

Returns the compression used in this folder.

Parameters

cabfolder

a GCabFolder

 

Since: 1.0


gcab_folder_get_file_by_name ()

GCabFile *
gcab_folder_get_file_by_name (GCabFolder *cabfolder,
                              const gchar *name);

Gets a specific GCabFile files contained in the cabfolder .

Parameters

cabfolder

a GCabFolder

 

name

a file name

 

Returns

A GCabFile, or NULL if not found.

[transfer none]

Types and Values

enum GCabCompression

Compression used by the GCabFolder.

Members

GCAB_COMPRESSION_NONE

No compression.

 

GCAB_COMPRESSION_MSZIP

MSZIP compression.

 

GCAB_COMPRESSION_QUANTUM

QUANTUM compression (unsupported).

 

GCAB_COMPRESSION_LZX

LZX compression (only decompression supported).

 

GCAB_COMPRESSION_MASK

compression value mask.

 

GCabFolder

typedef struct _GCabFolder GCabFolder;

An opaque object, referencing a folder in a Cabinet.

See Also

GCabFolder