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 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 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\"}}";
const char rspPutFanCollection[] = "{\"href\":\"/a/fan\"}";
const char rspFailureFan[] = "{\"href\":\"/a/fan\",\"rep\":{\"error\":\"FAN_OP_FAIL\"}}";
-typedef enum {
+typedef enum
+{
TEST_INVALID = 0,
TEST_DEFAULT_COLL_EH,
TEST_APP_COLL_EH,
void PrintUsage()
{
OC_LOG(INFO, TAG, "Usage : ocservercoll -t <Test Case>");
- OC_LOG(INFO, TAG, "Test Case 1 : Create room resource with default collection entity handler.");
- OC_LOG(INFO, TAG, "Test Case 2 : Create room resource with application collection entity handler.");
+ OC_LOG(INFO, TAG,
+ "Test Case 1 : Create room resource with default collection entity handler.");
+ OC_LOG(INFO, TAG,
+ "Test Case 2 : Create room resource with application collection entity handler.");
}
unsigned static int TEST = TEST_INVALID;
{
const char* typeOfMessage;
- switch (flag) {
- case OC_INIT_FLAG:
- typeOfMessage = "OC_INIT_FLAG";
- break;
+ switch (flag)
+ {
case OC_REQUEST_FLAG:
typeOfMessage = "OC_REQUEST_FLAG";
break;
}
OC_LOG_V(INFO, TAG, "Receiving message type: %s, method %s",
- typeOfMessage,
- (ehRequest->method == OC_REST_GET) ? "OC_REST_GET" : "OC_REST_PUT" );
+ typeOfMessage,
+ (ehRequest->method == OC_REST_GET) ? "OC_REST_GET" : "OC_REST_PUT" );
}
OCEntityHandlerResult OCEntityHandlerRoomCb(OCEntityHandlerFlag flag,
if(OC_REST_GET == ehRequest->method)
{
- if(query.find("oc.mi.def") != std::string::npos)
+ if(query.find(OC_RSRVD_INTERFACE_DEFAULT) != std::string::npos)
{
- ret = HandleCallback(ehRequest, rspGetRoomDefault, rspFailureRoom, payload, sizeof(payload));
+ 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));
+ 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));
+ ret = HandleCallback(ehRequest,
+ rspGetFanCollection, rspFailureFan, payload, sizeof(payload));
}
}
- else if(query.find("oc.mi.ll") != std::string::npos)
+ else if(query.find(OC_RSRVD_INTERFACE_LL) != std::string::npos)
{
- ret = HandleCallback(ehRequest, rspGetRoomCollection, rspFailureRoom, payload, sizeof(payload));
+ 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));
+ 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));
+ ret = HandleCallback(ehRequest,
+ rspGetFanCollection, rspFailureFan, payload, sizeof(payload));
}
}
- else if(query.find("oc.mi.b") != std::string::npos)
+ else if(query.find(OC_RSRVD_INTERFACE_BATCH) != std::string::npos)
{
- ret = HandleCallback(ehRequest, rspGetRoomCollection, rspFailureRoom, payload, sizeof(payload));
+ 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));
+ 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));
+ ret = HandleCallback(ehRequest,
+ rspGetFanDefault, rspFailureFan, payload, sizeof(payload));
}
}
if (ret == OC_EH_OK)
response.requestHandle = ehRequest->requestHandle;
response.resourceHandle = ehRequest->resource;
response.ehResult = ret;
- response.payload = (unsigned char *)payload;
+ response.payload = payload;
response.payloadSize = strlen(payload);
response.numSendVendorSpecificHeaderOptions = 0;
- memset(response.sendVendorSpecificHeaderOptions, 0, sizeof response.sendVendorSpecificHeaderOptions);
+ memset(response.sendVendorSpecificHeaderOptions,
+ 0, sizeof response.sendVendorSpecificHeaderOptions);
memset(response.resourceUri, 0, sizeof response.resourceUri);
// Indicate that response is NOT in a persistent buffer
response.persistentBufferFlag = 0;
}
else if(OC_REST_PUT == ehRequest->method)
{
- if(query.find("oc.mi.def") != std::string::npos)
+ if(query.find(OC_RSRVD_INTERFACE_DEFAULT) != std::string::npos)
{
if(ret != OC_EH_ERROR)
{
- ret = HandleCallback(ehRequest, rspPutRoomDefault, rspFailureRoom, payload, sizeof(payload));
+ ret = HandleCallback(ehRequest,
+ rspPutRoomDefault, rspFailureRoom, payload, sizeof(payload));
}
}
- if(query.find("oc.mi.ll") != std::string::npos)
+ if(query.find(OC_RSRVD_INTERFACE_LL) != std::string::npos)
{
if(ret != OC_EH_ERROR)
{
- ret = HandleCallback(ehRequest, rspPutRoomCollection, rspFailureRoom, payload, sizeof(payload));
+ ret = HandleCallback(ehRequest,
+ rspPutRoomCollection, rspFailureRoom, payload, sizeof(payload));
}
if(ret != OC_EH_ERROR)
{
ret = HandleCallback(ehRequest, ",", ",", payload, sizeof(payload));
- ret = HandleCallback(ehRequest, rspPutLightCollection, rspFailureLight, payload, sizeof(payload));
+ ret = HandleCallback(ehRequest,
+ rspPutLightCollection, rspFailureLight, payload, sizeof(payload));
}
if(ret != OC_EH_ERROR)
{
ret = HandleCallback(ehRequest, ",", ",", payload, sizeof(payload));
- ret = HandleCallback(ehRequest, rspPutFanCollection, rspFailureFan, payload, sizeof(payload));
+ ret = HandleCallback(ehRequest,
+ rspPutFanCollection, rspFailureFan, payload, sizeof(payload));
}
}
- if(query.find("oc.mi.b") != std::string::npos)
+ if(query.find(OC_RSRVD_INTERFACE_BATCH ) != std::string::npos)
{
if(ret != OC_EH_ERROR)
{
- ret = HandleCallback(ehRequest, rspPutRoomCollection, rspFailureRoom, payload, sizeof(payload));
+ ret = HandleCallback(ehRequest,
+ rspPutRoomCollection, rspFailureRoom, payload, sizeof(payload));
}
if(ret != OC_EH_ERROR)
{
ret = HandleCallback(ehRequest, ",", ",", payload, sizeof(payload));
- ret = HandleCallback(ehRequest, rspPutLightDefault, rspFailureLight, payload, sizeof(payload));
+ ret = HandleCallback(ehRequest,
+ rspPutLightDefault, rspFailureLight, payload, sizeof(payload));
}
if(ret != OC_EH_ERROR)
{
ret = HandleCallback(ehRequest, ",", ",", payload, sizeof(payload));
- ret = HandleCallback(ehRequest, rspPutFanDefault, rspFailureFan, payload, sizeof(payload));
+ ret = HandleCallback(ehRequest,
+ rspPutFanDefault, rspFailureFan, payload, sizeof(payload));
}
}
if (ret == OC_EH_OK)
response.requestHandle = ehRequest->requestHandle;
response.resourceHandle = ehRequest->resource;
response.ehResult = ret;
- response.payload = (unsigned char *)payload;
+ response.payload = payload;
response.payloadSize = strlen(payload);
response.numSendVendorSpecificHeaderOptions = 0;
- memset(response.sendVendorSpecificHeaderOptions, 0, sizeof response.sendVendorSpecificHeaderOptions);
+ memset(response.sendVendorSpecificHeaderOptions,
+ 0, sizeof response.sendVendorSpecificHeaderOptions);
memset(response.resourceUri, 0, sizeof response.resourceUri);
// Indicate that response is NOT in a persistent buffer
response.persistentBufferFlag = 0;
return ret;
}
-OCEntityHandlerResult OCEntityHandlerLightCb(OCEntityHandlerFlag flag, OCEntityHandlerRequest * ehRequest)
+OCEntityHandlerResult OCEntityHandlerLightCb(OCEntityHandlerFlag flag,
+ OCEntityHandlerRequest * ehRequest)
{
OCEntityHandlerResult ret = OC_EH_OK;
OCEntityHandlerResponse response;
{
if(OC_REST_GET == ehRequest->method)
{
- ret = HandleCallback(ehRequest, rspGetLightDefault, rspFailureLight, payload, sizeof(payload));
+ ret = HandleCallback(ehRequest,
+ rspGetLightDefault, rspFailureLight, payload, sizeof(payload));
}
else if(OC_REST_PUT == ehRequest->method)
{
- ret = HandleCallback(ehRequest, rspPutLightDefault, rspFailureLight, payload, sizeof(payload));
+ ret = HandleCallback(ehRequest,
+ rspPutLightDefault, rspFailureLight, payload, sizeof(payload));
}
else
{
response.requestHandle = ehRequest->requestHandle;
response.resourceHandle = ehRequest->resource;
response.ehResult = ret;
- response.payload = (unsigned char *)payload;
+ response.payload = payload;
response.payloadSize = strlen(payload);
response.numSendVendorSpecificHeaderOptions = 0;
- memset(response.sendVendorSpecificHeaderOptions, 0, sizeof response.sendVendorSpecificHeaderOptions);
+ memset(response.sendVendorSpecificHeaderOptions,
+ 0, sizeof response.sendVendorSpecificHeaderOptions);
memset(response.resourceUri, 0, sizeof response.resourceUri);
// Indicate that response is NOT in a persistent buffer
response.persistentBufferFlag = 0;
return ret;
}
-OCEntityHandlerResult OCEntityHandlerFanCb(OCEntityHandlerFlag flag, OCEntityHandlerRequest * ehRequest)
+OCEntityHandlerResult OCEntityHandlerFanCb(OCEntityHandlerFlag flag,
+ OCEntityHandlerRequest * ehRequest)
{
OCEntityHandlerResult ret = OC_EH_OK;
OCEntityHandlerResponse response;
{
if(OC_REST_GET == ehRequest->method)
{
- ret = HandleCallback(ehRequest, rspGetFanDefault, rspFailureFan, payload, sizeof(payload));
+ ret = HandleCallback(ehRequest, rspGetFanDefault,
+ rspFailureFan, payload, sizeof(payload));
}
else if(OC_REST_PUT == ehRequest->method)
{
- ret = HandleCallback(ehRequest, rspPutFanDefault, rspFailureFan, payload, sizeof(payload));
+ ret = HandleCallback(ehRequest, rspPutFanDefault,
+ rspFailureFan, payload, sizeof(payload));
}
else
{
response.requestHandle = ehRequest->requestHandle;
response.resourceHandle = ehRequest->resource;
response.ehResult = ret;
- response.payload = (unsigned char *)payload;
+ response.payload = payload;
response.payloadSize = strlen(payload);
response.numSendVendorSpecificHeaderOptions = 0;
- memset(response.sendVendorSpecificHeaderOptions, 0, sizeof response.sendVendorSpecificHeaderOptions);
+ memset(response.sendVendorSpecificHeaderOptions,
+ 0, sizeof response.sendVendorSpecificHeaderOptions);
memset(response.resourceUri, 0, sizeof response.resourceUri);
// Indicate that response is NOT in a persistent buffer
response.persistentBufferFlag = 0;
int main(int argc, char* argv[])
{
- uint8_t addr[20] = {0};
- uint8_t* paddr = NULL;
- uint16_t port = 0;
- uint8_t ifname[] = "eth0";
pthread_t threadId;
int opt;
return -1;
}
}
- if(TEST <= TEST_INVALID || TEST >= MAX_TESTS){
+ if(TEST <= TEST_INVALID || TEST >= MAX_TESTS)
+ {
PrintUsage();
return -1;
}
OC_LOG(DEBUG, TAG, "OCServer is starting...");
- /*Get Ip address on defined interface and initialize coap on it with random port number
- * this port number will be used as a source port in all coap communications*/
- if (OCGetInterfaceAddress(ifname, sizeof(ifname), AF_INET, addr,
- sizeof(addr)) == ERR_SUCCESS)
- {
- OC_LOG_V(INFO, TAG, "Starting ocserver on address %s:%d",addr,port);
- paddr = addr;
- }
- if (OCInit((char *) paddr, port, OC_SERVER) != OC_STACK_OK) {
+ if (OCInit(NULL, 0, OC_SERVER) != OC_STACK_OK)
+ {
OC_LOG(ERROR, TAG, "OCStack init error");
return 0;
}
OCResourceHandle fan;
OCStackResult res = OCCreateResource(&fan,
"core.fan",
- "oc.mi.def",
+ OC_RSRVD_INTERFACE_DEFAULT,
"/a/fan",
OCEntityHandlerFanCb,
OC_DISCOVERABLE|OC_OBSERVABLE);
OCResourceHandle light;
res = OCCreateResource(&light,
"core.light",
- "oc.mi.def",
+ OC_RSRVD_INTERFACE_DEFAULT,
"/a/light",
OCEntityHandlerLightCb,
OC_DISCOVERABLE|OC_OBSERVABLE);
{
res = OCCreateResource(&room,
"core.room",
- "oc.mi.b",
+ OC_RSRVD_INTERFACE_BATCH,
"/a/room",
OCEntityHandlerRoomCb,
OC_DISCOVERABLE);
{
res = OCCreateResource(&room,
"core.room",
- "oc.mi.b",
+ OC_RSRVD_INTERFACE_BATCH,
"/a/room",
NULL,
OC_DISCOVERABLE);
}
OC_LOG_V(INFO, TAG, "Created room resource with result: %s", getResult(res));
- OCBindResourceInterfaceToResource(room, "oc.mi.ll");
- OCBindResourceInterfaceToResource(room, "oc.mi.def");
+ 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));
res = OCBindResource(room, fan);
OC_LOG_V(INFO, TAG, "OC Bind Contained Resource to resource: %s", getResult(res));
}
+