123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- #ifndef UA_PLUGIN_ACCESS_CONTROL_H_
- #define UA_PLUGIN_ACCESS_CONTROL_H_
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "ua_types.h"
- struct UA_AccessControl;
- typedef struct UA_AccessControl UA_AccessControl;
- struct UA_AccessControl {
- void *context;
- void (*deleteMembers)(UA_AccessControl *ac);
-
- size_t userTokenPoliciesSize;
- UA_UserTokenPolicy *userTokenPolicies;
-
-
- UA_StatusCode (*activateSession)(UA_Server *server, UA_AccessControl *ac,
- const UA_NodeId *sessionId,
- const UA_ExtensionObject *userIdentityToken,
- void **sessionContext);
-
- void (*closeSession)(UA_Server *server, UA_AccessControl *ac,
- const UA_NodeId *sessionId, void *sessionContext);
-
- UA_UInt32 (*getUserRightsMask)(UA_Server *server, UA_AccessControl *ac,
- const UA_NodeId *sessionId, void *sessionContext,
- const UA_NodeId *nodeId, void *nodeContext);
-
- UA_Byte (*getUserAccessLevel)(UA_Server *server, UA_AccessControl *ac,
- const UA_NodeId *sessionId, void *sessionContext,
- const UA_NodeId *nodeId, void *nodeContext);
-
- UA_Boolean (*getUserExecutable)(UA_Server *server, UA_AccessControl *ac,
- const UA_NodeId *sessionId, void *sessionContext,
- const UA_NodeId *methodId, void *methodContext);
-
- UA_Boolean (*getUserExecutableOnObject)(UA_Server *server, UA_AccessControl *ac,
- const UA_NodeId *sessionId, void *sessionContext,
- const UA_NodeId *methodId, void *methodContext,
- const UA_NodeId *objectId, void *objectContext);
-
- UA_Boolean (*allowAddNode)(UA_Server *server, UA_AccessControl *ac,
- const UA_NodeId *sessionId, void *sessionContext,
- const UA_AddNodesItem *item);
-
- UA_Boolean (*allowAddReference)(UA_Server *server, UA_AccessControl *ac,
- const UA_NodeId *sessionId, void *sessionContext,
- const UA_AddReferencesItem *item);
-
- UA_Boolean (*allowDeleteNode)(UA_Server *server, UA_AccessControl *ac,
- const UA_NodeId *sessionId, void *sessionContext,
- const UA_DeleteNodesItem *item);
-
- UA_Boolean (*allowDeleteReference)(UA_Server *server, UA_AccessControl *ac,
- const UA_NodeId *sessionId, void *sessionContext,
- const UA_DeleteReferencesItem *item);
- };
- #ifdef __cplusplus
- }
- #endif
- #endif
|