ua_indexedList.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef UA_INDEXEDLIST_H_
  2. #define UA_INDEXEDLIST_H_
  3. #include "opcua.h"
  4. /* UA_indexedList reuses many types of UA_list */
  5. #include "ua_list.h"
  6. /*
  7. * Integer Indexed List
  8. */
  9. typedef struct UA_indexedList_Element {
  10. struct UA_list_Element* father;
  11. UA_Int32 index;
  12. void* payload;
  13. }UA_indexedList_Element;
  14. typedef UA_list_List UA_indexedList_List;
  15. typedef UA_list_PayloadVisitor UA_indexedList_PayloadVisitor;
  16. void UA_indexedList_defaultFreer(void* payload);
  17. UA_Int32 UA_indexedList_init(UA_indexedList_List* list);
  18. UA_Int32 UA_indexedList_destroy(UA_indexedList_List* list, UA_indexedList_PayloadVisitor visitor);
  19. UA_Int32 UA_indexedList_initElement(UA_indexedList_Element* elem);
  20. UA_Int32 UA_indexedList_addValue(UA_indexedList_List* list, UA_Int32 index, void* payload);
  21. UA_Int32 UA_indexedList_addValueToFront(UA_indexedList_List* list, UA_Int32 index, void* payload);
  22. UA_indexedList_Element* UA_indexedList_find(UA_indexedList_List* const list, UA_Int32 index);
  23. void* UA_indexedList_findValue(UA_indexedList_List* const list, UA_Int32 index);
  24. UA_Int32 UA_indexedList_iterateValues(UA_indexedList_List* const list, UA_indexedList_PayloadVisitor visitor);
  25. UA_Int32 UA_indexedList_removeElement(UA_indexedList_List* list, UA_indexedList_Element* elem, UA_indexedList_PayloadVisitor visitor);
  26. #endif /* UA_INDEXEDLIST_H_ */