ADTF
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ILockedObjectabstract

The ILockedObject interface defines exclusive locking of an object. More...

#include <lockedobject_intf.h>

Inheritance diagram for ILockedObject:
[legend]

Public Member Functions

 ADTF_IID (ILockedObject, "lockedobject.ant.ucom.adtf.iid")
 Marks the ILockedObject to be castable with the ucom_cast<>
 
virtual tResult Lock () const =0
 Locks the object for exclusive use.
 
virtual tResult Unlock () const =0
 Unlocks the object for exclusive use.
 
- Public Member Functions inherited from IObject
 ADTF_IID (IObject, "object.ant.ucom.adtf.iid")
 Marks the IObject to be castable with the ucom_cast()
 

Protected Member Functions

 ~ILockedObject ()=default
 Protected destructor --> Only the final implementation can be destroyed!
 
- Protected Member Functions inherited from IObject
 ~IObject ()=default
 Protected destructor --> Only the final implementation can be destroyed!
 

Detailed Description

The ILockedObject interface defines exclusive locking of an object.

Definition at line 23 of file lockedobject_intf.h.

Member Function Documentation

◆ ADTF_IID()

ADTF_IID ( ILockedObject ,
"lockedobject.ant.ucom.adtf.iid"  )

Marks the ILockedObject to be castable with the ucom_cast<>

See also
ADTF_IID(_interface, _striid)

◆ Lock()

virtual tResult Lock ( ) const
pure virtual

Locks the object for exclusive use.

For your own convinience use object_ptr_locked as lock guard!

Return values
ERR_NOERRORsucceeded lock. DO NOT Forget to unlock!

◆ Unlock()

virtual tResult Unlock ( ) const
pure virtual

Unlocks the object for exclusive use.

For your own convinience use object_ptr_locked as lock guard!

Return values
ERR_NOERRORsucceeded unlock.

Referenced by object_ptr_locked< T >::UnlockObject().