📄 icta_cfg.c
字号:
if (strcmp(name, "Command") == 0) pstServerDevice->type = IC_TYPE_COMMAND; else if (strcmp(name, "Discrete") == 0) pstServerDevice->type = IC_TYPE_SETPOINT_DISCRETE; else if (strcmp(name, "Real") == 0) pstServerDevice->type = IC_TYPE_SETPOINT_REAL; else cfg_set_config_err (); } else cfg_set_config_err (); }/************************************************************************//* cfgServerDeviceSBO *//* found 'SBO' keyword *//************************************************************************/static ST_VOID cfgServerDeviceSBO (ST_VOID) { if (pstServerDevice) pstServerDevice->sbo = icTrue; else cfg_set_config_err(); }/************************************************************************//* cfgServerDeviceEnd *//************************************************************************/static ST_VOID cfgServerDeviceEnd (ST_VOID) { if ( (pstServerDevice) && strlen(pstServerDevice->name) ) { list_add_last ((ST_VOID **)&pstCurrentServer->devicesList, pstServerDevice); pstServerDevice = NULL; } else if (pstServerDevice) { chk_free(pstServerDevice); pstServerDevice = NULL; } if (cfg_tbl_pop (1) != SD_SUCCESS) cfg_set_config_err (); }/************************************************************************//* cfgServerAcctBegin *//************************************************************************/static ST_VOID cfgServerAcctBegin (ST_VOID) { if (cfg_tbl_push (kwtblServerAcct) != SD_SUCCESS) cfg_set_config_err (); }/************************************************************************//* cfgServerAcctRef *//* found 'AcctRef' keyword, get the value *//************************************************************************/static ST_VOID cfgServerAcctRef (ST_VOID) {ST_INT16 sVal; /* when you get an acctref, assume a new account and allocate mem */ if ( (pstServerAcct) && (pstServerAcct->nRef >0) ) list_add_last ((ST_VOID **)&pstCurrentServer->accountList, pstServerAcct); else if (pstServerAcct) { chk_free(pstServerAcct); pstServerAcct = NULL; } pstServerAcct = chk_calloc(1, sizeof(ICTA_SIMPLE_ACCT)); memset(pstServerAcct, 0, sizeof(ICTA_SIMPLE_ACCT)); pstServerAcct->rows = 5; /* set a default */ if (cfg_get_short ((ST_INT16 *) &sVal) == SD_SUCCESS) pstServerAcct->nRef = (icInt) sVal; else cfg_set_config_err (); }/************************************************************************//* cfgServerAcctScope *//* found 'Scope' keyword, get the value *//************************************************************************/static ST_VOID cfgServerAcctScope (ST_VOID) {ST_CHAR *name = NULL; if (((name = cfg_get_string_ptr ()) != NULL) && pstServerAcct) { if (strcmp(name, "VMD") == 0) pstServerAcct->scope = IC_SCOPE_VMD; else if (strcmp(name, "DOM") == 0) pstServerAcct->scope = IC_SCOPE_DOMAIN; else cfg_set_config_err (); } else cfg_set_config_err (); }/************************************************************************//* cfgServerAcctType *//* found 'Type' keyword, get the value *//************************************************************************/static ST_VOID cfgServerAcctType (ST_VOID) {ST_CHAR *name = NULL;int typeConstant; if (((name = cfg_get_string_ptr ()) != NULL) && pstServerAcct) { typeConstant = findAcctType(name); if (typeConstant != -1) pstServerAcct->acctType = typeConstant; else cfg_set_config_err (); } else cfg_set_config_err (); }/************************************************************************//* cfgServerAcctValue *//* found 'ValueType' keyword, get the value *//************************************************************************/static ST_VOID cfgServerAcctValue (ST_VOID) {ST_CHAR *name = NULL; if (((name = cfg_get_string_ptr ()) != NULL) && pstServerAcct) { if (stricmp(name, "int") == 0) pstServerAcct->valueType = IC_INTEGER_ACCOUNT; else if(stricmp(name, "float") == 0) pstServerAcct->valueType = IC_FLOAT_ACCOUNT; else if(stricmp(name, "profile") == 0) pstServerAcct->valueType = IC_PROFILE_ACCOUNT; else cfg_set_config_err(); } else cfg_set_config_err(); }/************************************************************************//* cfgServerAcctRows *//* found 'Rows' keyword, get the value *//************************************************************************/static ST_VOID cfgServerAcctRows (ST_VOID) {ST_INT16 sVal; if (cfg_get_short ((ST_INT16 *) &sVal) == SD_SUCCESS) pstServerAcct->rows = (icInt) sVal; else cfg_set_config_err (); }/************************************************************************//* cfgServerAcctMatrix *//* found 'MatrixRef' keyword, get the value *//************************************************************************/static ST_VOID cfgServerAcctMatrix (ST_VOID) {ST_INT16 sVal; if (cfg_get_short ((ST_INT16 *) &sVal) == SD_SUCCESS) pstServerAcct->matrixRef = (icInt) sVal; else cfg_set_config_err (); }/************************************************************************//* cfgServerAcctEnd *//************************************************************************/static ST_VOID cfgServerAcctEnd (ST_VOID) { if ( (pstServerAcct) && (pstServerAcct->nRef > 0) ) { list_add_last ((ST_VOID **)&pstCurrentServer->accountList, pstServerAcct); pstServerAcct=NULL; } else if (pstServerAcct) { chk_free(pstServerAcct); pstServerAcct = NULL; } if (cfg_tbl_pop (1) != SD_SUCCESS) cfg_set_config_err (); }/************************************************************************//* cfgServerMatrixBegin *//************************************************************************/static ST_VOID cfgServerMatrixBegin (ST_VOID) { if (cfg_tbl_push (kwtblServerMatrix) != SD_SUCCESS) cfg_set_config_err (); }/************************************************************************//* cfgServerMatrixRef *//* found 'MatrixRef' keyword, get the value *//************************************************************************/static ST_VOID cfgServerMatrixRef (ST_VOID) {ST_INT16 sVal; /* when you get a Matrixref, assume a new account and allocate mem */ if ( (pstServerMatrix) && (pstServerMatrix->matrixRef >0) ) list_add_last ((ST_VOID **)&pstCurrentServer->matrixList, pstServerMatrix); else if (pstServerMatrix) { chk_free(pstServerMatrix); pstServerMatrix = NULL; } pstServerMatrix = chk_calloc(1, sizeof(ICTA_MATRIX_ACCT)); memset(pstServerMatrix, 0, sizeof(ICTA_MATRIX_ACCT)); if (cfg_get_short ((ST_INT16 *) &sVal) == SD_SUCCESS) pstServerMatrix->matrixRef = (icInt) sVal; else cfg_set_config_err (); }/************************************************************************//* cfgServerMatrixScope *//* found 'MatrixScope' keyword, get the value *//************************************************************************/static ST_VOID cfgServerMatrixScope (ST_VOID) {ST_CHAR *name = NULL; if (((name = cfg_get_string_ptr ()) != NULL) && pstServerMatrix) { if (strcmp(name, "VMD") == 0) pstServerMatrix->matrixScope = IC_SCOPE_VMD; else if (strcmp(name, "DOM") == 0) pstServerMatrix->matrixScope = IC_SCOPE_DOMAIN; else cfg_set_config_err (); } else cfg_set_config_err (); }/************************************************************************//* cfgServerMatrixEnd *//************************************************************************/static ST_VOID cfgServerMatrixEnd (ST_VOID) { if ( (pstServerMatrix) && (pstServerMatrix->matrixRef > 0) ) { list_add_last ((ST_VOID **)&pstCurrentServer->matrixList, pstServerMatrix); pstServerMatrix=NULL; } else if (pstServerMatrix) { chk_free(pstServerMatrix); pstServerMatrix = NULL; } if (cfg_tbl_pop (1) != SD_SUCCESS) cfg_set_config_err (); }/************************************************************************//* cfgRemoteServerEnd *//************************************************************************/static ST_VOID cfgRemoteServerEnd (ST_VOID) { if (cfg_tbl_pop (1) != SD_SUCCESS) cfg_set_config_err (); }/************************************************************************//* cfgRemoteClientBegin *//************************************************************************/static ST_VOID cfgRemoteClientBegin (ST_VOID) { if (cfg_tbl_push (kwtblClient) != SD_SUCCESS) cfg_set_config_err (); pstCurrentClient = chk_calloc(1, sizeof(ICTA_CLIENT_INFO)); memset(pstCurrentClient, 0, sizeof(ICTA_CLIENT_INFO)); pstCurrentRemote->bIsClient = icTrue; pstCurrentRemote->clientObj = pstCurrentClient; }/************************************************************************//* cfgClientVarsBegin *//************************************************************************/static ST_VOID cfgClientVarsBegin (ST_VOID) { if (cfg_tbl_push (kwtblClientVars) != SD_SUCCESS) cfg_set_config_err (); }/************************************************************************//* cfgClientVarName *//* found 'Name' keyword, get the value *//************************************************************************/static ST_VOID cfgClientVarName (ST_VOID) {ST_CHAR *name = NULL; /* when you get a name, assume a new variable and allocate mem */ if ( (pstClientVar) && strlen(pstClientVar->varName) ) list_add_last ((ST_VOID **)&pstCurrentClient->variableList, pstClientVar); else if (pstClientVar) { chk_free(pstClientVar); pstClientVar = NULL; } pstClientVar = chk_calloc(1, sizeof(ICTA_VAR_INFO)); memset(pstClientVar, 0, sizeof(ICTA_VAR_INFO)); if ((name = cfg_get_string_ptr ()) != NULL) { strcpy(pstClientVar->varName, name); } else cfg_set_config_err (); }/************************************************************************//* cfgClientVarScope *//* found 'Scope' keyword, get the value *//************************************************************************/static ST_VOID cfgClientVarScope (ST_VOID) {ST_CHAR *name = NULL; if (((name = cfg_get_string_ptr ()) != NULL) && pstClientVar) { if (strcmp(name, "VMD") == 0) pstClientVar->varScope = IC_SCOPE_VMD; else if (strcmp(name, "DOM") == 0) pstClientVar->varScope = IC_SCOPE_DOMAIN; else cfg_set_config_err (); } else cfg_set_config_err (); }/************************************************************************//* cfgClientVarType *//* found 'Type' keyword, get the value *//************************************************************************/static ST_VOID cfgClientVarType (ST_VOID) {ST_CHAR *name = NULL;int typeConstant;ICTA_TYPE *pstAType; if (((name = cfg_get_string_ptr ()) != NULL) && pstClientVar) { typeConstant = findStdType(name); if (typeConstant != -1) { pstClientVar->iccpType = typeConstant; pstClientVar->bUserType = icFalse; } else { pstAType = findUserType(name); if (pstAType) { pstClientVar->bUserType = icTrue; pstClientVar->pstType = pstAType; pstClientVar->iccpType = IC_TYPE_USER_DEFINED; } else cfg_set_config_err (); } } else cfg_set_config_err (); }/************************************************************************//* cfgClient
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -