X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fstack%2Fsrc%2Foicgroup.c;h=383d66af2c420a68b8ab374fafd64dc352353104;hb=390866079e285d2c74918432c0d597d5da52f8a0;hp=20d873540567a5ed4d7c2ec504b130b2be00c4ee;hpb=3e9402ad71cb3e93266a77796f44d17bab9853fd;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/stack/src/oicgroup.c b/resource/csdk/stack/src/oicgroup.c index 20d8735..383d66a 100755 --- a/resource/csdk/stack/src/oicgroup.c +++ b/resource/csdk/stack/src/oicgroup.c @@ -36,7 +36,7 @@ #include #endif -#define TAG "OICGROUP" +#define TAG "OIC_RI_GROUP" #define DESC_DELIMITER "\"" #define ACTION_DELIMITER "*" @@ -98,7 +98,7 @@ ScheduledResourceInfo *scheduleResourceList = NULL; void AddScheduledResource(ScheduledResourceInfo **head, ScheduledResourceInfo* add) { - OC_LOG(INFO, TAG, "AddScheduledResource Entering..."); + OIC_LOG(INFO, TAG, "AddScheduledResource Entering..."); #ifndef WITH_ARDUINO pthread_mutex_lock(&lock); @@ -126,7 +126,7 @@ void AddScheduledResource(ScheduledResourceInfo **head, ScheduledResourceInfo* GetScheduledResource(ScheduledResourceInfo *head) { - OC_LOG(INFO, TAG, "GetScheduledResource Entering..."); + OIC_LOG(INFO, TAG, "GetScheduledResource Entering..."); #ifndef WITH_ARDUINO pthread_mutex_lock(&lock); @@ -156,7 +156,7 @@ ScheduledResourceInfo* GetScheduledResource(ScheduledResourceInfo *head) if (diffTm <= (time_t) 0) { - OC_LOG(INFO, TAG, "return Call INFO."); + OIC_LOG(INFO, TAG, "return Call INFO."); goto exit; } @@ -170,14 +170,14 @@ ScheduledResourceInfo* GetScheduledResource(ScheduledResourceInfo *head) #endif if (tmp == NULL) { - OC_LOG(INFO, TAG, "Cannot Find Call Info."); + OIC_LOG(INFO, TAG, "Cannot Find Call Info."); } return tmp; } ScheduledResourceInfo* GetScheduledResourceByActionSetName(ScheduledResourceInfo *head, char *setName) { - OC_LOG(INFO, TAG, "GetScheduledResourceByActionSetName Entering..."); + OIC_LOG(INFO, TAG, "GetScheduledResourceByActionSetName Entering..."); #ifndef WITH_ARDUINO pthread_mutex_lock(&lock); @@ -191,7 +191,7 @@ ScheduledResourceInfo* GetScheduledResourceByActionSetName(ScheduledResourceInfo { if (strcmp(tmp->actionset->actionsetName, setName) == 0) { - OC_LOG(INFO, TAG, "return Call INFO."); + OIC_LOG(INFO, TAG, "return Call INFO."); goto exit; } tmp = tmp->next; @@ -204,7 +204,7 @@ exit: #endif if (tmp == NULL) { - OC_LOG(INFO, TAG, "Cannot Find Call Info."); + OIC_LOG(INFO, TAG, "Cannot Find Call Info."); } return tmp; } @@ -215,7 +215,7 @@ void RemoveScheduledResource(ScheduledResourceInfo **head, #ifndef WITH_ARDUINO pthread_mutex_lock(&lock); #endif - OC_LOG(INFO, TAG, "RemoveScheduledResource Entering..."); + OIC_LOG(INFO, TAG, "RemoveScheduledResource Entering..."); ScheduledResourceInfo *tmp = NULL; if (del == NULL) @@ -496,24 +496,6 @@ OCStackResult FindAndDeleteActionSet(OCResource **resource, return OC_STACK_ERROR; } -OCStackResult DeleteActionSets(OCResource** resource) -{ - OCActionSet *pointer = (*resource)->actionsetHead; - OCActionSet *pDel = pointer; - - while (pointer) - { - pDel = pointer; - pointer = pointer->next; - - DeleteActionSet(&pDel); - pDel->next = NULL; - } - - (*resource)->actionsetHead = NULL; - return OC_STACK_OK; -} - OCStackResult GetActionSet(const char *actionName, OCActionSet *head, OCActionSet** actionset) { @@ -647,12 +629,13 @@ OCStackResult BuildActionSetFromString(OCActionSet **set, char* actiondesc) OCAction *action = NULL; OCCapability *capa = NULL; - OC_LOG(INFO, TAG, "Build ActionSet Instance."); + OIC_LOG(INFO, TAG, "Build ActionSet Instance."); *set = (OCActionSet*) OICMalloc(sizeof(OCActionSet)); VARIFY_POINTER_NULL(*set, result, exit) iterToken = (char *) strtok_r(actiondesc, ACTION_DELIMITER, &iterTokenPtr); + VARIFY_POINTER_NULL(iterToken, result, exit); // ActionSet Name memset(*set, 0, sizeof(OCActionSet)); @@ -675,7 +658,7 @@ OCStackResult BuildActionSetFromString(OCActionSet **set, char* actiondesc) } #endif - OC_LOG_V(INFO, TAG, "ActionSet Name : %s", (*set)->actionsetName); + OIC_LOG_V(INFO, TAG, "ActionSet Name : %s", (*set)->actionsetName); iterToken = (char *) strtok_r(NULL, ACTION_DELIMITER, &iterTokenPtr); while (iterToken) @@ -704,6 +687,7 @@ OCStackResult BuildActionSetFromString(OCActionSet **set, char* actiondesc) attrIterToken = (char *) strtok_r(NULL, ATTR_ASSIGN, &attrIterTokenPtr); + VARIFY_POINTER_NULL(attrIterToken, result, exit); value = (char *) OICMalloc(strlen(attrIterToken) + 1); VARIFY_POINTER_NULL(value, result, exit) VARIFY_PARAM_NULL(attrIterToken, result, exit) @@ -711,7 +695,7 @@ OCStackResult BuildActionSetFromString(OCActionSet **set, char* actiondesc) if (strcmp(key, "uri") == 0) { - OC_LOG(INFO, TAG, "Build OCAction Instance."); + OIC_LOG(INFO, TAG, "Build OCAction Instance."); action = (OCAction*) OICMalloc(sizeof(OCAction)); VARIFY_POINTER_NULL(action, result, exit) @@ -725,7 +709,7 @@ OCStackResult BuildActionSetFromString(OCActionSet **set, char* actiondesc) { if ((key != NULL) && (value != NULL)) { - OC_LOG(INFO, TAG, "Build OCCapability Instance."); + OIC_LOG(INFO, TAG, "Build OCCapability Instance."); capa = (OCCapability*) OICMalloc(sizeof(OCCapability)); VARIFY_POINTER_NULL(capa, result, exit) @@ -785,14 +769,15 @@ OCStackResult BuildStringFromActionSet(OCActionSet* actionset, char** desc) char temp[1024] = { 0 }; size_t remaining = sizeof(temp) - 1; OCStackResult res = OC_STACK_ERROR; + char* actionTypeStr = NULL; OCAction *action = actionset->head; if (remaining >= strlen(actionset->actionsetName) + 1) { - strcat(temp, actionset->actionsetName); + strncat(temp, actionset->actionsetName, strlen(actionset->actionsetName)); remaining -= strlen(actionset->actionsetName); - strcat(temp, ACTION_DELIMITER); + strncat(temp, ACTION_DELIMITER, strlen(ACTION_DELIMITER)); remaining--; } else @@ -801,6 +786,31 @@ OCStackResult BuildStringFromActionSet(OCActionSet* actionset, char** desc) goto exit; } + actionTypeStr = (char *)malloc(1024); + if(actionTypeStr != NULL) + { + sprintf(actionTypeStr, "%ld %u", actionset->timesteps, actionset->type); + if(remaining >= strlen(actionTypeStr) + strlen(ACTION_DELIMITER) + 1) + { + strncat(temp, actionTypeStr, strlen(actionTypeStr)); + remaining -= strlen(actionTypeStr); + strncat(temp, ACTION_DELIMITER, strlen(ACTION_DELIMITER)); + remaining -= strlen(ACTION_DELIMITER); + free(actionTypeStr); + } + else + { + free(actionTypeStr); + res = OC_STACK_ERROR; + goto exit; + } + } + else + { + res = OC_STACK_ERROR; + goto exit; + } + while (action != NULL) { if (remaining < (strlen("uri=") + strlen(action->resourceUri) + 1)) @@ -808,6 +818,7 @@ OCStackResult BuildStringFromActionSet(OCActionSet* actionset, char** desc) res = OC_STACK_ERROR; goto exit; } + strcat(temp, "uri="); remaining -= strlen("uri="); strcat(temp, action->resourceUri); @@ -841,6 +852,7 @@ OCStackResult BuildStringFromActionSet(OCActionSet* actionset, char** desc) goto exit; } strcat(temp, "|"); + remaining --; } } @@ -872,7 +884,7 @@ OCStackApplicationResult ActionSetCB(void* context, OCDoHandle handle, { (void)context; (void)clientResponse; - OC_LOG(INFO, TAG, "Entering ActionSetCB"); + OIC_LOG(INFO, TAG, "Entering ActionSetCB"); ClientRequestInfo *info = GetClientRequestInfo(clientRequstList, handle); @@ -884,7 +896,7 @@ OCStackApplicationResult ActionSetCB(void* context, OCDoHandle handle, if(NULL == clientResponse->payload) { - OC_LOG(ERROR, TAG, "Error sending response"); + OIC_LOG(ERROR, TAG, "Error sending response"); return OC_STACK_DELETE_TRANSACTION; } @@ -902,7 +914,7 @@ OCStackApplicationResult ActionSetCB(void* context, OCDoHandle handle, // Send the response if (OCDoResponse(&response) != OC_STACK_OK) { - OC_LOG(ERROR, TAG, "Error sending response"); + OIC_LOG(ERROR, TAG, "Error sending response"); return OC_STACK_DELETE_TRANSACTION; } @@ -928,7 +940,7 @@ OCStackResult BuildActionJSON(OCAction* action, unsigned char* bufferPtr, char *jsonStr; uint16_t jsonLen; - OC_LOG(INFO, TAG, "Entering BuildActionJSON"); + OIC_LOG(INFO, TAG, "Entering BuildActionJSON"); json = cJSON_CreateObject(); cJSON_AddItemToObject(json, "rep", body = cJSON_CreateObject()); @@ -946,7 +958,7 @@ OCStackResult BuildActionJSON(OCAction* action, unsigned char* bufferPtr, jsonLen = strlen(jsonStr); if (jsonLen < *remaining) { - strcat((char*) bufferPtr, jsonStr); + strncat((char*) bufferPtr, jsonStr, jsonLen); *remaining -= jsonLen; bufferPtr += jsonLen; ret = OC_STACK_OK; @@ -964,7 +976,7 @@ OCPayload* BuildActionCBOR(OCAction* action) if (!payload) { - OC_LOG(INFO, TAG, "Failed to create put payload object"); + OIC_LOG(INFO, TAG, "Failed to create put payload object"); return NULL; } @@ -1061,27 +1073,27 @@ OCStackResult DoAction(OCResource* resource, OCActionSet* actionset, void DoScheduledGroupAction() { - OC_LOG(INFO, TAG, "DoScheduledGroupAction Entering..."); + OIC_LOG(INFO, TAG, "DoScheduledGroupAction Entering..."); ScheduledResourceInfo* info = GetScheduledResource(scheduleResourceList); if (info == NULL) { - OC_LOG(INFO, TAG, "Target resource is NULL"); + OIC_LOG(INFO, TAG, "Target resource is NULL"); goto exit; } else if (info->resource == NULL) { - OC_LOG(INFO, TAG, "Target resource is NULL"); + OIC_LOG(INFO, TAG, "Target resource is NULL"); goto exit; } else if (info->actionset == NULL) { - OC_LOG(INFO, TAG, "Target ActionSet is NULL"); + OIC_LOG(INFO, TAG, "Target ActionSet is NULL"); goto exit; } else if (info->ehRequest == NULL) { - OC_LOG(INFO, TAG, "Target ActionSet is NULL"); + OIC_LOG(INFO, TAG, "Target ActionSet is NULL"); goto exit; } #ifndef WITH_ARDUINO @@ -1100,7 +1112,7 @@ void DoScheduledGroupAction() if (schedule) { - OC_LOG(INFO, TAG, "Building New Call Info."); + OIC_LOG(INFO, TAG, "Building New Call Info."); memset(schedule, 0, sizeof(ScheduledResourceInfo)); if (info->actionset->timesteps > 0) @@ -1116,7 +1128,7 @@ void DoScheduledGroupAction() &schedule->timer_id, &DoScheduledGroupAction); - OC_LOG(INFO, TAG, "Reregisteration."); + OIC_LOG(INFO, TAG, "Reregisteration."); #ifndef WITH_ARDUINO pthread_mutex_unlock(&lock); #endif @@ -1142,7 +1154,7 @@ OCStackResult BuildCollectionGroupActionCBORResponse( { OCStackResult stackRet = OC_STACK_ERROR; - OC_LOG(INFO, TAG, "Group Action is requested."); + OIC_LOG(INFO, TAG, "Group Action is requested."); char *doWhat = NULL; char *details = NULL; @@ -1151,7 +1163,7 @@ OCStackResult BuildCollectionGroupActionCBORResponse( if(stackRet != OC_STACK_OK) { - OC_LOG_V(ERROR, TAG, "ExtractKeyValueFromRequest failed: %d", stackRet); + OIC_LOG_V(ERROR, TAG, "ExtractKeyValueFromRequest failed: %d", stackRet); return stackRet; } @@ -1159,7 +1171,7 @@ OCStackResult BuildCollectionGroupActionCBORResponse( if (method == OC_REST_PUT) { - OC_LOG(INFO, TAG, "Group Action[PUT]."); + OIC_LOG(INFO, TAG, "Group Action[PUT]."); if (strcmp(doWhat, ACTIONSET) == 0) { @@ -1178,7 +1190,7 @@ OCStackResult BuildCollectionGroupActionCBORResponse( { DeleteActionSet( &actionSet ); } - OC_LOG(INFO, TAG, "Duplicated ActionSet "); + OIC_LOG(INFO, TAG, "Duplicated ActionSet "); } } else @@ -1209,7 +1221,7 @@ OCStackResult BuildCollectionGroupActionCBORResponse( if(!payload) { - OC_LOG(ERROR, TAG, "Failed to allocate Payload"); + OIC_LOG(ERROR, TAG, "Failed to allocate Payload"); stackRet = OC_STACK_ERROR; } else @@ -1236,7 +1248,7 @@ OCStackResult BuildCollectionGroupActionCBORResponse( // Send the response if (OCDoResponse(&response) != OC_STACK_OK) { - OC_LOG(ERROR, TAG, "Error sending response"); + OIC_LOG(ERROR, TAG, "Error sending response"); stackRet = OC_STACK_ERROR; } } @@ -1272,21 +1284,21 @@ OCStackResult BuildCollectionGroupActionCBORResponse( if (GetActionSet(details, resource->actionsetHead, &actionset) != OC_STACK_OK) { - OC_LOG(INFO, TAG, "ERROR"); + OIC_LOG(INFO, TAG, "ERROR"); stackRet = OC_STACK_ERROR; } if (actionset == NULL) { - OC_LOG(INFO, TAG, "Cannot Find ActionSet"); + OIC_LOG(INFO, TAG, "Cannot Find ActionSet"); stackRet = OC_STACK_ERROR; } else { - OC_LOG(INFO, TAG, "Group Action[POST]."); + OIC_LOG(INFO, TAG, "Group Action[POST]."); if (actionset->type == NONE) { - OC_LOG_V(INFO, TAG, "Execute ActionSet : %s", + OIC_LOG_V(INFO, TAG, "Execute ActionSet : %s", actionset->actionsetName); unsigned int num = GetNumOfTargetResource( actionset->head); @@ -1302,7 +1314,7 @@ OCStackResult BuildCollectionGroupActionCBORResponse( } else { - OC_LOG_V(INFO, TAG, "Execute Scheduled ActionSet : %s", + OIC_LOG_V(INFO, TAG, "Execute Scheduled ActionSet : %s", actionset->actionsetName); delay = @@ -1314,7 +1326,7 @@ OCStackResult BuildCollectionGroupActionCBORResponse( if (schedule) { - OC_LOG(INFO, TAG, "Building New Call Info."); + OIC_LOG(INFO, TAG, "Building New Call Info."); memset(schedule, 0, sizeof(ScheduledResourceInfo)); #ifndef WITH_ARDUINO @@ -1329,7 +1341,7 @@ OCStackResult BuildCollectionGroupActionCBORResponse( #endif if (delay > 0) { - OC_LOG_V(INFO, TAG, "delay_time is %lf seconds.", + OIC_LOG_V(INFO, TAG, "delay_time is %ld seconds.", actionset->timesteps); #ifndef WITH_ARDUINO pthread_mutex_lock(&lock); @@ -1392,7 +1404,7 @@ OCStackResult BuildCollectionGroupActionCBORResponse( if(!payload) { - OC_LOG(ERROR, TAG, "Failed to allocate Payload"); + OIC_LOG(ERROR, TAG, "Failed to allocate Payload"); stackRet = OC_STACK_ERROR; } else @@ -1418,7 +1430,7 @@ OCStackResult BuildCollectionGroupActionCBORResponse( // Send the response if (OCDoResponse(&response) != OC_STACK_OK) { - OC_LOG(ERROR, TAG, "Error sending response"); + OIC_LOG(ERROR, TAG, "Error sending response"); stackRet = OC_STACK_ERROR; } }