//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+#include "iotivity_config.h"
#include <stdio.h>
#include <string.h>
#include <string>
#include <stdlib.h>
+#ifdef HAVE_UNISTD_H
#include <unistd.h>
+#endif
+#ifdef HAVE_WINDOWS_H
+#include <windows.h>
+#endif
#include <signal.h>
+#ifdef HAVE_PTHREAD_H
#include <pthread.h>
+#endif
#include <ocstack.h>
#include <logger.h>
-
-const char *getResult(OCStackResult result);
+#include <getopt.h>
+#include "ocpayload.h"
+#include "common.h"
#define TAG PCF("ocservercontainer")
static LightResource light;
-// TODO : hard coded for now, change after Sprint10
-const char rspGetRoomDefault[] = "{\"href\":\"/a/room\",\"rep\":{\"name\":\"John's Room\"}}";
-const char rspGetRoomCollection[] = "{\"href\":\"/a/room\"}";
-// TODO : Needs to be changed to retrieve current status of room and return that in response
-const char rspPutRoomDefault[] = "{\"href\":\"/a/room\",\"rep\":{\"name\":\"John's Room\"}}";
-const char rspPutRoomCollection[] = "{\"href\":\"/a/room\"}";
-const char rspFailureRoom[] = "{\"href\":\"/a/room\",\"rep\":{\"error\":\"ROOM_OP_FAIL\"}}";
-
-// TODO : hard coded for now, change after Sprint4
-const char rspGetLightDefault[] =
- "{\"href\":\"/a/light\",\"rep\":{\"state\":\"false\",\"color\":\"0\"}}";
-const char rspGetLightCollection[] = "{\"href\":\"/a/light\"}";
-// TODO : Needs to be changed to retrieve current status of light and return that in response
-const char rspPutLightDefault[] =
- "{\"href\":\"/a/light\",\"rep\":{\"state\":\"true\",\"color\":\"0\"}}";
-const char rspPutLightCollection[] = "{\"href\":\"/a/light\"}";
-const char rspFailureLight[] = "{\"href\":\"/a/light\",\"rep\":{\"error\":\"LIGHT_OP_FAIL\"}}";
-
-
-// TODO : hard coded for now, change after Sprint4
-const char rspGetFanDefault[] = "{\"href\":\"/a/fan\",\"rep\":{\"state\":\"true\",\"speed\":10}}";
-const char rspGetFanCollection[] = "{\"href\":\"/a/fan\"}";
-// TODO : Needs to be changed to retrieve current status of fan and return that in response
-const char rspPutFanDefault[] = "{\"href\":\"/a/fan\",\"rep\":{\"state\":\"false\",\"speed\":0}}";
-const char rspPutFanCollection[] = "{\"href\":\"/a/fan\"}";
-const char rspFailureFan[] = "{\"href\":\"/a/fan\",\"rep\":{\"error\":\"FAN_OP_FAIL\"}}";
+char *gLightResourceUri= (char *)"/a/light";
+char *gRoomResourceUri= (char *)"/a/room";
+char *gFanResourceUri= (char *)"/a/fan";
typedef enum
{
void PrintUsage()
{
- OC_LOG(INFO, TAG, "Usage : ocservercoll -t <Test Case>");
- OC_LOG(INFO, TAG,
+ OIC_LOG(INFO, TAG, "Usage : ocservercoll -t <Test Case>");
+ OIC_LOG(INFO, TAG,
"Test Case 1 : Create room resource with default collection entity handler.");
- OC_LOG(INFO, TAG,
+ OIC_LOG(INFO, TAG,
"Test Case 2 : Create room resource with application collection entity handler.");
}
unsigned static int TEST = TEST_INVALID;
-static OCEntityHandlerResult
-HandleCallback(OCEntityHandlerRequest * ehRequest,
- const char* opStr,
- const char* errStr,
- char *payload,
- uint16_t maxPayloadSize)
-{
- OCEntityHandlerResult ret = OC_EH_OK;
-
- // Append opStr or errStr, after making sure there is
- // enough room in the payload
- if (strlen(opStr) < (maxPayloadSize - strlen(payload)))
- {
- strncat((char*)payload, opStr, strlen(opStr));
- }
- else if (strlen(errStr) < (maxPayloadSize - strlen(payload)))
- {
- strncat((char*)payload, errStr, strlen(errStr));
- ret = OC_EH_ERROR;
- }
- else
- {
- ret = OC_EH_ERROR;
- }
-
- return ret;
-}
-
static void
PrintReceivedMsgInfo(OCEntityHandlerFlag flag, OCEntityHandlerRequest * ehRequest)
{
const char* typeOfMessage;
+ const char* typeOfMethod;
switch (flag)
{
typeOfMessage = "UNKNOWN";
}
- OC_LOG_V(INFO, TAG, "Receiving message type: %s, method %s",
- typeOfMessage,
- (ehRequest->method == OC_REST_GET) ? "OC_REST_GET" : "OC_REST_PUT" );
+ if (ehRequest == NULL)
+ {
+ typeOfMethod = "UNKNOWN";
+ }
+ else if (ehRequest->method == OC_REST_GET)
+ {
+ typeOfMethod = "OC_REST_GET";
+ }
+ else
+ {
+ typeOfMethod = "OC_REST_PUT";
+ }
+
+ OIC_LOG_V(INFO, TAG, "Receiving message type: %s, method %s", typeOfMessage,
+ typeOfMethod);
+}
+
+//The only case when this entity handler is for a non-existing resource.
+OCEntityHandlerResult
+OCDeviceEntityHandlerCb (OCEntityHandlerFlag flag,
+ OCEntityHandlerRequest *entityHandlerRequest, char* uri, void* /*callbackParam*/)
+{
+ OIC_LOG_V(INFO, TAG, "Inside device default entity handler - flags: 0x%x, uri: %s", flag, uri);
+
+ OCEntityHandlerResult ehResult = OC_EH_OK;
+ OCEntityHandlerResponse response;
+
+ if (!entityHandlerRequest)
+ {
+ OIC_LOG(ERROR, TAG, "Invalid request pointer");
+ return OC_EH_ERROR;
+ }
+
+ if (entityHandlerRequest->resource == NULL)
+ {
+ OIC_LOG(INFO, TAG, "Received request from client to a non-existing resource");
+ ehResult = OC_EH_RESOURCE_NOT_FOUND;
+ }
+ else
+ {
+ OIC_LOG_V(INFO, TAG, "Device Handler: Received unsupported request from client %d",
+ entityHandlerRequest->method);
+ ehResult = OC_EH_ERROR;
+ }
+
+ if (!((ehResult == OC_EH_ERROR) || (ehResult == OC_EH_FORBIDDEN)))
+ {
+ // Format the response. Note this requires some info about the request
+ response.requestHandle = entityHandlerRequest->requestHandle;
+ response.resourceHandle = entityHandlerRequest->resource;
+ response.ehResult = ehResult;
+ response.payload = nullptr;
+ response.numSendVendorSpecificHeaderOptions = 0;
+ memset(response.sendVendorSpecificHeaderOptions,
+ 0, sizeof response.sendVendorSpecificHeaderOptions);
+ // Indicate that response is NOT in a persistent buffer
+ response.persistentBufferFlag = 0;
+
+ // Send the response
+ if (OCDoResponse(&response) != OC_STACK_OK)
+ {
+ OIC_LOG(ERROR, TAG, "Error sending response");
+ ehResult = OC_EH_ERROR;
+ }
+ }
+ return ehResult;
}
OCEntityHandlerResult OCEntityHandlerRoomCb(OCEntityHandlerFlag flag,
OCEntityHandlerRequest * ehRequest,
- void* callback)
+ void* /*callback*/)
{
OCEntityHandlerResult ret = OC_EH_OK;
OCEntityHandlerResponse response;
- char payload[MAX_RESPONSE_LENGTH] = {0};
- OC_LOG_V(INFO, TAG, "Callback for Room");
+ OIC_LOG_V(INFO, TAG, "Callback for Room");
PrintReceivedMsgInfo(flag, ehRequest );
if(ehRequest && flag == OC_REQUEST_FLAG )
{
std::string query = (const char*)ehRequest->query;
+ OCRepPayload* payload = OCRepPayloadCreate();
if(OC_REST_GET == ehRequest->method)
{
if(query.find(OC_RSRVD_INTERFACE_DEFAULT) != std::string::npos)
{
- ret = HandleCallback(ehRequest,
- rspGetRoomDefault, rspFailureRoom, payload, sizeof(payload));
- if(ret != OC_EH_ERROR)
- {
- ret = HandleCallback(ehRequest, ",", ",", payload, sizeof(payload));
- ret = HandleCallback(ehRequest,
- rspGetLightCollection, rspFailureLight, payload, sizeof(payload));
- }
- if(ret != OC_EH_ERROR)
- {
- ret = HandleCallback(ehRequest, ",", ",", payload, sizeof(payload));
- ret = HandleCallback(ehRequest,
- rspGetFanCollection, rspFailureFan, payload, sizeof(payload));
- }
+ OCRepPayloadSetUri(payload, gRoomResourceUri);
+ OCRepPayloadSetPropString(payload, "name", "John's Room");
+
+ OCRepPayload *tempPayload = OCRepPayloadCreate();
+ OCRepPayloadSetUri(tempPayload, gLightResourceUri);
+ OCRepPayloadAppend(payload, tempPayload);
+
+ OCRepPayload *tempPayload2 = OCRepPayloadCreate();
+ OCRepPayloadSetUri(tempPayload2, gFanResourceUri);
+ OCRepPayloadAppend(payload, tempPayload2);
}
else if(query.find(OC_RSRVD_INTERFACE_LL) != std::string::npos)
{
- ret = HandleCallback(ehRequest,
- rspGetRoomCollection, rspFailureRoom, payload, sizeof(payload));
- if(ret != OC_EH_ERROR)
- {
- ret = HandleCallback(ehRequest, ",", ",", payload, sizeof(payload));
- ret = HandleCallback(ehRequest,
- rspGetLightCollection, rspFailureLight, payload, sizeof(payload));
- }
- if(ret != OC_EH_ERROR)
- {
- ret = HandleCallback(ehRequest, ",", ",", payload, sizeof(payload));
- ret = HandleCallback(ehRequest,
- rspGetFanCollection, rspFailureFan, payload, sizeof(payload));
- }
+ OCRepPayloadSetUri(payload, gRoomResourceUri);
+
+ OCRepPayload *tempPayload = OCRepPayloadCreate();
+ OCRepPayloadSetUri(tempPayload, gLightResourceUri);
+ OCRepPayloadAppend(payload, tempPayload);
+
+ OCRepPayload *tempPayload2 = OCRepPayloadCreate();
+ OCRepPayloadSetUri(tempPayload2, gFanResourceUri);
+ OCRepPayloadAppend(payload, tempPayload2);
}
else if(query.find(OC_RSRVD_INTERFACE_BATCH) != std::string::npos)
{
- ret = HandleCallback(ehRequest,
- rspGetRoomCollection, rspFailureRoom, payload, sizeof(payload));
- if(ret != OC_EH_ERROR)
- {
- ret = HandleCallback(ehRequest, ",", ",", payload, sizeof(payload));
- ret = HandleCallback(ehRequest,
- rspGetLightDefault, rspFailureLight, payload, sizeof(payload));
- }
- if(ret != OC_EH_ERROR)
- {
- ret = HandleCallback(ehRequest, ",", ",", payload, sizeof(payload));
- ret = HandleCallback(ehRequest,
- rspGetFanDefault, rspFailureFan, payload, sizeof(payload));
- }
+
+ OCRepPayloadSetUri(payload, gRoomResourceUri);
+
+ OCRepPayload *tempPayload = OCRepPayloadCreate();
+ OCRepPayloadSetUri(tempPayload, gLightResourceUri);
+ OCRepPayloadSetPropBool(tempPayload, "state", false);
+ OCRepPayloadSetPropInt(tempPayload, "power", 0);
+ OCRepPayloadAppend(payload, tempPayload);
+
+ OCRepPayload *tempPayload2 = OCRepPayloadCreate();
+ OCRepPayloadSetUri(tempPayload2, gFanResourceUri);
+ OCRepPayloadSetPropBool(tempPayload2, "state", true);
+ OCRepPayloadSetPropInt(tempPayload2, "speed", 10);
+ OCRepPayloadAppend(payload, tempPayload2);
}
if (ret == OC_EH_OK)
{
response.requestHandle = ehRequest->requestHandle;
response.resourceHandle = ehRequest->resource;
response.ehResult = ret;
- response.payload = payload;
- response.payloadSize = strlen(payload);
+ response.payload = reinterpret_cast<OCPayload*>(payload);
response.numSendVendorSpecificHeaderOptions = 0;
memset(response.sendVendorSpecificHeaderOptions,
0, sizeof response.sendVendorSpecificHeaderOptions);
// Send the response
if (OCDoResponse(&response) != OC_STACK_OK)
{
- OC_LOG(ERROR, TAG, "Error sending response");
+ OIC_LOG(ERROR, TAG, "Error sending response");
ret = OC_EH_ERROR;
}
}
{
if(ret != OC_EH_ERROR)
{
- ret = HandleCallback(ehRequest,
- rspPutRoomDefault, rspFailureRoom, payload, sizeof(payload));
+ OCRepPayloadSetUri(payload, gRoomResourceUri);
+ OCRepPayloadSetPropString(payload, "name", "John's Room");
}
}
if(query.find(OC_RSRVD_INTERFACE_LL) != std::string::npos)
{
if(ret != OC_EH_ERROR)
{
- ret = HandleCallback(ehRequest,
- rspPutRoomCollection, rspFailureRoom, payload, sizeof(payload));
+ OCRepPayloadSetUri(payload, gRoomResourceUri);
}
if(ret != OC_EH_ERROR)
{
- ret = HandleCallback(ehRequest, ",", ",", payload, sizeof(payload));
- ret = HandleCallback(ehRequest,
- rspPutLightCollection, rspFailureLight, payload, sizeof(payload));
+ OCRepPayload *tempPayload = OCRepPayloadCreate();
+ OCRepPayloadSetUri(tempPayload, gLightResourceUri);
+ OCRepPayloadAppend(payload, tempPayload);
}
if(ret != OC_EH_ERROR)
{
- ret = HandleCallback(ehRequest, ",", ",", payload, sizeof(payload));
- ret = HandleCallback(ehRequest,
- rspPutFanCollection, rspFailureFan, payload, sizeof(payload));
+ OCRepPayload *tempPayload = OCRepPayloadCreate();
+ OCRepPayloadSetUri(tempPayload, gFanResourceUri);
+ OCRepPayloadAppend(payload, tempPayload);
}
}
if(query.find(OC_RSRVD_INTERFACE_BATCH ) != std::string::npos)
{
if(ret != OC_EH_ERROR)
{
- ret = HandleCallback(ehRequest,
- rspPutRoomCollection, rspFailureRoom, payload, sizeof(payload));
+ OCRepPayloadSetUri(payload, gRoomResourceUri);
}
if(ret != OC_EH_ERROR)
{
- ret = HandleCallback(ehRequest, ",", ",", payload, sizeof(payload));
- ret = HandleCallback(ehRequest,
- rspPutLightDefault, rspFailureLight, payload, sizeof(payload));
+ OCRepPayload *tempPayload = OCRepPayloadCreate();
+ OCRepPayloadSetUri(tempPayload, gLightResourceUri);
+ OCRepPayloadSetPropBool(tempPayload, "state", true);
+ OCRepPayloadSetPropInt(tempPayload, "power", 0);
+ OCRepPayloadAppend(payload, tempPayload);
}
if(ret != OC_EH_ERROR)
{
- ret = HandleCallback(ehRequest, ",", ",", payload, sizeof(payload));
- ret = HandleCallback(ehRequest,
- rspPutFanDefault, rspFailureFan, payload, sizeof(payload));
+ OCRepPayload *tempPayload = OCRepPayloadCreate();
+ OCRepPayloadSetUri(tempPayload, gFanResourceUri);
+ OCRepPayloadSetPropBool(tempPayload, "state", false);
+ OCRepPayloadSetPropInt(tempPayload, "speed", 0);
+ OCRepPayloadAppend(payload, tempPayload);
}
}
if (ret == OC_EH_OK)
response.requestHandle = ehRequest->requestHandle;
response.resourceHandle = ehRequest->resource;
response.ehResult = ret;
- response.payload = payload;
- response.payloadSize = strlen(payload);
+ response.payload = reinterpret_cast<OCPayload*>(payload);
response.numSendVendorSpecificHeaderOptions = 0;
memset(response.sendVendorSpecificHeaderOptions,
0, sizeof response.sendVendorSpecificHeaderOptions);
// Send the response
if (OCDoResponse(&response) != OC_STACK_OK)
{
- OC_LOG(ERROR, TAG, "Error sending response");
+ OIC_LOG(ERROR, TAG, "Error sending response");
ret = OC_EH_ERROR;
}
}
}
else
{
- OC_LOG_V (INFO, TAG, "Received unsupported method %d from client",
+ OIC_LOG_V (INFO, TAG, "Received unsupported method %d from client",
ehRequest->method);
ret = OC_EH_ERROR;
}
+ OCRepPayloadDestroy(payload);
}
else if (ehRequest && flag == OC_OBSERVE_FLAG)
{
}
OCEntityHandlerResult OCEntityHandlerLightCb(OCEntityHandlerFlag flag,
- OCEntityHandlerRequest * ehRequest,void* callbackParam)
+ OCEntityHandlerRequest * ehRequest,void* /*callbackParam*/)
{
OCEntityHandlerResult ret = OC_EH_OK;
OCEntityHandlerResponse response;
- char payload[MAX_RESPONSE_LENGTH] = {0};
- OC_LOG_V(INFO, TAG, "Callback for Light");
+ OIC_LOG_V(INFO, TAG, "Callback for Light");
PrintReceivedMsgInfo(flag, ehRequest );
if(ehRequest && flag == OC_REQUEST_FLAG)
{
+ OCRepPayload* payload = OCRepPayloadCreate();
if(OC_REST_GET == ehRequest->method)
{
- ret = HandleCallback(ehRequest,
- rspGetLightDefault, rspFailureLight, payload, sizeof(payload));
+ OCRepPayloadSetUri(payload, gLightResourceUri);
+ OCRepPayloadSetPropBool(payload, "state", false);
+ OCRepPayloadSetPropInt(payload, "power", 0);
}
else if(OC_REST_PUT == ehRequest->method)
{
- ret = HandleCallback(ehRequest,
- rspPutLightDefault, rspFailureLight, payload, sizeof(payload));
+ OCRepPayloadSetUri(payload, gLightResourceUri);
+ OCRepPayloadSetPropBool(payload, "state", true);
+ OCRepPayloadSetPropInt(payload, "power", 0);
}
else
{
- OC_LOG_V (INFO, TAG, "Received unsupported method %d from client",
+ OIC_LOG_V (INFO, TAG, "Received unsupported method %d from client",
ehRequest->method);
ret = OC_EH_ERROR;
}
response.requestHandle = ehRequest->requestHandle;
response.resourceHandle = ehRequest->resource;
response.ehResult = ret;
- response.payload = payload;
- response.payloadSize = strlen(payload);
+ response.payload = reinterpret_cast<OCPayload*>(payload);
response.numSendVendorSpecificHeaderOptions = 0;
memset(response.sendVendorSpecificHeaderOptions,
0, sizeof response.sendVendorSpecificHeaderOptions);
// Send the response
if (OCDoResponse(&response) != OC_STACK_OK)
{
- OC_LOG(ERROR, TAG, "Error sending response");
+ OIC_LOG(ERROR, TAG, "Error sending response");
ret = OC_EH_ERROR;
}
}
+ OCRepPayloadDestroy(payload);
}
else if (ehRequest && flag == OC_OBSERVE_FLAG)
{
}
OCEntityHandlerResult OCEntityHandlerFanCb(OCEntityHandlerFlag flag,
- OCEntityHandlerRequest * ehRequest, void* callback)
+ OCEntityHandlerRequest * ehRequest, void* /*callback*/)
{
OCEntityHandlerResult ret = OC_EH_OK;
OCEntityHandlerResponse response;
- char payload[MAX_RESPONSE_LENGTH] = {0};
- OC_LOG_V(INFO, TAG, "Callback for Fan");
+ OIC_LOG_V(INFO, TAG, "Callback for Fan");
PrintReceivedMsgInfo(flag, ehRequest );
if(ehRequest && flag == OC_REQUEST_FLAG)
{
+ OCRepPayload* payload = OCRepPayloadCreate();
+
if(OC_REST_GET == ehRequest->method)
{
- ret = HandleCallback(ehRequest, rspGetFanDefault,
- rspFailureFan, payload, sizeof(payload));
+ OCRepPayloadSetUri(payload, gFanResourceUri);
+ OCRepPayloadSetPropBool(payload, "state", true);
+ OCRepPayloadSetPropInt(payload, "speed", 10);
}
else if(OC_REST_PUT == ehRequest->method)
{
- ret = HandleCallback(ehRequest, rspPutFanDefault,
- rspFailureFan, payload, sizeof(payload));
+ OCRepPayloadSetUri(payload, gFanResourceUri);
+ OCRepPayloadSetPropBool(payload, "state", false);
+ OCRepPayloadSetPropInt(payload, "speed", 0);
}
else
{
- OC_LOG_V (INFO, TAG, "Received unsupported method %d from client",
+ OIC_LOG_V (INFO, TAG, "Received unsupported method %d from client",
ehRequest->method);
ret = OC_EH_ERROR;
}
response.requestHandle = ehRequest->requestHandle;
response.resourceHandle = ehRequest->resource;
response.ehResult = ret;
- response.payload = payload;
- response.payloadSize = strlen(payload);
+ response.payload = reinterpret_cast<OCPayload*>(payload);
response.numSendVendorSpecificHeaderOptions = 0;
memset(response.sendVendorSpecificHeaderOptions,
0, sizeof response.sendVendorSpecificHeaderOptions);
// Send the response
if (OCDoResponse(&response) != OC_STACK_OK)
{
- OC_LOG(ERROR, TAG, "Error sending response");
+ OIC_LOG(ERROR, TAG, "Error sending response");
ret = OC_EH_ERROR;
}
}
+ OCRepPayloadDestroy(payload);
}
else if (ehRequest && flag == OC_OBSERVE_FLAG)
light.power += 5;
if (gLightUnderObservation)
{
- OC_LOG_V(INFO, TAG,
+ OIC_LOG_V(INFO, TAG,
" =====> Notifying stack of new power level %d\n", light.power);
result = OCNotifyAllObservers (light.handle, OC_NA_QOS);
if (OC_STACK_NO_OBSERVERS == result)
return -1;
}
- OC_LOG(DEBUG, TAG, "OCServer is starting...");
+ OIC_LOG(DEBUG, TAG, "OCServer is starting...");
if (OCInit(NULL, 0, OC_SERVER) != OC_STACK_OK)
{
- OC_LOG(ERROR, TAG, "OCStack init error");
+ OIC_LOG(ERROR, TAG, "OCStack init error");
return 0;
}
+ OCSetDefaultDeviceEntityHandler(OCDeviceEntityHandlerCb, NULL);
+
/*
* Declare and create the example resource: light
*/
pthread_create (&threadId, NULL, ChangeLightRepresentation, (void *)NULL);
// Break from loop with Ctrl-C
- OC_LOG(INFO, TAG, "Entering ocserver main loop...");
+ OIC_LOG(INFO, TAG, "Entering ocserver main loop...");
signal(SIGINT, handleSigInt);
while (!gQuitFlag)
{
if (OCProcess() != OC_STACK_OK)
{
- OC_LOG(ERROR, TAG, "OCStack process error");
+ OIC_LOG(ERROR, TAG, "OCStack process error");
return 0;
}
sleep(2);
/*
* Cancel the light thread and wait for it to terminate
*/
+#ifdef HAVE_PTHREAD_H
pthread_cancel(threadId);
pthread_join(threadId, NULL);
+#endif
- OC_LOG(INFO, TAG, "Exiting ocserver main loop...");
+ OIC_LOG(INFO, TAG, "Exiting ocserver main loop...");
if (OCStop() != OC_STACK_OK)
{
- OC_LOG(ERROR, TAG, "OCStack process error");
+ OIC_LOG(ERROR, TAG, "OCStack process error");
}
return 0;
}
+
void createResources()
{
light.state = false;
OCEntityHandlerFanCb,
NULL,
OC_DISCOVERABLE|OC_OBSERVABLE);
- OC_LOG_V(INFO, TAG, "Created fan resource with result: %s", getResult(res));
+ OIC_LOG_V(INFO, TAG, "Created fan resource with result: %s", getResult(res));
OCResourceHandle light;
res = OCCreateResource(&light,
OCEntityHandlerLightCb,
NULL,
OC_DISCOVERABLE|OC_OBSERVABLE);
- OC_LOG_V(INFO, TAG, "Created light resource with result: %s", getResult(res));
+ OIC_LOG_V(INFO, TAG, "Created light resource with result: %s", getResult(res));
OCResourceHandle room;
OC_DISCOVERABLE);
}
- OC_LOG_V(INFO, TAG, "Created room resource with result: %s", getResult(res));
+ OIC_LOG_V(INFO, TAG, "Created room resource with result: %s", getResult(res));
OCBindResourceInterfaceToResource(room, OC_RSRVD_INTERFACE_LL);
OCBindResourceInterfaceToResource(room, OC_RSRVD_INTERFACE_DEFAULT);
res = OCBindResource(room, light);
- OC_LOG_V(INFO, TAG, "OC Bind Contained Resource to resource: %s", getResult(res));
+ OIC_LOG_V(INFO, TAG, "OC Bind Contained Resource to resource: %s", getResult(res));
res = OCBindResource(room, fan);
- OC_LOG_V(INFO, TAG, "OC Bind Contained Resource to resource: %s", getResult(res));
+ OIC_LOG_V(INFO, TAG, "OC Bind Contained Resource to resource: %s", getResult(res));
}