openDAQ
Open data acquisition platform
IRemovable Struct Referenceabstract

Allows the component to be notified when it is removed. More...

+ Inheritance diagram for IRemovable:
+ Collaboration diagram for IRemovable:

Detailed Description

Allows the component to be notified when it is removed.

Public Member Functions

virtual ErrCode INTERFACE_FUNC remove ()=0
 Notifies the component that it is being removed. More...
 
virtual ErrCode INTERFACE_FUNC isRemoved (Bool *removed)=0
 Returns True if component was removed. 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

◆ isRemoved()

virtual ErrCode INTERFACE_FUNC isRemoved ( Bool *  removed)
pure virtual

Returns True if component was removed.

Parameters
[out]removedTrue if component was removed; otherwise False.

◆ remove()

virtual ErrCode INTERFACE_FUNC remove ( )
pure virtual

Notifies the component that it is being removed.

Call remove on the component to mark it as removed. It's up to the implementation to define what is does on the act of removal. Basic implementation of Component will switch it to inactive state and it cannot be activated again.