Zip files: GSF Reference Manual

## Zip files

Zip files — Utilities for reading and writing ZIP/JAR files

## Functions

GsfInfile * | gsf_infile_zip_new ()
GsfOutfile * | gsf_outfile_zip_new ()
gboolean | gsf_outfile_zip_set_compression_method ()

## Properties

gint | compression-level | Read
GsfInfileZip * | internal-parent | Write / Construct Only
GsfInput * | source | Read / Write / Construct Only
gint | compression-level | Read / Write / Construct Only
gint | deflate-level | Read / Write / Construct Only
gchar * | entry-name | Read / Write / Construct Only
GsfOutput * | sink | Read / Write / Construct Only
gint | zip64 | Read / Write / Construct Only

## Types and Values

| GsfInfileZip
| GsfOutfileZip

## Object Hierarchy

        GObject
        ├── GsfInput
        │   ╰── GsfInfile
        │       ╰── GsfInfileZip
        ╰── GsfOutput
            ╰── GsfOutfile
                ╰── GsfOutfileZip

## Description

GsfInfile and GsfOutfile support for zip files.

## Functions

### gsf_infile_zip_new ()

    GsfInfile *
    gsf_infile_zip_new (GsfInput *source,
                        GError **err);

Opens the root directory of a Zip file.

This adds a reference to `source`.

#### Parameters

source | A base GsfInput |
err | place to store a GError if anything goes wrong. | [allow-none]

#### Returns

the new zip file handler

### gsf_outfile_zip_new ()

    GsfOutfile *
    gsf_outfile_zip_new (GsfOutput *sink,
                         GError **err);

Creates the root directory of a Zip file and manages the addition of children.

This adds a reference to `sink`.

#### Parameters

sink | a GsfOutput to hold the ZIP file |
err | Location to store error, or `NULL`; currently unused. |

#### Returns

the new zip file handler

### gsf_outfile_zip_set_compression_method ()

    gboolean
    gsf_outfile_zip_set_compression_method
                                   (GsfOutfileZip *zip,
                                    GsfZipCompressionMethod method);

## Types and Values

### GsfInfileZip

    typedef struct _GsfInfileZip GsfInfileZip;

### GsfOutfileZip

    typedef struct _GsfOutfileZip GsfOutfileZip;

## Property Details

### The `“compression-level”` property

      “compression-level”        gint

Controls the level of compression used for new members.

Flags: Read

Allowed values: [0,10]

Default value: 0

### The `“internal-parent”` property

      “internal-parent”          GsfInfileZip *

Internal use only.

Flags: Write / Construct Only

### The `“source”` property

      “source”                   GsfInput *

The archive being interpreted.

Flags: Read / Write / Construct Only

### The `“compression-level”` property

      “compression-level”        gint

The level of compression used, zero meaning none.

Flags: Read / Write / Construct Only

Allowed values: [0,10]

Default value: 8

### The `“deflate-level”` property

      “deflate-level”            gint

The level of deflate compression used, zero meaning none and -1 meaning the zlib default.

Flags: Read / Write / Construct Only

Allowed values: [-1,9]

Default value: -1

### The `“entry-name”` property

      “entry-name”               gchar *

The filename of this member in the archive without path.

Flags: Read / Write / Construct Only

Default value: NULL

### The `“sink”` property

      “sink”                     GsfOutput *

Where the archive is written.

Flags: Read / Write / Construct Only

### The `“zip64”` property

      “zip64”                    gint

Whether to use zip64 format, -1 meaning automatic.

Flags: Read / Write / Construct Only

Allowed values: [-1,1]

Default value: -1