ziyan_hms_customization.h
5.7 KB
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
/**
********************************************************************
* @file ziyan_hms_customization.h
* @brief This is the header file for "ziyan_hms_customization.c", defining the structure and
* (exported) function prototypes.
*
* @copyright (c) 2018 ZIYAN. All rights reserved.
*
* All information contained herein is, and remains, the property of ZIYAN.
* The intellectual and technical concepts contained herein are proprietary
* to ZIYAN and may be covered by U.S. and foreign patents, patents in process,
* and protected by trade secret or copyright law. Dissemination of this
* information, including but not limited to data and other proprietary
* material(s) incorporated within the information, in any form, is strictly
* prohibited without the express written consent of ZIYAN.
*
* If you receive this source code without ZIYAN’s authorization, you may not
* further disseminate the information, and you must immediately remove the
* source code and notify ZIYAN of its removal. ZIYAN reserves the right to pursue
* legal actions against you for any loss(es) or damage(s) caused by your
* failure to do so.
*
*********************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef ZIYAN_HMS_CUSTOMIZATION_H
#define ZIYAN_HMS_CUSTOMIZATION_H
/* Includes ------------------------------------------------------------------*/
#include "ziyan_typedef.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Exported constants --------------------------------------------------------*/
/* Exported types ------------------------------------------------------------*/
typedef enum {
ZIYAN_HMS_ERROR_LEVEL_NONE = 0,
ZIYAN_HMS_ERROR_LEVEL_HINT,
ZIYAN_HMS_ERROR_LEVEL_WARN,
ZIYAN_HMS_ERROR_LEVEL_CRITICAL,
ZIYAN_HMS_ERROR_LEVEL_FATAL,
} E_ZiyanHmsErrorLevel;
typedef struct {
char *fileName; /*!< The file name of the hms text config file */
uint32_t fileSize; /*!< The file size of the hms text config file, uint : byte */
const uint8_t *fileBinaryArray; /*!< The binary C array of the hms text config file */
} T_ZiyanHmsFileBinaryArray;
typedef struct {
uint16_t binaryArrayCount; /*!< Binary array count. */
T_ZiyanHmsFileBinaryArray *fileBinaryArrayList; /*!< Pointer to binary array list */
} T_ZiyanHmsBinaryArrayConfig;
/* Exported functions --------------------------------------------------------*/
/**
* @brief Initialise hms customization module, and user should call this function
* before using hms customization features.
* @return Execution result.
*/
T_ZiyanReturnCode ZiyanHmsCustomization_Init(void);
/**
* @brief DeInitialize hms manager module.
* @return Execution result.
*/
T_ZiyanReturnCode ZiyanHmsCustomization_DeInit(void);
/**
* @brief Inject custom hms error code to APP.
* @note: For the same hms error code, a single call is enough, no need to call repeatedly.
* @param errorCode: hms error code, value range: [0x1E020000 ~ 0x1E02FFFF].
* @param errorLevel: hms error level, see reference of E_ZiyanHmsErrorLevel.
* @return Execution result.
*/
T_ZiyanReturnCode ZiyanHmsCustomization_InjectHmsErrorCode(uint32_t errorCode, E_ZiyanHmsErrorLevel errorLevel);
/**
* @brief Eliminate custom hms error code to APP.
* @note: For the same hms error code, a single call is enough, no need to call repeatedly.
* @param errorCode: hms error code, value range: [0x1E020000 ~ 0x1E02FFFF].
* @return Execution result.
*/
T_ZiyanReturnCode ZiyanHmsCustomization_EliminateHmsErrorCode(uint32_t errorCode);
/**
* @brief Register default hms text configuration file by directory path.
* @param configDirPath: the hms text configuration by directory path.
* @return Execution result.
*/
T_ZiyanReturnCode ZiyanHmsCustomization_RegDefaultHmsTextConfigByDirPath(const char *configDirPath);
/**
* @brief Register hms text configuration file by directory path.
* @note Different hms text configurations for several language require the same hms config.
* @param appLanguage: mobile app language type.
* @param configDirPath: the hms text configuration by directory path.
* @return Execution result.
*/
T_ZiyanReturnCode ZiyanHmsCustomization_RegHmsTextConfigByDirPath(E_ZiyanMobileAppLanguage appLanguage,
const char *configDirPath);
/**
* @brief Register default hms text configuration config by binary array.
* @note In RTOS, most likely there is no file system. The hms text config file content can use C array express. Use this
* function and ZiyanHms_RegDefaultHmsTextConfigByBinaryArray set hms text configuration. When the language is not cover in
* your setting by ZiyanHms_RegHmsTextConfigByBinaryArray, the hms text configuration uses setting by this function.
* @param binaryArrayConfig: the binary array config for hms text configuration.
* @return Execution result.
*/
T_ZiyanReturnCode ZiyanHmsCustomization_RegDefaultHmsTextConfigByBinaryArray(const T_ZiyanHmsBinaryArrayConfig
*binaryArrayConfig);
/**
* @brief Register hms text config by binary array configuration.
* @note Different hms text configurations for several language require the same hms config.
* @param appLanguage: mobile app language type.
* @param binaryArrayConfig: the binary array config for hms text configuration.
* @return Execution result.
*/
T_ZiyanReturnCode ZiyanHmsCustomization_RegHmsTextConfigByBinaryArray(E_ZiyanMobileAppLanguage appLanguage,
const T_ZiyanHmsBinaryArrayConfig *binaryArrayConfig);
#ifdef __cplusplus
}
#endif
#endif // ZIYAN_HMS_CUSTOMIZATION_H
/************************ (C) COPYRIGHT ZIYAN Innovations *******END OF FILE******/