/** @file nim_tools.h * @brief 工具类,提供了包括获取用户/应用目录,计算MD5,计算UUID,语音转文字等功能等 * @copyright (c) 2015-2017, NetEase Inc. All rights reserved * @author Harrison * @date 2015/2/1 */ #ifndef NIM_SDK_DLL_API_NIM_TOOLS_H_ #define NIM_SDK_DLL_API_NIM_TOOLS_H_ #include "nim_sdk_dll.h" #include "../export_headers/nim_tools_def.h" #ifdef __cplusplus extern"C" { #endif /** @fn const char * nim_tool_get_user_appdata_dir(const char *app_account) * 获取SDK里app account对应的app data目录(各个帐号拥有独立的目录,其父目录相同),需要调用nim_free_buf(void *data)释放内存 * @param[in] app_account APP account。如果传入空字符串,则将获取到各个帐号目录的父目录(谨慎删除!) * @return const char * 返回的目录路径 */ NIM_SDK_DLL_API const char * nim_tool_get_user_appdata_dir(const char *app_account); /** @fn const char * nim_tool_get_user_specific_appdata_dir(const char *app_account, NIMAppDataType appdata_type) * 获取SDK里app account对应的具体类型的app data目录(如图片消息文件存放目录,语音消息文件存放目录等),需要调用nim_free_buf(void *data)释放内存 * @param[in] app_account APP account。如果传入空字符串,则返回结果为空 * @param[in] appdata_type 具体类型的app data。见NIMAppDataType定义 * @return const char * 返回的目录路径(目录可能未生成,需要app自行判断是否已生成) */ NIM_SDK_DLL_API const char * nim_tool_get_user_specific_appdata_dir(const char *app_account,enum NIMAppDataType appdata_type); /** @fn const char * nim_tool_get_local_appdata_dir() * 获取本地存储路径,需要调用nim_free_buf(void *data)释放内存 * @return const char * 返回的目录路径 */ NIM_SDK_DLL_API const char * nim_tool_get_local_appdata_dir(); /** @fn const char * nim_tool_get_cur_module_dir() * 获取安装目录(SDK DLL所在的当前目录),需要调用nim_free_buf(void *data)释放内存 * @return const char * 返回的目录路径 */ NIM_SDK_DLL_API const char * nim_tool_get_cur_module_dir(); /** @fn const char * nim_tool_get_md5(const char *input) * 计算md5,需要调用nim_free_buf(void *data)释放内存 * @param[in] input 需要计算md5的内容 * @return const char * 返回的md5 */ NIM_SDK_DLL_API const char * nim_tool_get_md5(const char *input); /** @fn const char * nim_tool_get_file_md5(const char *file_path) * 计算文件的md5,需要调用nim_free_buf(void *data)释放内存 * @param[in] file_path 文件完整路径,UTF-8 * @return const char * 返回的md5 */ NIM_SDK_DLL_API const char * nim_tool_get_file_md5(const char *file_path); /** @fn const char * nim_tool_get_uuid() * 生成UUID,需要调用nim_free_buf(void *data)释放内存 * @return const char * 返回的UUID */ NIM_SDK_DLL_API const char * nim_tool_get_uuid(); /** @fn void nim_tool_get_audio_text_async(const char *json_audio_info, const char *json_extension, nim_tool_get_audio_text_cb_func cb, const void *user_data) * 语音转文字 * @param[in] json_audio_info 语音信息 * @param[in] json_extension json扩展参数(备用,目前不需要) * @param[in] cb 语音转文字回调 * @param[in] user_data APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理! * @return void 无返回值 * @note 错误码 200:成功 * 403:没有权限 * 414:参数错误 * 500:未知错误 * 6101:语音转码解析失败 * 6102:语音时长过长(超过60s * 6103:服务不可用 * 6104:audioUrl不合法 */ NIM_SDK_DLL_API void nim_tool_get_audio_text_async(const char *json_audio_info, const char *json_extension, nim_tool_get_audio_text_cb_func cb, const void *user_data); #ifdef __cplusplus }; #endif //__cplusplus #endif //NIM_SDK_DLL_API_NIM_TOOLS_H_