mco_calc_fill_db
用已注册类的对象填充数据库。
此函数使用在 calc
中传入的计算器所注册的类的对象填充数据库。
MCO_RET mco_calc_fill_db(
/*IN*/ mco_calc_t * calc
);
参数
calc
mco_calc_t
初始化的计算器对象的句柄。
返回
MCO_S_OK
在模式计算器类中定义的对象已成功实例化。
MCO_E_NOMEM
分配类时内存不足。
MCO_E_TRANSACT
在计算器处理期间,事务处于错误状态。
示例
/* 应用程序代码片段 */
const char * dbname = "calc_db";
static mco_cc_t my_classes[] =
{
MCO_CALC_DEFINE_CLASS("class1", 10000),
MCO_CALC_DEFINE_CLASS("class2", 20000),
MCO_CALC_CLASSES_END,
};
int main(int argc, char* argv[])
{
MCO_RET rc;
mco_device_t dev;
mco_calc_t calc;
mco_db_params_t db_params;
mco_runtime_start();
...
mco_calc_init(&calc, calc_db_get_dictionary());
...
rc = mco_db_open_dev( dbname, simple_get_dictionary(), &dev, 1, &db_params );
if ( MCO_S_OK != rc )
{
rc = mco_db_connect( dbname, &calc.db );
...
rc = mco_calc_class_add(&calc, my_classes[0]);
rc = mco_calc_class_add(&calc, my_classes[1]);
...
rc = mco_calc_fill_db(&calc);
...
/* NOTE: calculator *must* be deinitialized before you disconnect from the database */
mco_calc_deinit(&calc);
mco_db_disconnect(calc.db);
}
}
有关实现细节,请参阅SDK示例 samples/native/core/17-statistics/dbcalc。
文件
- 头文件:
mcodbcalc.h
- 源文件:
mcodbcalc.c
- 库:
libmcodbcalc.a