class documentation

class RemoteLock(RemoteUaObject['BaseRemoteComponent'], UaDataChangeSubscriber):

Constructor: RemoteLock(parent, server)

View In Hierarchy

The remote interface for a server-side Lock.

Method __init__ Create a new instance. Must be asynchronously initialized with init() before use.
Async Method break_lock Occupy the lock, will fail when already locked by higher priority user.
Method dto Return the data transfer object.
Async Method exit_lock Free the lock, will fail when we are not the locking user.
Async Method init_lock Occupy the lock, will fail when already locked.
Async Method renew_lock Renew the lock, will fail when we are not the locking user.
Async Method ua_on_data_change Undocumented
Instance Variable locked_changed Undocumented
Instance Variable locking_user_changed Undocumented
Property locked Whether the module is locked.
Property locked_by_us Whether the lock is owned by us.
Property locked_since Return the time when the current user locked the asset. Is None when Lock is unlocked.
Property locking_client Empty when module is unlocked, otherwise hostname of the locking user.
Property locking_user Empty when module is unlocked, otherwise name of the locking user.
Async Method _init Undocumented
Instance Variable _locked Undocumented
Instance Variable _locked_since Undocumented
Instance Variable _locking_client Undocumented
Instance Variable _locking_user Undocumented
Instance Variable _ua_nodes Undocumented
def __init__(self, *, parent: BaseRemoteComponent, server: RemoteServer):

Create a new instance. Must be asynchronously initialized with init() before use.

async def break_lock(self):

Occupy the lock, will fail when already locked by higher priority user.

def dto(self) -> RemoteLockDTO | None:

Return the data transfer object.

async def exit_lock(self):

Free the lock, will fail when we are not the locking user.

async def init_lock(self):

Occupy the lock, will fail when already locked.

async def renew_lock(self):

Renew the lock, will fail when we are not the locking user.

@override
async def ua_on_data_change(self, node: Node, val: Any, data: DataChangeNotif):

Undocumented

locked_changed =

Undocumented

locking_user_changed =

Undocumented

@property
locked: bool =

Whether the module is locked.

@property
locked_by_us: bool =

Whether the lock is owned by us.

@property
locked_since: datetime | None =

Return the time when the current user locked the asset. Is None when Lock is unlocked.

@property
locking_client: str =

Empty when module is unlocked, otherwise hostname of the locking user.

@property
locking_user: str =

Empty when module is unlocked, otherwise name of the locking user.

@override
async def _init(self):

Undocumented

_locked: bool =

Undocumented

_locked_since: datetime | None =

Undocumented

_locking_client: str =

Undocumented

_locking_user: str =

Undocumented

Undocumented