Return a field descriptor.
MCO_RET mco_dict_field( /*IN*/ mco_metadict_header_t * metadict,
/*IN*/ unsigned short dict_no,
/*IN*/ unsigned short struct_no,
/*IN*/ unsigned short field_no,
/*OUT*/ mco_dict_field_info_t * field_info );
| metadict | The address of an initialized mco_metadict_header_t structure |
|
dict_no |
The number of the dictionary (must be between 0 and |
|
struct_no |
The structure/class number (must be between 0 to |
|
field_no |
The field number (must be between 0 to |
|
field_info |
The address of a |
This function returns a field descriptor referred to by
field_no.
| MCO_S_OK | The field descriptor was successfully returned |
| MCO_E_UDA_DICT_NOTFOUND | The dictionary is not registered |
| MCO_E_UDA_STRUCT_NOTFOUND | Invalid struct_no |
| MCO_E_UDA_FIELD_NOTFOUND | Invalid field_no |
Application snippet:
const char * dbname = "SimpleDb";
int main(int argc, char* argv[])
{
MCO_RET rc;
unsigned int dict_no = 0;
unsigned int count;
mco_metadict_header_t *header;
const char * name = "MyClass";
mco_dict_struct_info_t struct_info;
...
header = (mco_metadict_header_t *) malloc(size);
mco_metadict_init(header, size); /* initialize the metadict */
...
rc = mco_dict_struct_name(header, dict_no, name, &struct_info);
for (i = 0; i < struct_info.field_count; ++i)
{
mco_dict_field_info_t field_info;
/* get field descriptor */
rc = mco_dict_field(header, dict_no, struct_info.struct_no, i, &field_info);
printf("Field %d : %s\n", i, field_info.name);
}
...
}