openDAQ
Open data acquisition platform
ISupportsWeakRef Struct Referenceabstract

Provides support for weak reference on the object. More...

+ Inheritance diagram for ISupportsWeakRef:
+ Collaboration diagram for ISupportsWeakRef:

Detailed Description

Provides support for weak reference on the object.

If an object supports weak references, it must implement this interface. Client can get weak reference to the object by calling getWeakRef.

To implement an object with weak reference support, derive the object from ImplementationOfWeak which will automatically provide support for weak references to the object.

Example:

class TestObjectImpl : public ImplementationOfWeak<ITestObject>
{
public:
\\ ...

Public Member Functions

 DEFINE_INTFID ("ISupportsWeakRef") virtual ErrCode INTERFACE_FUNC getWeakRef(IWeakRef **weakRef)=0
 Gets a weak reference to the object. More...
 
- Public Member Functions inherited from IBaseObject
virtual ErrCode INTERFACE_FUNC borrowInterface (const IntfID &intfID, void **obj) const =0
 Returns another interface which is supported by the object without incrementing the reference count. More...
 
virtual ErrCode INTERFACE_FUNC dispose ()=0
 Disposes all references held by the object. More...
 
virtual ErrCode INTERFACE_FUNC getHashCode (SizeT *hashCode)=0
 Returns hash code of the object. More...
 
virtual ErrCode INTERFACE_FUNC equals (IBaseObject *other, Bool *equal) const =0
 Compares object to another object for equality. More...
 
virtual ErrCode INTERFACE_FUNC toString (CharPtr *str)=0
 Returns a string representation of the object. More...
 
- Public Member Functions inherited from IUnknown
virtual ErrCode INTERFACE_FUNC queryInterface (const IntfID &intfID, void **obj)=0
 Returns another interface which is supported by the object and increments the reference count. More...
 
virtual int INTERFACE_FUNC addRef ()=0
 Increments the reference count for an interface on an object. More...
 
virtual int INTERFACE_FUNC releaseRef ()=0
 Decrements the reference count for an interface on an object. More...
 

Member Function Documentation

◆ DEFINE_INTFID()

DEFINE_INTFID ( "ISupportsWeakRef"  )
pure virtual

Gets a weak reference to the object.

Parameters
[out]weakRefA weak reference to the object.