AwaCStringArrayIterator * AwaStringArray_NewCStringArrayIterator(const AwaStringArray * array) { AwaCStringArrayIterator * iterator = NULL; if (array != NULL) { AwaArray * nulledStrings = AwaArray_GetContext((AwaArray *)array); if (nulledStrings != NULL) { iterator = (AwaCStringArrayIterator *)ArrayIterator_New((const AwaArray *)nulledStrings); } } return iterator; }
static AwaError ClientSetOperation_AddValues(AwaClientSetOperation * operation, const char * path, const AwaArray * array, AwaResourceType type) { AwaError result = AwaError_Unspecified; AwaArrayIterator * iterator = ArrayIterator_New(array); if (iterator) { while(ArrayIterator_Next(iterator)) { AwaArrayIndex index = ArrayIterator_GetIndex(iterator); void * value = ArrayIterator_GetValue(iterator); size_t length = ArrayIterator_GetValueLength(iterator); if (type == AwaResourceType_OpaqueArray) { AwaOpaque * opaque = value; value = opaque->Data; length = opaque->Size; } LogDebug("Adding value %p", value); if (value) { result = ClientSetOperation_AddValue(operation, path, index, value, length, type, SetArrayMode_Replace); if (result != AwaError_Success) { LogError("Unable to add array resource Instance"); break; } } else { result = LogErrorWithEnum(AwaError_Internal , "Problem with array"); break; } } ArrayIterator_Free(&iterator); } else { result = LogErrorWithEnum(AwaError_OperationInvalid, "Operation is NULL"); } return result; }
AwaObjectLinkArrayIterator * AwaObjectLinkArray_NewObjectLinkArrayIterator(const AwaObjectLinkArray * array) { return (AwaObjectLinkArrayIterator *)ArrayIterator_New((const AwaArray *)array); }
AwaFloatArrayIterator * AwaFloatArray_NewFloatArrayIterator(const AwaFloatArray * array) { return (AwaFloatArrayIterator*)ArrayIterator_New((AwaArray*)array); }