<< 点击显示目录 >> 主页 exOS使用助手 > exOS Automation Help > Development > Programming > exOS Communication API reference (exos_api.h) > exos_datamodel_get_dataset() |
为附加数据集遍历数据模型
exos_dataset_handle_t *exos_datamodel_get_dataset(exos_datamodel_handle_t *datamodel, exos_dataset_handle_t *previous);
初始化数据集时, exos_dataset_init() 会同时调用 exos_dataset_handle_t 和 exos_datamodel_handle_t。这意味着一个数据集总是 "附着 "在一个数据模型上,或者可以说 "它属于一个数据模型"。在某些情况下,可能需要查询哪些数据集附着在数据模型上,这时就可以使用 exos_datamodel_get_dataset()。
这是一个迭代函数,当没有数据集时返回 NULL。迭代开始时,需要将前一个数据集设置为 NULL。
使用示例
exos_dataset_handle_t *ds = NULL; //start with the first dataset
while(NULL != (ds = exos_datamodel_get_dataset(&myartefact, ds)))
{
printf("dataset name: %s \n", ds->name);
}
• 要搜索数据集的数据模型(以指针形式给出)
• 上一个数据集句柄(以指针形式给出)--使用 NULL 获取第一个数据集
Iterate a datamodel for attached datasets
exos_dataset_handle_t *exos_datamodel_get_dataset(exos_datamodel_handle_t *datamodel, exos_dataset_handle_t *previous);
When initializing a dataset, the exos_dataset_init() is called with both an exos_dataset_handle_t and an exos_datamodel_handle_t. This means that a dataset is always "attached" to a datamodel, or one could say, "it belongs to a datamodel". In some situations it might be necessary to query which datasets are attached to the datamodel, which is where exos_datamodel_get_dataset() can be used.
It is an iterator function that returns NULL when there are no more datasets. You start the iteration by setting the previous dataset to NULL.
Usage example:
exos_dataset_handle_t *ds = NULL; //start with the first dataset
while(NULL != (ds = exos_datamodel_get_dataset(&myartefact, ds)))
{
printf("dataset name: %s \n", ds->name);
}
•datamodel The datamodel you want to search for datasets in (given as a pointer)
•previous The previous dataset handle (given as a pointer) - use NULL to obtain the first dataset