void Array_FreeItem(ArrayItem * valueItem, AwaResourceType resourceType) { if (resourceType == AwaResourceType_OpaqueArray) { AwaOpaque * opaque = (AwaOpaque *)valueItem->Value; LogFree("AwaArray.OpaqueData", opaque->Data); Awa_MemSafeFree(opaque->Data); } Array_FreeItemValue(valueItem); LogFree("AwaArray.Item", valueItem); Awa_MemSafeFree(valueItem); }
void StringIterator_Free(StringIterator ** iterator) { if ((iterator != NULL) && (*iterator != NULL)) { // free memory managed by iterator: Iterator_FreeValues((*iterator)->Iterator); Iterator_Free(&(*iterator)->Iterator); LogFree("StringIterator", *iterator); Awa_MemSafeFree(*iterator); *iterator = NULL; } }
void OperationCommon_Free(OperationCommon ** operation) { if ((operation != NULL) && (*operation != NULL)) { // do not free the session, it is not owned by the operation Tree_DetachNode((*operation)->ObjectsTree); ObjectsTree_Free((*operation)->ObjectsTree); LogFree("OperationCommon", operation); Awa_MemSafeFree(*operation); *operation = NULL; } }
AwaError AwaServerExecuteOperation_Free(AwaServerExecuteOperation ** operation) { AwaError result = AwaError_OperationInvalid; if ((operation != NULL) && (*operation != NULL)) { ServerOperation_Free(&(*operation)->ServerOperation); ServerResponse_Free(&(*operation)->Response); LogFree("AwaServerExecuteOperation", *operation); Awa_MemSafeFree(*operation); *operation = NULL; result = AwaError_Success; } return result; }
AwaError ChangeSet_Free(AwaChangeSet ** changeSet) { AwaError result = AwaError_OperationInvalid; if ((changeSet != NULL) && (*changeSet != NULL)) { LogFree("AwaChangeSet", *changeSet); ResponseCommon_Free(&(*changeSet)->ResponseCommon); OperationCommon_Free(&(*changeSet)->OperationCommon); Awa_MemSafeFree(*changeSet); *changeSet = NULL; result = AwaError_Success; } return result; }
AwaError AwaServerListClientsOperation_Free(AwaServerListClientsOperation ** operation) { AwaError result = AwaError_OperationInvalid; if ((operation != NULL) && (*operation != NULL)) { ServerResponse_Free(&(*operation)->ServerResponse); ServerOperation_Free(&(*operation)->ServerOperation); Map_FreeValues((*operation)->ClientResponseMap); Map_Free(&((*operation)->ClientResponseMap)); LogFree("AwaServerListClientsOperation", *operation); Awa_MemSafeFree(*operation); *operation = NULL; result = AwaError_Success; } return result; }
AwaError AwaClientSetOperation_Free(AwaClientSetOperation ** operation) { AwaError result = AwaError_OperationInvalid; if ((operation != NULL) && (*operation != NULL)) { OperationCommon_Free(&(*operation)->Common); if ((*operation)->Response != NULL) { ResponseCommon_Free(&(*operation)->Response); } LogFree("AwaClientSetOperation", *operation); Awa_MemSafeFree(*operation); *operation = NULL; result = AwaError_Success; } return result; }
AwaError ResponseCommon_Free(ResponseCommon ** response) { AwaError result = AwaError_Unspecified; if ((response != NULL) && (*response != NULL)) { LogFree("ResponseCommon", *response); FreeSimpleMap(&((*response)->PathResults)); FreeSimpleMap(&((*response)->NulledValues)); FreeValues(&((*response)->Values)); Tree_Delete((*response)->ObjectsNode); Awa_MemSafeFree(*response); *response = NULL; result = AwaError_Success; } else { result = AwaError_OperationInvalid; } return result; }
AwaError AwaClientSubscribeOperation_Free(AwaClientSubscribeOperation ** operation) { AwaError result = AwaError_OperationInvalid; if (operation != NULL && *operation != NULL) { OperationCommon_Free(&(*operation)->Common); Map_ForEach((*operation)->Subscribers, RemoveSubscriptionLinkToOperation, *operation); Map_Free(&(*operation)->Subscribers); if ((*operation)->Response != NULL) { SubscribeResponse_Free(&(*operation)->Response); } LogFree("AwaClientSubscribeOperation", *operation); Awa_MemSafeFree(*operation); *operation = NULL; result = AwaError_Success; } return result; }
AwaError AwaServerSession_Free(AwaServerSession ** session) { AwaError result = AwaError_Success; if ((session != NULL) && (*session != NULL)) { SessionCommon_Free(&((*session)->SessionCommon)); (*session)->SessionCommon = NULL; Map_ForEach((*session)->Observers, RemoveObservationLinkToSession, NULL); Map_Free(&(*session)->Observers); Queue_Free(&((*session)->NotificationQueue)); // Free the session itself LogFree("AwaServerSession", *session); Awa_MemSafeFree(*session); *session = NULL; } else { result = LogErrorWithEnum(AwaError_SessionInvalid, "Session is NULL"); } return result; }
void Array_FreeItemValue(ArrayItem * valueItem) { LogFree("AwaArray.Item.Value", valueItem->Value); Awa_MemSafeFree(valueItem->Value); valueItem->Value = NULL; }