e-dbhash

e-dbhash — Simple DB-based hash table for strings

Types and Values

Description

An EDbHash is a simple hash table of strings backed by a Berkeley DB file for permanent storage.

Functions

EDbHashFunc ()

void
(*EDbHashFunc) (const gchar *key,
                gpointer user_data);

EDbHashFunc is deprecated and should not be used in newly-written code.

Callback function used in e_dbhash_foreach_key().

Parameters

key

a database key

 

user_data

user data passed to e_dbhash_foreach_key()

 

e_dbhash_new ()

EDbHash *
e_dbhash_new (const gchar *filename);

e_dbhash_new is deprecated and should not be used in newly-written code.

Creates a new EDbHash structure and opens the given Berkeley DB file, creating the DB file if necessary.

Parameters

filename

path to a Berkeley DB file

 

Returns

a new EDbHash


e_dbhash_add ()

void
e_dbhash_add (EDbHash *edbh,
              const gchar *key,
              const gchar *data);

e_dbhash_add is deprecated and should not be used in newly-written code.

Adds a database object for key .

Parameters

edbh

an EDbHash

 

key

a database key

 

data

a database object for key

 

e_dbhash_remove ()

void
e_dbhash_remove (EDbHash *edbh,
                 const gchar *key);

e_dbhash_remove is deprecated and should not be used in newly-written code.

Removes the database object corresponding to key .

Parameters

edbh

an EDbHash

 

key

a database key

 

e_dbhash_compare ()

EDbHashStatus
e_dbhash_compare (EDbHash *edbh,
                  const gchar *key,
                  const gchar *compare_data);

e_dbhash_compare is deprecated and should not be used in newly-written code.

Compares compare_data to the database object corresponding to key using an MD5 checksum. Returns E_DBHASH_STATUS_SAME if the checksums match, E_DBHASH_STATUS_DIFFERENT if the checksums differ, or E_DBHASH_STATUS_NOT_FOUND if key is not present in the database.

Parameters

edbh

an EDbHash

 

key

a database key

 

compare_data

data to compare against the database

 

Returns

a checksum comparison status


e_dbhash_foreach_key ()

void
e_dbhash_foreach_key (EDbHash *edbh,
                      EDbHashFunc func,
                      gpointer user_data);

e_dbhash_foreach_key is deprecated and should not be used in newly-written code.

Calls func for each database object.

Parameters

edbh

an EDbHash

 

func

a callback function

 

user_data

data to pass to func

 

e_dbhash_write ()

void
e_dbhash_write (EDbHash *edbh);

e_dbhash_write is deprecated and should not be used in newly-written code.

Flushes database changes to disk.

Parameters

edbh

an EDbHash

 

e_dbhash_destroy ()

void
e_dbhash_destroy (EDbHash *edbh);

e_dbhash_destroy is deprecated and should not be used in newly-written code.

Closes the database file and frees the EDbHash.

Parameters

edbh

an EDbHash

 

Types and Values

enum EDbHashStatus

EDbHashStatus is deprecated and should not be used in newly-written code.

Return codes for e_dbhash_compare().

Members

E_DBHASH_STATUS_SAME

The checksums match.

 

E_DBHASH_STATUS_DIFFERENT

The checksums differ.

 

E_DBHASH_STATUS_NOT_FOUND

The given key was not found.

 

struct EDbHash

struct EDbHash {
	EDbHashPrivate *priv;
};

EDbHash is deprecated and should not be used in newly-written code.

Contains only private data that should be read and manipulated using the functions below.

Members

EDbHashPrivate *priv;

private data

 

EDbHashPrivate

typedef struct _EDbHashPrivate EDbHashPrivate;

EDbHashPrivate is deprecated and should not be used in newly-written code.