Scroll to navigation

RULEXDB_SUBSCRIBE_ITEM(3) Library Functions Manual RULEXDB_SUBSCRIBE_ITEM(3)

NAME

rulexdb_subscribe_item - put new dictionary item into the rulex database

SYNOPSIS

#include <rulexdb.h>

int rulexdb_subscribe_item(RULEXDB *rulexdb, const char *key, const char *value, int item_type, int overwrite);

DESCRIPTION

The rulexdb_subscribe_item() function inserts new item into one of the dictionary datasets in the database referenced by rulexdb argument.

The argument key points to a text string containing the original word.

The argument value points to the corresponding pronunciation string.

The argument item_type specifies target dataset. It may accept one of the following values:

The item represents a lexical base, therefore should be inserted into the Implicit dictionary.
Explicit item that should be inserted into the Explicit dictionary.
Target dictionary should be guessed according to specified key: if it represents any lexical base, then Implicit dictionary will be chosen, otherwise the Explicit dictionary will be used. If key word is recognized as a lexical base, but the record for this key already exist in the Implicit dictionary, then Explicit dictionary will be tried instead.

The argument overwrite If true (non-zero) the new item will replace already existing one with the same key if any. Otherwise the new item will not be stored.

RETURN VALUE

The rulexdb_subscribe_item() function returns RULEXDB_SUCCESS which is zero when specified item was successfully subscribed, positive value RULEXDB_SPECIAL when specified key already exists in the dictionary, or negative error code otherwise.

ERRORS

Referenced database has not been opened, internal data structures are corrupted or some other general failure has occurred.
Invalid key specified.
Invalid pronunciation string specified.
The argument rulexdb or item_type has an invalid value.
The database is not opened for updating.

SEE ALSO

rulexdb_classify(3), rulexdb_close(3), rulexdb_dataset_name(3), rulexdb_discard_dictionary(3), rulexdb_discard_ruleset(3), rulexdb_fetch_rule(3), rulexdb_lexbase(3), rulexdb_load_ruleset(3), rulexdb_open(3), rulexdb_remove_item(3), rulexdb_remove_rule(3), rulexdb_remove_this_item(3), rulexdb_retrieve_item(3), rulexdb_search(3), rulexdb_seq(3), rulexdb_subscribe_rule(3)

AUTHOR

Igor B. Poretsky <poretsky@mlbox.ru>.

February 19, 2012