《Digitalset管理接口》的主要内容包括:
▪pt3_query_digitalset_state_name
▪pt3_query_digitalset_all_state_infos
digital set |
|
//*Digitalset Function
#include "hdKingAPI.h" #include "error_code.h" #include "data_types.h" #include "hd3Struct.h" #include <stdio.h> #include <string.h>
int32 main() { int32 nRet = RD_SUCCESS; HD3Connection conn; int8 nStateNum=7; const char* szDsName = "color";
HD3HANDLE hIter = NULL; int32 nStateValues[7] = {1,2,3,4,5,6,7};
//connect strcpy(conn.szAddress, "127.0.0.1"); conn.nPort = 5673; conn.nTimeout = 3; nRet = nt3_connect(&conn); if (nRet != RD_SUCCESS) { printf("connect to server failed, error code[%d]!\n", nRet); return -1; } printf("connect to server successful!\n");
//login nRet = sc3_login("admin", "admin"); if (nRet != RD_SUCCESS) { printf("login failed, error code[%d]!\n", nRet); return -1; } printf("login successful!\n");
//add digitalset HD3DigitalSet hd3DigitalSet; memset(&hd3DigitalSet, 0 , sizeof(hd3DigitalSet)); strcpy(hd3DigitalSet.szName, szDsName); nRet = pt3_add_digitalset(&hd3DigitalSet); if (nRet != RD_SUCCESS) { printf("add digitalset failed, error code[%d]!\n", nRet); nt3_disconnect(); return -1; } printf("add digitalset[name:%s] successful!\n", szDsName);
//modify digitalset state name HD3DsStateInfo* pStateArray = new HD3DsStateInfo[nStateNum]; for (int i=0; i<nStateNum; i++) { pStateArray[i].nStateValue = i; } strcpy(pStateArray[0].szStateName, "red"); strcpy(pStateArray[1].szStateName, "orange"); strcpy(pStateArray[2].szStateName, "yellow"); strcpy(pStateArray[3].szStateName, "green"); strcpy(pStateArray[4].szStateName, "blue"); strcpy(pStateArray[5].szStateName, "indigo"); strcpy(pStateArray[6].szStateName, "violet"); nRet = pt3_modify_digitalset(&hd3DigitalSet, nStateNum, pStateArray); if (nRet != RD_SUCCESS) { printf("modify digitalset failed, error code[%d]!\n", nRet); delete[] pStateArray; nt3_disconnect(); return -1; } delete[] pStateArray; printf("modify digitalset successful!\n");
//get digital set state name by state id HD3HANDLE hDsInfoIter = NULL; HD3DsStateInfo stateInfo; memset(&stateInfo, 0x00, sizeof(stateInfo)); nRet = pt3_query_digitalset_all_state_infos(&hd3DigitalSet, &hDsInfoIter); if (nRet != RD_SUCCESS) { printf("pt_query_digitalset_state_infos successful!\n"); }
while(nRet == RD_SUCCESS) { nRet = ut3_get_item_step(hDsInfoIter, &stateInfo); if(nRet != RD_SUCCESS) { break; } printf("DsInfo:%d,%d,%s\n", stateInfo.nStateID, stateInfo.nStateValue, stateInfo.szStateName); } ut3_free_handle(hDsInfoIter);
//query digitalset names nRet = pt3_query_all_digitalsets(&hIter); if (nRet != RD_SUCCESS) { printf("query digitalset names failed, error code[%d]!\n", nRet); nt3_disconnect(); return -1; } HD3DigitalSet ds; memset(&ds, 0, sizeof(ds)); while (true) { nRet = ut3_get_item_step(hIter, &ds); if (RD_SUCCESS == nRet) { printf("query digitalset name [%s] successful !\n", ds.szName); } else if (EC_HD_API_QUERY_END == nRet) { printf("query digitalset names complete!\n"); break; } else { printf("query digitalset name failed, error code [%d]!\n", nRet); break; } } ut3_free_handle(hIter);
//query digitalset state name nRet = pt3_query_digitalset_state_name(szDsName, 1, stateInfo.szStateName); if (nRet != RD_SUCCESS) { printf("query digitalset state name failed, error code[%d]!\n", nRet); nt3_disconnect(); return -1; } printf("query digitalset state name[%s] by id [%d] sccessful!\n", stateInfo.szStateName, 1);
//delete digitalset nRet = pt3_delete_digitalset(szDsName); if (nRet != RD_SUCCESS) { printf("delete digitalset[name: %s] failed, error code[%d]!\n", szDsName, nRet); nt3_disconnect(); return -1; } printf("delete digitalset[name: %s] sccessful!\n", szDsName);
//disconnect nt3_disconnect(); return 0; }
//*/ |