Typedefs | |
typedef MDatabase | MDatabase |
Type of database. | |
Functions | |
MDatabase * | mdatabase_find (MSymbol tag0, MSymbol tag1, MSymbol tag2, MSymbol tag3) |
Look for a data in the database. | |
MPlist * | mdatabase_list (MSymbol tag0, MSymbol tag1, MSymbol tag2, MSymbol tag3) |
Return a data list of the m17n database. | |
MDatabase * | mdatabase_define (MSymbol tag0, MSymbol tag1, MSymbol tag2, MSymbol tag3, void *(*loader)(MSymbol *, void *), void *extra_info) |
Define a data of the m17n database. | |
void * | mdatabase_load (MDatabase *mdb) |
Load a data from the database. | |
MSymbol * | mdatabase_tag (MDatabase *mdb) |
Get tags of a data. | |
Variables | |
char * | mdatabase_dir |
Directory for application specific data. |
TAG0 specifies the type of data stored in the database as below.
Application programs first calls the mdatabase_find() function to get a pointer to an object of the type MDatabase. That object holds information about the specified data. When it is successfully returned, the mdatabase_load() function loads the data. The implementation of the structure MDatabase is concealed from application programs.
|
The type MDatabase is for a database object. Its internal structure is concealed from an application program. |
|
The mdatabase_find() function searches the m17n database for a data who has tags tag0 through tag3, and returns a pointer to the data. If such a data is not found, it returns |
|
The mdatabase_list() function searches the m17n database for data who have tags tag0 through tag3, and returns their list by a plist. The value Mnil in tagn means a wild card that matches any tag. Each element of the plist has key Mt and value a pointer to type MDatabase. |
|
The mdatabase_define() function defines a data that has tags tag0 through tag3 and additional information extra_info. loader is a pointer to a function that loads the data from the database. This function is called from the mdatabase_load() function with the two arguments tags and extra_info. Here, tags is the array of tag0 through tag3.
If loader is
|
|
The mdatabase_load() function loads a data specified in mdb and returns the contents. The type of contents depends on the type of the data. If the data is of the plist type, this function returns a pointer to plist. If the database is of the chartable type, it returns a chartable. The default value of the chartable is set according to the second tag of the data as below:
|
|
The mdatabase_tag() function returns an array of tags (symbols) that identify the data in mdb. The length of the array is four. |
|
If an application program wants to provide a data specific to the program or a data overriding what supplied by the m17n database, it must set this variable to a name of directory that contains the data files before it calls the macro M17N_INIT(). The directory may contain a file "mdb.dir" which contains a list of data definitions in the format described in mdbDir(5). The default value is NULL. |