class documentation

class AbstractUaObject(ABC):

Known subclasses: server.interfaces.AbstractCallable

View In Hierarchy

Abstract interface for all UaObject implementations.

Method access_allowed Check whether user is currently allowed access to this UaObject.
Async Method condition_as_dependency_ready Check whether this object is ready as a dependency in composite skills, etc.
Property full_name Return the full name including the names of all parents, separated by '/'.
Property lock Lock instance protecting this UaObject.
Property logger Logger associated with the UaObject instance.
Property name Name of the UaObject.
Property path Return the full path of the object.
Property server Server instance.
Property ua_node Raw OPC UA node.
@abstractmethod
def access_allowed(self, user: UserAuthorization, *, lock_required: bool | None = None) -> bool:

Check whether user is currently allowed access to this UaObject.

Parameters
user:UserAuthorizationUser to check.
lock_required:bool | NoneWhether the corresponding Lock must also be owned by user. Default None uses bypass_lock setting.
Returns
boolUndocumented
async def condition_as_dependency_ready(self, _user: UserAuthorization) -> bool:

Check whether this object is ready as a dependency in composite skills, etc.

Subclasses that can be used as a dependency must override this method. Raises by default.

Returns
boolAlways True, else an exception is raised.
Raises
UaStatusCodeErrorIf any dependency is not ready.
@property
@deprecated('Use path instead')
@abstractmethod
full_name: str =

Return the full name including the names of all parents, separated by '/'.

@property
@abstractmethod
lock: Lock =

Lock instance protecting this UaObject.

@property
@abstractmethod
logger: BoundLogger =

Logger associated with the UaObject instance.

@property
@abstractmethod
name: str =

Name of the UaObject.

@property
@abstractmethod
path: PurePosixPath =

Return the full path of the object.

@property
@abstractmethod
server: Server =

Server instance.

@property
@abstractmethod
ua_node: Node =

Raw OPC UA node.

Do not touch unless you know what you are doing!