# mco_calc_stat_collect

> Collect memory statistics for the registered classes.

### Prototype

        MCO_RET mco_calc_stat_collect(	/*IN*/ mco_calc_t * calc );

### Arguments

calc | A handle to the initialized calculator object

### Description

> This function collects memory statistics for the classes registered in the database calculator after the database has been populated by calling function `mco_calc_fill_db()`.

### Return Codes

MCO_S_OK | The class statistics were collected successfully
MCO_E_INVALID_HANDLE | An invalid handle was passed in `calc`

### Example

        Application snippet:

        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);
                ...
                rc = mco_calc_stat_collect(&calc);

                ...

                /* 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

### Files

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