UA_indexedList.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef UA_INDEXEDLIST_H_
  2. #define UA_INDEXEDLIST_H_
  3. #include "opcua_builtInDatatypes.h"
  4. /* UA_indexedList reuses many types of UA_list */
  5. #include "UA_list.h"
  6. /*
  7. * Integer Indexed List
  8. */
  9. typedef struct T_UA_indexedList_Element {
  10. struct T_UA_list_Element* father;
  11. 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. Int32 UA_indexedList_init(UA_indexedList_List* const list);
  18. Int32 UA_indexedList_destroy(UA_indexedList_List* const list, UA_indexedList_PayloadVisitor visitor);
  19. Int32 UA_indexedList_initElement(UA_indexedList_Element* const elem);
  20. Int32 UA_indexedList_addValue(UA_indexedList_List* const list, Int32 index, void* payload);
  21. Int32 UA_indexedList_addValueToFront(UA_indexedList_List* const list, Int32 index, void* payload);
  22. UA_indexedList_Element* UA_indexedList_find(UA_indexedList_List* const list, Int32 index);
  23. void* UA_indexedList_findValue(UA_indexedList_List* const list, Int32 index);
  24. Int32 UA_indexedList_iterateValues(UA_indexedList_List* const list, UA_indexedList_PayloadVisitor visitor);
  25. Int32 UA_indexedList_removeElement(UA_indexedList_List* const list, UA_indexedList_Element* elem, UA_indexedList_PayloadVisitor visitor);
  26. #endif /* UA_INDEXEDLIST_H_ */