From 5c210290055fda2526c55317efeebcbc1aa0a143 Mon Sep 17 00:00:00 2001 From: Thuyen Tran Date: Sat, 22 Nov 2014 05:15:27 -0800 Subject: [PATCH] Added server instance id into resource discovery response message. Change-Id: I8e8d256137968b1eca102803d522649b1ac57482 Signed-off-by: Thuyen Tran --- resource/csdk/stack/include/internal/ocresource.h | 1 + resource/csdk/stack/src/ocresource.c | 7 +++++++ resource/csdk/stack/src/ocstack.c | 3 ++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/resource/csdk/stack/include/internal/ocresource.h b/resource/csdk/stack/include/internal/ocresource.h index 10f7a91..5fe8e72 100644 --- a/resource/csdk/stack/include/internal/ocresource.h +++ b/resource/csdk/stack/include/internal/ocresource.h @@ -27,6 +27,7 @@ #define OC_RSRVD_OC "oc" #define OC_RSRVD_PAYLOAD "payload" #define OC_RSRVD_HREF "href" +#define OC_RSRVD_SERVER_INSTANCE_ID "sid" #define OC_RSRVD_RESOURCE_TYPE "rt" #define OC_RSRVD_INTERFACE "if" #define OC_RSRVD_INTERFACE_DEFAULT "oc.mi.def" diff --git a/resource/csdk/stack/src/ocresource.c b/resource/csdk/stack/src/ocresource.c index c9ed805..67f959b 100644 --- a/resource/csdk/stack/src/ocresource.c +++ b/resource/csdk/stack/src/ocresource.c @@ -147,6 +147,13 @@ OCStackResult BuildVirtualResourceResponse(OCResource *resourcePtr, uint8_t filt // Add URIs cJSON_AddItemToObject (resObj, OC_RSRVD_HREF, cJSON_CreateString(resourcePtr->uri)); + // Add server instance id + const char* serverInstanceId = OCGetServerInstanceIDString(); + cJSON_AddItemToObject (resObj, + OC_RSRVD_SERVER_INSTANCE_ID, + cJSON_CreateString(serverInstanceId)); + serverInstanceId = NULL; + cJSON_AddItemToObject (resObj, "prop", propObj = cJSON_CreateObject()); // Add resource types cJSON_AddItemToObject (propObj, OC_RSRVD_RESOURCE_TYPE, rtArray = cJSON_CreateArray()); diff --git a/resource/csdk/stack/src/ocstack.c b/resource/csdk/stack/src/ocstack.c index 61fcbb1..d7d1af0 100644 --- a/resource/csdk/stack/src/ocstack.c +++ b/resource/csdk/stack/src/ocstack.c @@ -2102,7 +2102,8 @@ const char* OCGetServerInstanceIDString(void) // to another value static char buffer[11]; - if(sprintf(buffer, "%u", OCGetServerInstanceID() <0)) + int n = sprintf(buffer, "%u", OCGetServerInstanceID()); + if (n < 0) { buffer[0]='\0'; } -- 2.7.4