Пример #1
0
UA_Int32 UA_indexedList_addValueToFront(UA_indexedList_List* list, UA_Int32 index, void* payload) {
	if(list==UA_NULL)return UA_ERROR;
	UA_list_Element* dllElem;
	UA_alloc((void**)&dllElem, sizeof(UA_list_Element));
	UA_list_initElement(dllElem);
	UA_indexedList_Element* iilElem;
	UA_alloc((void**)&iilElem, sizeof(UA_indexedList_Element));
	UA_indexedList_initElement(iilElem);
	iilElem->index = index;
	iilElem->father = dllElem;
	iilElem->payload = payload;
	dllElem->payload = iilElem;
	return UA_list_addElementToFront((UA_list_List*)list, dllElem);
}
//TODO implement real nonce generator - DUMMY function
UA_StatusCode UA_SecureChannel_generateNonce(UA_ByteString *nonce) {
    if(!(nonce->data = UA_alloc(1)))
        return UA_STATUSCODE_BADOUTOFMEMORY;
    nonce->length  = 1;
    nonce->data[0] = 'a';
    return UA_STATUSCODE_GOOD;
}
Пример #3
0
END_TEST

void myAddPayloadValueToFront(UA_list_List *list, UA_Int32 payloadValue) {
	UA_Int32* payload;
	UA_alloc((void**)&payload, sizeof(*payload));
	*payload = payloadValue;
	UA_list_addPayloadToFront(list, payload);
}
Пример #4
0
UA_Int32 UA_list_addPayloadToBack(UA_list_List* list, void* const payload){
	if(list==UA_NULL)return UA_ERROR;
	UA_list_Element* elem;
	UA_alloc((void**)&elem, sizeof(*elem));
	UA_list_initElement(elem);
	elem->payload = payload;
	UA_list_addElementToBack(list, elem);
	return UA_NO_ERROR;
}
Пример #5
0
UA_Int32 UA_Text_decodeXmlFromStack(XML_Stack *s, XML_Attr *attr, UA_Byte **dst, _Bool isStart) {
	DBG_VERBOSE(printf("UA_String entered with dst=%p,isStart=%d\n", (void * )dst, isStart));
	UA_UInt32 i;
	if(isStart) {
		if(dst == UA_NULL) {
			UA_alloc((void **)&dst, sizeof(void *));
			s->parent[s->depth - 1].children[s->parent[s->depth - 1].activeChild].obj = (void *)dst;
		}
		// set attributes
		for(i = 0;attr[i];i += 2) {
			if(0 == strncmp("Data", attr[i], strlen("Data"))) {
				char *tmp;
				UA_alloc((void **)&tmp, strlen(attr[i+1])+1);
				strncpy(tmp, attr[i+1], strlen(attr[i+1]));
				tmp[strlen(attr[i+1])] = 0;
				*dst = (UA_Byte *)tmp;
			} else
				printf("UA_Text_decodeXml - Unknown attribute - name=%s, value=%s\n", attr[i], attr[i+1]);
		}
	}
	return UA_SUCCESS;
}
void Service_GetEndpoints(UA_Server                    *server,
                          const UA_GetEndpointsRequest *request,
                          UA_GetEndpointsResponse      *response) {
    UA_GetEndpointsResponse_init(response);
    response->endpointsSize = 1;
    response->endpoints = UA_alloc(sizeof(UA_EndpointDescription));
    if(!response->endpoints) {
        response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY;
        return;
    }
    if(UA_EndpointDescription_copy(server->endpointDescriptions, response->endpoints) != UA_STATUSCODE_GOOD) {
        UA_free(response->endpoints);
        response->responseHeader.serviceResult = UA_STATUSCODE_BADOUTOFMEMORY;
    }
}
Пример #7
0
UA_Int32 UA_NodeSet_new(UA_NodeSet **p, UA_UInt32 nsid) {
	UA_alloc((void ** )p, sizeof(UA_NodeSet));
	UA_NodeSet_init(*p, nsid);
	return UA_SUCCESS;
}
Пример #8
0
UA_Int32 UA_NodeSetAliases_new(UA_NodeSetAliases **p) {
	UA_alloc((void ** )p, sizeof(UA_NodeSetAliases));
	UA_NodeSetAliases_init(*p);
	return UA_SUCCESS;
}
Пример #9
0
UA_Int32 UA_TypedArray_new(UA_TypedArray **p) {
	UA_alloc((void ** )p, sizeof(UA_TypedArray));
	UA_TypedArray_init(*p);
	return UA_SUCCESS;
}