summaryrefslogtreecommitdiff
path: root/drivers/staging/nmf-cm/cm/inc/cm_def.h
blob: dc7a1fdad66cd200a9ed48732cd32a1c99050b89 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*
 * Copyright (C) ST-Ericsson SA 2010. All rights reserved.
 * This code is ST-Ericsson proprietary and confidential.
 * Any use of the code for whatever purpose is subject to
 * specific written permission of ST-Ericsson SA.
 */
 
/*!
 * \brief Component Manager API.
 *
 * This file contains the Component Manager API for manipulating components.
 *
 */

#ifndef __INC_CM_DEF_H
#define __INC_CM_DEF_H

#include <cm/inc/cm_type.h>
#include <inc/nmf-def.h>

/*!
 * \brief Get the version of the NMF CM engine at runtime
 *
 * This method should be used to query the version number  of  the
 * NMF Component Manager engine at runtime. This is useful when using
 * to check if version of the engine linked with application correspond
 * to engine used for development. 
 *
 * Such code can be used to check compatibility: \code
    t_uint32 nmfversion;

    // Print NMF version
    CM_GetVersion(&nmfversion);
    LOG("NMF Version %d-%d-%d\n",
            VERSION_MAJOR(nmfversion),
            VERSION_MINOR(nmfversion),
            VERSION_PATCH(nmfversion));
    if(NMF_VERSION != nmfversion) {
        LOG("Error: Incompatible API version %d != %d\n", NMF_VERSION, nmfversion);
        EXIT();
    }
 * \endcode
 *
 * \param[out] version Internal hardcoded version (use \ref VERSION_MAJOR, \ref  VERSION_MINOR, \ref VERSION_PATCH  macros to decode it).
 *
 * \ingroup CM
 */
PUBLIC IMPORT_SHARED void CM_GetVersion(t_uint32 *version);

#endif /* __INC_CM_H */