1 
2 #include "base/modules/ml/include/HaasML.h"
3 #include "ulog/ulog.h"
4 #include "base/modules/core/include/HaasErrno.h"
5 #include "base/modules/ml/include/HaasMLCloud.h"
6 #include "base/modules/ml/include/HaasMLMnn.h"
7 
8 #define LOG_TAG "HAASML"
9 
10 extern "C" {
IHaasMLInstance(MLEngineType_t type)11     IHaasML* IHaasMLInstance(MLEngineType_t type)
12     {
13         LOGD(LOG_TAG, "entern type = %d;\n", type);
14         IHaasML* mIHaasML = NULL;
15         switch (type)
16         {
17             case ML_ENGINE_MNN:
18                 LOGD(LOG_TAG, "HaasMLMnn type = %d;\n", type);
19                 mIHaasML = new HaasMLMnn();
20                 break;
21             case ML_ENGINE_CLOUD:
22                 LOGD(LOG_TAG, "HaasMLCloud type = %d;\n", type);
23                 mIHaasML = new HaasMLCloud();
24                 break;
25             case ML_ENGINE_ODLA:
26                 LOGD(LOG_TAG, "HaasMLOlda type = %d;\n", type);
27                 //mIHaasML = new HaasMLOlda();
28                 mIHaasML = NULL;
29                 break;
30             default:
31                 LOGD(LOG_TAG, "illegal type = %d;\n", type);
32                 mIHaasML = NULL;
33         }
34         LOGD(LOG_TAG, "out type = %d;\n", type);
35         return mIHaasML;
36     }
37 }
38