|
|
/****************************************************************************/
|
|
|
/* Copyright (c) 2007,许继集团有限公司 */
|
|
|
/* All rights reserved. */
|
|
|
/* */
|
|
|
/* 模块描述: */
|
|
|
/** 字符串与对象值转换功能
|
|
|
* @file ai_valstr.h */
|
|
|
/* */
|
|
|
/* 日期 作者 注释 */
|
|
|
/* 2007/08/07 ZYZ 创建文件 */
|
|
|
/****************************************************************************/
|
|
|
|
|
|
#ifndef AI_VALSTR_INCLUDE
|
|
|
#define AI_VALSTR_INCLUDE
|
|
|
|
|
|
#include "glbtypes.h"
|
|
|
#include "ai_def.h"
|
|
|
#include "mvl_defs.h"
|
|
|
#include "ai_objid.h"
|
|
|
|
|
|
#define MAX_DAT_VALUE_STR_LEN 512
|
|
|
#define MAX_TYPE_STR_LEN 20
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
extern "C" {
|
|
|
#endif
|
|
|
|
|
|
/**
|
|
|
* 由基本类型数据转换为字符串
|
|
|
* @param type 对象数据类型
|
|
|
* @param val 对象数据指针
|
|
|
* @param str 字符串指针,输出
|
|
|
* @retval SD_SUCCESS 成功
|
|
|
* @retval SD_FAILURE 失败
|
|
|
*/
|
|
|
ST_RET ai_prim_value_to_str(AI_VAL_TYPE type, ST_VOID *val, ST_CHAR *str);
|
|
|
|
|
|
/**
|
|
|
* 由字符串转换为基本类型数据值
|
|
|
* @param type 对象数据类型
|
|
|
* @param str 字符串指针
|
|
|
* @param val 对象数据指针,输出
|
|
|
* @retval SD_SUCCESS 成功
|
|
|
* @retval SD_FAILURE 失败
|
|
|
*/
|
|
|
ST_RET ai_prim_str_to_value(AI_VAL_TYPE type, ST_CHAR *str, ST_VOID *val);
|
|
|
|
|
|
/**
|
|
|
* 打印obj_id对应的对象的名称及值,支持ld,ln,do,da,基本类型
|
|
|
* @param ied 服务器对象空间
|
|
|
* @param obj_id 对象ID
|
|
|
* @retval ST_VOID
|
|
|
*/
|
|
|
ST_VOID ai_log_obj_value(AI_IED_CTRL *ied, AI_OBJ_ID obj_id);
|
|
|
|
|
|
/**
|
|
|
* 由基本类型标示转化为类型字符串
|
|
|
* @param type 对象数据类型
|
|
|
* @param str 字符串指针,输出
|
|
|
* @retval SD_SUCCESS 成功
|
|
|
* @retval SD_FAILURE 失败
|
|
|
* @author guoqiangm@xjgc.com
|
|
|
*/
|
|
|
ST_RET ai_type_to_str(AI_VAL_TYPE type, ST_CHAR *str);
|
|
|
|
|
|
/**
|
|
|
* 由基本类型字符串转化为类型标示
|
|
|
* @param str 数据类型字符串指针
|
|
|
* @retval 返回-1表示出错,否则返回基本类型标示
|
|
|
* @author guoqiangm@xjgc.com
|
|
|
*/
|
|
|
AI_VAL_TYPE ai_str_to_type(ST_CHAR *str);
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 用新子串newstr替换源字符串src中的前len个字符内所包含的oldstr子串
|
|
|
* @param const char* src 源字符串,被替换的字符串
|
|
|
* @param const char* oldstr 旧的子串,将被替换的子串
|
|
|
* @param const char* newstr 新的子串
|
|
|
* @param int len 将要被替换的前len个字符
|
|
|
*
|
|
|
* @retval char* dest 返回新串的地址
|
|
|
*
|
|
|
*/
|
|
|
char *strreplace(char *src, const char *oldstr, const char *newstr, int len);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
#endif // AI_VALSTR_INCLUDE
|