From 2692cbfa14cb050c98d0c836d8049e5f54d6f29c Mon Sep 17 00:00:00 2001 From: ubiboy Date: Tue, 24 Dec 2024 15:19:20 +0800 Subject: [PATCH] New bug in SubscriptionCreate --- myClient.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/myClient.c b/myClient.c index 0fe9c4e..0ab5466 100644 --- a/myClient.c +++ b/myClient.c @@ -318,6 +318,25 @@ void writeTest(long ConnectionHdl,u16 NodeHdlCount,long *NodeHdls,UA_Value *vari return retval; } +u32 SubscriptionCreate(long ConnectionHdl,bool PublishingEnable,u16 Priority,long *SubscriptionHdl,TIME *PublishingInterval){ + UA_Client *c = (UA_Client*)ConnectionHdl; + UA_CreateSubscriptionRequest request = UA_CreateSubscriptionRequest_default(); + request.requestedPublishingInterval=*PublishingInterval; + request.publishingEnabled=PublishingEnable; + request.priority=Priority; + UA_CreateSubscriptionResponse *response=malloc(sizeof(UA_CreateSubscriptionResponse)); + *response = UA_Client_Subscriptions_create(c,request,NULL,NULL,NULL); + u32 retval=response[0].responseHeader.serviceResult; + if(retval!=UA_STATUSCODE_GOOD){ + UA_CreateSubscriptionResponse_clear(&response[0]); + return retval; + } + printf("response[0].subscripstionId is %x\n",response[0].subscriptionId); + *SubscriptionHdl=(long *)response[0].subscriptionId; + UA_CreateSubscriptionResponse_clear(&response[0]); + return retval; +} + int main(int argc, char *argv[]) { // long connecthdl;