mco_calc_reg_schema_classes

Register the classes enumerated in the database schema.

Prototype

 
    MCO_RET mco_calc_reg_schema_classes(	/*IN*/ mco_calc_t * calc,
                         /*IN*/ mco_calculator_h ch );
 

Arguments

calc A handle to a calculator object that was initialized by a call to mco_calc_init()

ch

A handle to a new calculator object. Normally, this handle is passed in by calling dbname_getCalculator()

Description

This function registers the classes enumerated in the database schema (and dictionary). It initializes the calculator with the dictionary's built-in information about number of objects of each database class are required. This information is stored separately from the database dictionary, so it needs to be made known to the calculator before the calling mco_calc_fill_db(). The calculator handle passed in calc must first be initialized by calling mco_calc_init() to link the database dictionary. An alternative method mco_calc_register_classes() can be used to explicitly register classes with the calculator.)

Return Codes

MCO_S_OK The calculator was successfully initialized
MCO_E_NOMEM Out of memory allocating classes

Example

 
    Application snippet:
        
     
    const char * dbname = "calc_db";
     
    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_reg_schema_classes(&calc, calc_db_get_calculator());
        
        }
        /* NOTE: calculator *must* be deinitialized before you disconnect from the database */
        mco_calc_deinit(&calc);
         
        mco_db_disconnect(calc.db);
    }
         

For further implementation details see SDK sample "samples/native/core/17-statistics/dbcalc".

Related Topics Link IconRelated Topics

Files

Header file:
mcodbcalc.h
Source file:
mcodbcalc.c
Library:
libmcodbcalc.a