ADTF  3.15.1
ISharedLockedObjectabstract

The ISharedLockedObject interface defines shared locking of an object. More...

Inheritance diagram for ISharedLockedObject:
[legend]

Public Member Functions

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

Protected Member Functions

 ~ISharedLockedObject ()=default
 Protected destructor --> Use implemented Destroy() instead of delete!
 
- Protected Member Functions inherited from ILockedObject
 ~ILockedObject ()=default
 Protected destructor --> Use implemented Destroy() instead of delete!
 
- Protected Member Functions inherited from IObject
 ~IObject ()=default
 Protected destructor --> Use implemented Destroy() instead of delete!
 

Detailed Description

The ISharedLockedObject interface defines shared locking of an object.

Definition at line 59 of file lockedobject_intf.h.

Member Function Documentation

◆ ADTF_IID()

ADTF_IID ( ISharedLockedObject  ,
"sharedlockedobject.ant.ucom.adtf.iid"   
)

Marks the ISharedLockedObject to be castable with the ucom_cast<>

See also
ADTF_IID(_interface, _striid)

◆ LockShared()

virtual tResult LockShared ( ) const
pure virtual

Locks the object for shared use.

For your own convinience use object_ptr_shared_locked as lock guard!

Return values
ERR_NOERRORsucceeded lock. DO NOT Forget to unlock!

◆ UnlockShared()

virtual tResult UnlockShared ( ) const
pure virtual

Unlocks the object for shared use.

For your own convinience use object_ptr_shared_locked as lock guard!

Return values
ERR_NOERRORsucceeded unlock.

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