Class CIsoMonitor#

Inheritance Relationships#

Base Types#

Class Documentation#

class CIsoMonitor : public sdv::IInterfaceAccess, public sdv::IObjectControl#

Isolation object monitor. If shutdown is called, the application leaves the running loop.

Remark

Only valid when running in an isolated application.

Public Functions

CIsoMonitor(sdv::IInterfaceAccess *pObject)#

Constructor.

Parameters:

pObject[in] Pointer to the object to monitor

~CIsoMonitor()#

Destructor.

virtual void Initialize(const sdv::u8string &ssObjectConfig) override#

Initialize the object. Overload of sdv::IObjectControl::Initialize.

Parameters:

ssObjectConfig[in] Optional configuration string.

virtual sdv::EObjectStatus GetStatus() const override#

Get the current status of the object. Overload of sdv::IObjectControl::GetStatus.

Returns:

Return the current status of the object.

virtual void SetOperationMode(sdv::EOperationMode eMode) override#

Set the component operation mode. Overload of sdv::IObjectControl::SetOperationMode.

Parameters:

eMode[in] The operation mode, the component should run in.

virtual void Shutdown() override#

Shutdown called before the object is destroyed. Overload of sdv::IObjectControl::Shutdown.

Attention

Implement calls to other SDV objects here as this is no longer considered safe during the destructor of the object! After a call to shutdown any threads/callbacks/etc that could call other SDV objects need to have been stopped. The SDV object itself is to remain in a state where it can respond to calls to its interfaces as other objects may still call it during the shutdown sequence! Any subsequent call to GetStatus should return EObjectStatus::destruction_pending

sdv::IInterfaceAccess *GetContainedObject()#

Get the contained object from the isolation monitor.

Returns:

The contained object.