ua_methodcall_manager.h 977 B

12345678910111213141516171819202122232425
  1. #ifndef UA_METHODCALL_H
  2. #define UA_METHODCALL_H
  3. #include "ua_util.h"
  4. #include "ua_types.h"
  5. #include "ua_types_generated.h"
  6. #include "ua_nodes.h"
  7. typedef struct UA_NodeAttachedMethod_s {
  8. UA_Node methodNodeId;
  9. UA_Variant* (*method)(UA_Node *object, UA_UInt32 InputArgumentsSize, UA_Variant *InputArguments, UA_UInt32 *OutputArgumentsSize);
  10. LIST_ENTRY(UA_NodeAttachedMethod_s) listEntry;
  11. } UA_NodeAttachedMethod;
  12. typedef struct UA_MethodCall_Manager_s {
  13. LIST_HEAD(UA_ListOfUAAttachedMethods, UA_NodeAttachedMethod_s) attachedMethods;
  14. } UA_MethodCall_Manager;
  15. UA_MethodCall_Manager *UA_MethodCallManager_new(void);
  16. void UA_MethodCallManager_deleteMembers(UA_MethodCall_Manager *manager);
  17. void UA_MethodCallManager_destroy(UA_MethodCall_Manager *manager);
  18. UA_StatusCode UA_Server_detachMethod_fromNode(UA_Server *server, UA_NodeId methodNodeId);
  19. UA_StatusCode UA_Server_attachMethod_toNode(UA_Server *server, UA_NodeId methodNodeId, UA_Variant* *method);
  20. #endif