### Class

# Camel BlockFile

#### Description

    class Camel.BlockFile : GObject.Object
    {
      CamelBlockFilePrivate* priv
    }

No description available.

#### Hierarchy

#### Ancestors

- GObject

#### Constructors

###### camel_block_file_new

Allocate a new block file, stored at `path`. `version` contains an 8 character version string which must match the head of the file, or the file will be intitialised.

#### Instance methods

###### camel_block_file_attach_block

Reattach a block that has been detached.

###### camel_block_file_delete

Deletes existing block file.

###### camel_block_file_detach_block

Detatch a block from the block file’s cache. The block should be unref’d or attached when finished with. The block file will perform no writes of this block or flushing of it if the cache fills.

###### camel_block_file_free_block

No description available.

###### camel_block_file_get_block

Retreive a block `id`.

###### camel_block_file_get_cache_limit

No description available.

since: 3.24

###### camel_block_file_get_root

No description available.

since: 3.24

###### camel_block_file_get_root_block

No description available.

since: 3.24

###### camel_block_file_new_block

Allocate a new block, return a pointer to it. Old blocks may be flushed to disk during this call.

###### camel_block_file_rename

Renames existing block file to a new `path`.

###### camel_block_file_set_cache_limit

Sets a new block cache limit for `bs`.

since: 3.24

###### camel_block_file_sync

Sync all dirty blocks to disk, including the root block.

###### camel_block_file_sync_block

Flush a block to disk immediately. The block will only be flushed to disk if it is marked as dirty (touched).

###### camel_block_file_touch_block

Mark a block as dirty. The block will be written to disk if it ever expires from the cache.

###### camel_block_file_unref_block

Mark a block as unused. If a block is used it will not be written to disk, or flushed from memory.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct CamelBlockFileClass {
      GObjectClass parent_class;
      gint (* validate_root) (
        CamelBlockFile* bs
      );
      gint (* init_root) (
        CamelBlockFile* bs
      );
      gpointer reserved;

    }

No description available.

###### Class members

`parent_class: GObjectClass`

  No description available.

`validate_root: gint (* validate_root) ( CamelBlockFile* bs )`

  No description available.

`init_root: gint (* init_root) ( CamelBlockFile* bs )`

  No description available.

`reserved: gpointer`

  No description available.

#### Virtual methods

###### Camel.BlockFileClass.init_root

No description available.

###### Camel.BlockFileClass.validate_root

No description available.