hash

hash

Functions

Types and Values

Description

Functions

librdf_new_hash ()

librdf_hash *
librdf_new_hash (librdf_world *world,
                 const char *name);

Constructor - create a new librdf_hash object.

Parameters

world

redland world object

 

name

factory name

 

Returns

a new librdf_hash object or NULL on failure


librdf_new_hash_from_string ()

librdf_hash *
librdf_new_hash_from_string (librdf_world *world,
                             const char *name,
                             const char *string);

Constructor - create a new librdf_hash object from a string.

See librdf_hash_from_string for the string format.

Parameters

world

redland world object

 

name

hash name

 

string

hash encoded as a string

 

Returns

a new librdf_hash object or NULL on failure


librdf_new_hash_from_array_of_strings ()

librdf_hash *
librdf_new_hash_from_array_of_strings (librdf_world *world,
                                       const char *name,
                                       const char **array);

Constructor - create a new librdf_hash object from an array of strings.

Parameters

world

redland world object

 

name

hash name

 

array

address of the start of the array of char* pointers

 

Returns

a new librdf_hash object or NULL on failure


librdf_new_hash_from_hash ()

librdf_hash *
librdf_new_hash_from_hash (librdf_hash *old_hash);

Copy Constructor - create a new librdf_hash object from an existing one.

Parameters

old_hash

the hash to use to construct the hash

 

Returns

a new librdf_hash object or NULL on failure


librdf_free_hash ()

void
librdf_free_hash (librdf_hash *hash);

Destructor - destroy a librdf_hash object.

Parameters

hash

hash object

 

librdf_hash_get ()

char *
librdf_hash_get (librdf_hash *hash,
                 const char *key);

Retrieve one value from hash for a given key as string.

The value returned is from newly allocated memory which the caller must free.

Parameters

hash

hash object

 

key

pointer to key

 

Returns

the value or NULL on failure


librdf_hash_get_as_boolean ()

int
librdf_hash_get_as_boolean (librdf_hash *hash,
                            const char *key);

Lookup a hash key and decode value as a boolean.

False values: "no", "false" True values: "yes", "true"

Parameters

hash

librdf_hash object

 

key

key string to look up

 

Returns

>0 (for true), 0 (for false) or <0 (for key not found or not known boolean value)


librdf_hash_get_as_long ()

long
librdf_hash_get_as_long (librdf_hash *hash,
                         const char *key);

Lookup a hash key and decode value as a long.

Parameters

hash

librdf_hash object

 

key

key string to look up

 

Returns

>0 (for success), <0 (for key not found or not known boolean value)


librdf_hash_get_del ()

char *
librdf_hash_get_del (librdf_hash *hash,
                     const char *key);

Retrieve one value from hash for a given key as string and remove all values with that key.

The value returned is from newly allocated memory which the caller must free.

Parameters

hash

hash object

 

key

pointer to key

 

Returns

the value or NULL on failure


librdf_hash_put_strings ()

int
librdf_hash_put_strings (librdf_hash *hash,
                         const char *key,
                         const char *value);

Insert key/value pairs into the hash as strings.

The key and values are copied into the hash, no sharing i s done.

Parameters

hash

hash object

 

key

key

 

value

value

 

Returns

non 0 on failure


librdf_hash_print ()

void
librdf_hash_print (librdf_hash *hash,
                   FILE *fh);

Pretty print the hash to a file descriptor.

Parameters

hash

the hash

 

fh

file handle

 

librdf_hash_print_keys ()

void
librdf_hash_print_keys (librdf_hash *hash,
                        FILE *fh);

Pretty print the keys to a file descriptor.

Parameters

hash

the hash

 

fh

file handle

 

librdf_hash_print_values ()

void
librdf_hash_print_values (librdf_hash *hash,
                          const char *key_string,
                          FILE *fh);

Pretty print the values of one key to a file descriptor.

Parameters

hash

the hash

 

key_string

the key as a string

 

fh

file handle

 

librdf_hash_interpret_template ()

unsigned char *
librdf_hash_interpret_template (const unsigned char *template_string,
                                librdf_hash *dictionary,
                                const unsigned char *prefix,
                                const unsigned char *suffix);

Interpret keys in a template string to their value in a dictionary.

Can be used to do variable substitution for a string where the syntax that marks the variable is defined by the prefix and suffix strings, and the variables are stored in the dictionary hash table.

Parameters

template_string

template string to interprate

 

dictionary

dictionary of key/values to substitute

 

prefix

prefix to mark a key in the template

 

suffix

suffix to mark a key in the template

 

Returns

Newly allocated string, or NULL on failure


librdf_hash_from_string ()

int
librdf_hash_from_string (librdf_hash *hash,
                         const char *string);

Initialise a hash from a string.

The string format is something like: key1='value1',key2='value2', key3='\'quoted value\''

The 's are required and whitespace can appear around the = and ,s

Parameters

hash

hash object

 

string

hash encoded as a string

 

Returns

non 0 on failure


librdf_hash_to_string ()

char *
librdf_hash_to_string (librdf_hash *hash,
                       const char *filter[]);

Format the hash as a string, suitable for parsing by librdf_hash_from_string.

Note: this method allocates a new string since this is a _to_ method and the caller must call librdf_free_memory() to free the resulting memory.

Parameters

hash

librdf_hash object

 

filter

NULL terminated list of keys to ignore

 

Returns

string representation of the hash or NULL on failure

Types and Values

librdf_hash

typedef struct librdf_hash_s librdf_hash;

Redland hash class.


librdf_hash_cursor

typedef struct librdf_hash_cursor_s librdf_hash_cursor;

Redland hash cursor class.