![]() |
Diffusion C API 6.11.5
|
DIFFUSION_RECORDV2_RECORD_MODEL
data model.
More...
Typedefs | |
typedef struct DIFFUSION_RECORDV2_RECORD_MODEL_T | DIFFUSION_RECORDV2_RECORD_MODEL_T |
Opaque recordv2 record model data type. | |
Functions | |
bool | diffusion_recordv2_record_model_as_value (const DIFFUSION_RECORDV2_RECORD_MODEL_T *record_model, DIFFUSION_VALUE_T **value, DIFFUSION_API_ERROR *error) |
Creates an immutable DIFFUSION_VALUE_T generated from the model. | |
bool | diffusion_recordv2_record_model_field_count (const DIFFUSION_RECORDV2_RECORD_MODEL_T *record_model, const char *record_name, int record_index, const char *field_name, int *field_count, DIFFUSION_API_ERROR *error) |
Returns the actual number of occurrences of a named field within a specified record occurrences. | |
bool | diffusion_recordv2_record_model_get_field_value_with_key (const DIFFUSION_RECORDV2_RECORD_MODEL_T *record_model, const char *key, char **field_value, DIFFUSION_API_ERROR *error) |
Get a field value. | |
bool | diffusion_recordv2_record_model_get_field_value (const DIFFUSION_RECORDV2_RECORD_MODEL_T *record_model, const char *record_name, int record_index, const char *field_name, int field_index, char **field_value, DIFFUSION_API_ERROR *error) |
Get a field value. | |
bool | diffusion_recordv2_record_model_record_count (const DIFFUSION_RECORDV2_RECORD_MODEL_T *record_model, const char *record_name, int *record_count, DIFFUSION_API_ERROR *error) |
Returns the actual number of occurrences of a named record. | |
void | diffusion_recordv2_record_model_free (DIFFUSION_RECORDV2_RECORD_MODEL_T *record_model) |
Free a recordv2 record model. | |
DIFFUSION_RECORDV2_RECORD_MODEL
data model.
A read only model can be created from any RecordV2 DIFFUSION_VALUE_T
object using the diffusion_recordv2_as_model
function. The model then provides direct access to the fields within the data. Fields may be accessed either by explicitly specifying the record and field occurrence or by specifying a key of the form:
recordName(recordIndex).fieldName(fieldIndex)
bool diffusion_recordv2_record_model_as_value | ( | const DIFFUSION_RECORDV2_RECORD_MODEL_T * | record_model, |
DIFFUSION_VALUE_T ** | value, | ||
DIFFUSION_API_ERROR * | error | ||
) |
Creates an immutable DIFFUSION_VALUE_T
generated from the model.
record_model | the model to generate the value from |
value | pointer to a pointer which will have its value set to the DIFFUSION_VALUE_T |
error | populated if an error occurs. Can be NULL. |
bool diffusion_recordv2_record_model_field_count | ( | const DIFFUSION_RECORDV2_RECORD_MODEL_T * | record_model, |
const char * | record_name, | ||
int | record_index, | ||
const char * | field_name, | ||
int * | field_count, | ||
DIFFUSION_API_ERROR * | error | ||
) |
Returns the actual number of occurrences of a named field within a specified record occurrences.
For all but variable fields this simply returns the schema defined number of occurrences of the field.
record_model | the model to retrieve the field count from |
record_name | the record's name |
record_index | the record index |
field_name | the field name |
field_count | pointer to a variable which will have its value set to the field count |
error | populated if an error occurs. Can be NULL. |
void diffusion_recordv2_record_model_free | ( | DIFFUSION_RECORDV2_RECORD_MODEL_T * | record_model | ) |
Free a recordv2 record model.
record_model | record model to be freed. |
bool diffusion_recordv2_record_model_get_field_value | ( | const DIFFUSION_RECORDV2_RECORD_MODEL_T * | record_model, |
const char * | record_name, | ||
int | record_index, | ||
const char * | field_name, | ||
int | field_index, | ||
char ** | field_value, | ||
DIFFUSION_API_ERROR * | error | ||
) |
Get a field value.
record_model | the record model |
record_name | the record name |
record_index | the record's index |
field_name | the field name |
field_index | the field's index |
field_value | pointer to a variable which will have its value set to the field value. Must be freed after use. |
error | populated if an error occurs. Can be NULL. |
bool diffusion_recordv2_record_model_get_field_value_with_key | ( | const DIFFUSION_RECORDV2_RECORD_MODEL_T * | record_model, |
const char * | key, | ||
char ** | field_value, | ||
DIFFUSION_API_ERROR * | error | ||
) |
Get a field value.
This allows an item to be addressed using a key of the form recordName(recordIndex).fieldName(fieldIndex). Indexes may be omitted in which case 0 is assumed. The record part may also be omitted in which case the first occurrence of the first record is assumed.
record_model | the record model to retrieve the field value from |
key | |
field_value | pointer to the field_value variable which will have its value set to the field value. |
error | populated if an error occurs. Can be NULL. |
bool diffusion_recordv2_record_model_record_count | ( | const DIFFUSION_RECORDV2_RECORD_MODEL_T * | record_model, |
const char * | record_name, | ||
int * | record_count, | ||
DIFFUSION_API_ERROR * | error | ||
) |
Returns the actual number of occurrences of a named record.
If the record is not variable, this is the same as the defined number of occurrences in the schema.
record_model | the record model |
record_name | the record name |
record_count | pointer to a variable which will have its value set to the record count. |
error | populated if an error occurs. Can be NULL. |