OCEntityHandlerResult ProcessPutRequest(OCEntityHandlerRequest *ehRequest, OCRepPayload** payload);
OCEntityHandlerResult ProcessPostRequest(OCEntityHandlerRequest *ehRequest, OCRepPayload** payload);
void updateProvResource(OCEntityHandlerRequest* ehRequest, OCRepPayload* input);
-void updateWiFiResource(OCEntityHandlerRequest* ehRequest, OCRepPayload* input);
-void updateCloudResource(OCEntityHandlerRequest* ehRequest, OCRepPayload* input);
-void updateDevConfResource(OCEntityHandlerRequest* ehRequest, OCRepPayload* input);
+void updateWiFiResource(OCRepPayload* input);
+void updateCloudResource(OCRepPayload* input);
+void updateDevConfResource(OCRepPayload* input);
const char *getResult(OCStackResult result);
ESWiFiCB gWifiRsrcEvtCb = NULL;
if(CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_BATCH))
{
// When Provisioning resource has a POST with BatchInterface
- updateCloudResource(NULL, input);
- updateWiFiResource(NULL, input);
- updateDevConfResource(NULL, input);
+ updateCloudResource(input);
+ updateWiFiResource(input);
+ updateDevConfResource(input);
}
}
}
-void updateWiFiResource(OCEntityHandlerRequest* ehRequest, OCRepPayload* input)
+void updateWiFiResource(OCRepPayload* input)
{
- if(ehRequest &&
- strcmp(ehRequest->query, "") &&
- !CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_DEFAULT))
- {
- // In case of link list, batch interface
- OIC_LOG(ERROR, ES_RH_TAG, "Not supported Interface");
- return ;
- }
-
ESWiFiProvData* wiFiData = (ESWiFiProvData*)OICMalloc(sizeof(ESWiFiProvData));
if(wiFiData == NULL)
OICFree(wiFiData);
}
-void updateCloudResource(OCEntityHandlerRequest* ehRequest, OCRepPayload* input)
+void updateCloudResource(OCRepPayload* input)
{
- if(ehRequest &&
- strcmp(ehRequest->query, "") &&
- !CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_DEFAULT))
- {
- // In case of link list, batch interface
- OIC_LOG(ERROR, ES_RH_TAG, "Not supported Interface");
- return ;
- }
-
ESCloudProvData* cloudData = (ESCloudProvData*)OICMalloc(sizeof(ESCloudProvData));
if(cloudData == NULL)
OICFree(cloudData);
}
-void updateDevConfResource(OCEntityHandlerRequest* ehRequest, OCRepPayload* input)
+void updateDevConfResource(OCRepPayload* input)
{
- if(ehRequest &&
- strcmp(ehRequest->query, "") &&
- !CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_DEFAULT))
- {
- // In case of link list, batch interface
- OIC_LOG(ERROR, ES_RH_TAG, "Not supported Interface");
- return ;
- }
-
ESDevConfProvData* devConfData = (ESDevConfProvData*)OICMalloc(sizeof(ESDevConfProvData));
if(devConfData == NULL)
OICFree(devConfData);
}
-OCRepPayload* constructResponseOfWiFi(OCEntityHandlerRequest *ehRequest)
+OCRepPayload* constructResponseOfWiFi()
{
- if(ehRequest &&
- strcmp(ehRequest->query, "") &&
- !CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_DEFAULT))
- {
- // In case of link list, batch interface
- OIC_LOG(ERROR, ES_RH_TAG, "Not supported Interface");
- return NULL;
- }
-
OCRepPayload* payload = OCRepPayloadCreate();
if (!payload)
{
return payload;
}
-OCRepPayload* constructResponseOfCloud(OCEntityHandlerRequest *ehRequest)
+OCRepPayload* constructResponseOfCloud()
{
- if(ehRequest &&
- strcmp(ehRequest->query, "") &&
- !CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_DEFAULT))
- {
- // In case of link list, batch interface
- OIC_LOG(ERROR, ES_RH_TAG, "Not supported Interface");
- return NULL;
- }
-
OCRepPayload* payload = OCRepPayloadCreate();
if (!payload)
{
return payload;
}
-OCRepPayload* constructResponseOfDevConf(OCEntityHandlerRequest *ehRequest)
+OCRepPayload* constructResponseOfDevConf()
{
- if(ehRequest &&
- strcmp(ehRequest->query, "") &&
- !CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_DEFAULT))
- {
- // In case of link list, batch interface
- OIC_LOG(ERROR, ES_RH_TAG, "Not supported Interface");
- return NULL;
- }
-
OCRepPayload* payload = OCRepPayloadCreate();
if (!payload)
{
OCRepPayload* head = payload;
OCRepPayload* nextPayload = NULL;
- childResCnt = 0;
-
for(int i = 0 ; i < childResCnt ; ++i)
{
nextPayload = arrayPayload[i];
OCRepPayload* head = payload;
OCRepPayload* nextPayload = NULL;
- nextPayload = constructResponseOfWiFi(NULL);
+ nextPayload = constructResponseOfWiFi();
if(nextPayload != NULL)
{
payload->next = nextPayload;
payload = payload->next;
}
- nextPayload = constructResponseOfCloud(NULL);
+ nextPayload = constructResponseOfCloud();
if(nextPayload != NULL)
{
payload->next = nextPayload;
payload = payload->next;
}
- nextPayload = constructResponseOfDevConf(NULL);
+ nextPayload = constructResponseOfDevConf();
if(nextPayload != NULL)
{
payload->next = nextPayload;
}
else if(ehRequest->resource == gWiFiResource.handle)
{
- if(ehRequest->query &&
- strcmp(ehRequest->query, "") &&
- !CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_DEFAULT))
+ if(CheckEhRequestPayload(ehRequest) != OC_EH_OK)
{
OIC_LOG(ERROR, ES_RH_TAG, "Not supported Interface");
return OC_EH_BAD_REQ;
}
else
{
- getResp = constructResponseOfWiFi(ehRequest);
+ getResp = constructResponseOfWiFi();
}
}
else if(ehRequest->resource == gCloudResource.handle)
{
- if(ehRequest->query &&
- strcmp(ehRequest->query, "") &&
- !CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_DEFAULT))
+ if(CheckEhRequestPayload(ehRequest) != OC_EH_OK)
{
OIC_LOG(ERROR, ES_RH_TAG, "Not supported Interface");
return OC_EH_BAD_REQ;
}
else
{
- getResp = constructResponseOfCloud(ehRequest);
+ getResp = constructResponseOfCloud();
}
}
else if(ehRequest->resource == gDevConfResource.handle)
{
- if(ehRequest->query &&
- strcmp(ehRequest->query, "") &&
- !CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_DEFAULT))
+ if(CheckEhRequestPayload(ehRequest) != OC_EH_OK)
{
OIC_LOG(ERROR, ES_RH_TAG, "Not supported Interface");
return OC_EH_BAD_REQ;
}
else
{
- getResp = constructResponseOfDevConf(ehRequest);
+ getResp = constructResponseOfDevConf();
}
}
}
else if(ehRequest->resource == gWiFiResource.handle)
{
- if(ehRequest->query &&
- strcmp(ehRequest->query, "") &&
- !CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_DEFAULT))
+ if(CheckEhRequestPayload(ehRequest) != OC_EH_OK)
{
OIC_LOG(ERROR, ES_RH_TAG, "Not supported Interface");
return OC_EH_BAD_REQ;
}
else
{
- updateWiFiResource(ehRequest, input);
+ updateWiFiResource(input);
}
}
else if(ehRequest->resource == gCloudResource.handle)
{
- if(ehRequest->query &&
- strcmp(ehRequest->query, "") &&
- !CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_DEFAULT))
+ if(CheckEhRequestPayload(ehRequest) != OC_EH_OK)
{
OIC_LOG(ERROR, ES_RH_TAG, "Not supported Interface");
return OC_EH_BAD_REQ;
}
else
{
- updateCloudResource(ehRequest, input);
+ updateCloudResource(input);
}
}
else if(ehRequest->resource == gDevConfResource.handle)
{
- if(ehRequest->query &&
- strcmp(ehRequest->query, "") &&
- !CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_DEFAULT))
+ if(CheckEhRequestPayload(ehRequest) != OC_EH_OK)
{
OIC_LOG(ERROR, ES_RH_TAG, "Not supported Interface");
return OC_EH_BAD_REQ;
}
else
{
- updateDevConfResource(ehRequest, input);
+ updateDevConfResource(input);
}
}
}
else if(ehRequest->resource == gWiFiResource.handle)
{
- getResp = constructResponseOfWiFi(NULL);
+ getResp = constructResponseOfWiFi();
}
else if(ehRequest->resource == gCloudResource.handle)
{
- getResp = constructResponseOfCloud(NULL);
+ getResp = constructResponseOfCloud();
}
else if(ehRequest->resource == gDevConfResource.handle)
{
- getResp = constructResponseOfDevConf(NULL);
+ getResp = constructResponseOfDevConf();
}
if (!getResp)
return OC_STACK_OK;
}
+OCEntityHandlerResult CheckEhRequestPayload(OCEntityHandlerRequest *ehRequest)
+{
+ if( !(ehRequest->query) ||
+ (ehRequest->query &&
+ (strcmp(ehRequest->query, "") && !CompareResourceInterface(ehRequest->query,
+ OC_RSRVD_INTERFACE_DEFAULT))))
+ {
+ OIC_LOG(ERROR, ES_RH_TAG, "Not supported Interface");
+ return OC_EH_BAD_REQ;
+ }
+ return OC_EH_OK;
+}
+
const char *getResult(OCStackResult result)
{
switch (result)