普通点管理接口

Navigation:  C++ >

普通点管理接口

Previous pageReturn to chapter overviewNext page

普通点管理主要包含普通点的增删改查。

 

pt3_add_tag

pt3_add_tags

pt3_modify_tag_prop

pt3_modify_tags_prop

pt3_query_tag_prop

pt3_query_tag_type

pt3_query_tags_cond

pt3_query_specify_page_tags_cond

 

 

pt tag

 

//*Normal Tag Function

 

#include "hdKingAPI.h"

#include "error_code.h"

#include "data_types.h"

#include "hd3Struct.h"

#include <stdio.h>

#include <string.h>

 

int main()

{

 int32 nRet = RD_SUCCESS;

 HD3Connection conn;

 HD3PtTagProp tagSave;

 HD3PtTagProp tagQuery;

 const char* szTagName_1 = "szTagName_1";

 const char* szTagName_2 = "szTagName_2";

 HD3FilterItemSet queryItemset;

 HD3FilterItem filterItem[2];

 int64 nTagClassMask = 0;

 

 HD3PtTagProp HD3PtTagProps[10];

 int32 nTotalTagNum = 10;

 int32 nTagIDs[10];

 int32 nErrCode[10];

 HD3Mask mask;

 uint32 nPtTagID=0;

 HD3HANDLE hIter = NULL;

 int32 nTagNum = 0;

 int32 i = 0;

 

 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;

 }

 

 //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 two tag

 strcpy(tagSave.szTagName, szTagName_1);

 tagSave.nTagType = HD3_TAG_TYPE_INT32;

 mask.nCommMask = HD3M_COMM_PROP_TAG_NAME | HD3M_COMM_PROP_TAG_TYPE;

 mask.nExtMask = 0;        

 nRet = pt3_add_tag(&tagSave, &mask, "", &nPtTagID);

 if (nRet != RD_SUCCESS)

 {

         printf("add tags[%s] failed, error code [%d]!\n", tagSave.szTagName, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("add tags[%s] successful!\n", tagSave.szTagName);

 

 strcpy(tagSave.szTagName, szTagName_2);

 tagSave.nTagType = HD3_TAG_TYPE_STRING;

 nRet = pt3_add_tag(&tagSave, &mask, "", &nPtTagID);

 if (nRet != RD_SUCCESS)

 {

         printf("add tags[%s] failed, error code [%d]!\n", tagSave.szTagName, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("add tags[%s] successful!\n", tagSave.szTagName);

 

 // add ten tags

 uint32* pTagIDs = NULL;

 pTagIDs = new uint32[10];

 memset((void*)pTagIDs, 0, sizeof(uint32)*10);

 int32* pErrCodes = NULL;

 pErrCodes = new int32[10];

 memset((void*)pErrCodes, 0, sizeof(int32)*10);

 HD3Mask *pPropMasks;

 memset(HD3PtTagProps, 0, sizeof(HD3PtTagProp) * 10);

 pPropMasks = new HD3Mask[10];

 memset((void*)pPropMasks, 0, sizeof(HD3Mask)*10);

 memset(nTagIDs, 0, sizeof(int32)*10);

 memset(nErrCode, 0, sizeof(int32)*10);

 // set HD3PtTagProp

 for( i = 0; i < nTotalTagNum; ++i)

 {

         HD3PtTagProps[i].nTagType = HD3_TAG_TYPE_INT32;

         sprintf(HD3PtTagProps[i].szTagName, "tagfix%d", i);

         pPropMasks[i].nCommMask = HD3M_COMM_PROP_TAG_NAME | HD3M_COMM_PROP_TAG_TYPE;

         pPropMasks[i].nExtMask = 0;

 }

 

 nRet = pt3_add_tags(nTotalTagNum, HD3PtTagProps, pPropMasks, "", pTagIDs, pErrCodes);

 delete[] pPropMasks;

 if(RD_SUCCESS != nRet)

 {

         printf("Failed to add tags!nRet = %d\n", nRet);

         nt3_disconnect();

         return -1;                

 }

 printf("add tags successfully nRet = %d\n", nRet) ;        

 

 //query tags by condition

 filterItem[0].nItemID = HD3_TAG_COL_COMM_PROP_TAG_NAME;

 filterItem[0].nRelation = HD3_RELATION_LIKE;

 strcpy(filterItem[0].szValue, "*");

 

 filterItem[1].nItemID = HD3_TAG_COL_COMM_PROP_TAG_TYPE;

 filterItem[1].nRelation = HD3_RELATION_EQUAL;

 sprintf(filterItem[1].szValue, "%d", HD3_TAG_TYPE_STRING);

 nTagClassMask = HD3M_ALL;

 queryItemset.nSize = 2;

 queryItemset.pItem = filterItem;

 

 nRet = pt3_query_tags_cond( &queryItemset, &mask, &hIter);

 if (nRet != RD_SUCCESS)

 {

         printf("query tags by condition failed!\n");

         nt3_disconnect();

         return -1;

 }

 nTagNum = 0;

 while (true)

 {

         nRet = ut3_get_item_step(hIter, &tagQuery);

         if (RD_SUCCESS == nRet)

         {

                 nTagNum ++;

                 printf("query tag successful, tag name is %s, tag type is %d!\n", tagQuery.szTagName, tagQuery.nTagType);

         }

         else if (EC_HD_API_QUERY_END == nRet)

         {

                 printf("query tag complete!");

                 break;

         }

         else

         {

                 printf("query tag failed, error code [%d]!", nRet);

                 break;

         }

 }

 printf("you have queried %d tags totally!\n", nTagNum);

 

 ut3_free_handle(hIter);

 

 //query page tags by condition

 HD3PageQueryTagParam hdparam;

 hdparam.itemSet.pItem = queryItemset.pItem;

 hdparam.itemSet.nSize = queryItemset.nSize;

 hdparam.mask = mask;

 hdparam.nCapacity = 20;

 hdparam.nStartID  = 0;

 nRet = pt3_query_specify_page_tags_cond(&hdparam, &hIter);

 if (nRet != RD_SUCCESS)

 {

         printf("pt_query_specify_page_tags_cond failed!\n");

         nt3_disconnect();

         return -1;

 }

 nTagNum = 0;

 while (true)

 {

         nRet = ut3_get_item_step(hIter, &tagQuery);

         if (RD_SUCCESS == nRet)

         {

                 nTagNum ++;

                 printf("query tag successful, tag name is %s, tag type is %d!\n", tagQuery.szTagName, tagQuery.nTagType);

         }

         else if (EC_HD_API_QUERY_END == nRet)

         {

                 printf("query tag complete!");

                 break;

         }

         else

         {

                 printf("query tag failed, error code [%d]!", nRet);

                 break;

         }

 }

 printf("you have queried %d tags totally!\n", nTagNum);

 

 ut3_free_handle(hIter);

 

 

 //query tag id

 uint32 nTagID = 0;

 nRet = tag3_query_id_by_name(szTagName_1, &nTagID);        

 if (nRet != RD_SUCCESS)

 {

         printf("query tag id failed, tag name[%s], error code[%d]!\n", szTagName_1, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("tag[%s] query tag id successful, tag id[%d]!\n", szTagName_1, nTagID);

 

 //query tag type

 HD3_TAG_TYPE nTagType;

 nRet = pt3_query_tag_type(nTagID, &nTagType);

 if (nRet != RD_SUCCESS)

 {

         printf("query tag type failed, tag id[%d], error code[%d]!\n", nTagID, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("query tag type successful, tag id[%d]!\n", nTagID);

 

 //modify tag desc

 HD3Mask hdMask;

 hdMask.nCommMask = HD3M_COMM_PROP_DESCRIPTOR;

 hdMask.nExtMask = 0;

 strcpy(tagSave.szDescriptor, "tag descriptor is modified");

 nRet = pt3_modify_tag_prop(nTagID, &tagSave, &hdMask);

 if (nRet != RD_SUCCESS)

 {

         printf("modify tag failed, tag id[%d], error code[%d]!\n", nTagID, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("modify tag successful, tag id[%d]!\n", nTagID);

 

 //modify tag desc

 hdMask;

 hdMask.nCommMask = HD3M_COMM_PROP_DESCRIPTOR;

 hdMask.nExtMask = 0;

 strcpy(tagSave.szDescriptor, "tag descriptor is modified");

 nRet = pt3_modify_tags_prop(1, &nTagID, &tagSave, &hdMask, &nErrCode[0]);

 if (nRet != RD_SUCCESS)

 {

         printf("modify tag failed, tag id[%d], error code[%d]!\n", nTagID, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("modify tag successful, tag id[%d]!\n", nTagID);

 

 //query tag prop

 nRet = pt3_query_tag_prop(nTagID, &tagQuery);

 if (nRet != RD_SUCCESS)

 {

         printf("query tag prop failed, tag id[%d], error code[%d]!\n", nTagID, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("query tag prop successful, tag id[%d], tag name[%s], tag description[%s]!\n",

         tagQuery.nTagID, tagQuery.szTagName, tagQuery.szDescriptor);

 

 //delete tag

 nRet = tag3_delete_tag(nTagID);

 if (nRet != RD_SUCCESS)

 {

         printf("delete tag failed, tag id[%d], error code[%d]!\n", nTagID, nRet);

         nt3_disconnect();

         return -1;

 }

 printf("delete tag successful, tag id[%d]!\n", nTagID);

 

 nt3_disconnect();

 

 return 0;

}

//*/