nx_metadata_sdk  1.0
Metadata SDK
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
nx::sdk::analytics::IEngine Class Referenceabstract

#include <i_engine.h>

Inheritance diagram for nx::sdk::analytics::IEngine:
nx::sdk::Interface< IEngine, IEngine0 >

Public Member Functions

Result< const IActiveSettingChangedResponse * > getSettingsOnActiveSettingChange (const IActiveSettingChangedAction *activeSettingChangedAction)
 
- Public Member Functions inherited from nx::sdk::Interface< IEngine, IEngine0 >
virtual IRefCountablequeryInterface (const InterfaceId *id)
 
Ptr< InterfacequeryInterface ()
 
Ptr< const InterfacequeryInterface () const
 

Static Public Member Functions

static auto interfaceId ()
 

Protected Member Functions

virtual void doGetSettingsOnActiveSettingChange (Result< const IActiveSettingChangedResponse *> *outResult, const IActiveSettingChangedAction *activeSettingChangedAction)=0
 
- Protected Member Functions inherited from nx::sdk::Interface< IEngine, IEngine0 >
virtual IRefCountablequeryInterface (const IRefCountable::InterfaceId *id) override
 
IRefCountablequeryInterfaceSupportingDeprecatedId (const IRefCountable::InterfaceId *id, const Uuid &deprecatedInterfaceId)
 

Detailed Description

Main interface for an Analytics Engine instance. The instances are created by a Mediaserver via calling analytics::IPlugin::createEngine() typically on Mediaserver start (or when a new Engine is created by the system administrator), and destroyed (via releaseRef()) on Mediaserver shutdown (or when an existing Engine is deleted by the system administrator).

For the VMS end user, each Engine instance is perceived as an independent Analytics Engine which has its own set of values of settings stored in the Mediaserver database.

All methods are guaranteed to be called without overlapping even if from different threads (i.e. with a guaranteed barrier between the calls), thus, no synchronization is required for the implementation.

Member Function Documentation

◆ doGetSettingsOnActiveSettingChange()

virtual void nx::sdk::analytics::IEngine::doGetSettingsOnActiveSettingChange ( Result< const IActiveSettingChangedResponse *> *  outResult,
const IActiveSettingChangedAction activeSettingChangedAction 
)
protectedpure virtual

◆ getSettingsOnActiveSettingChange()

Result<const IActiveSettingChangedResponse*> nx::sdk::analytics::IEngine::getSettingsOnActiveSettingChange ( const IActiveSettingChangedAction activeSettingChangedAction)
inline

When a setting marked as Active changes its value in the GUI, the Server calls this method to notify the Plugin and allow it to adjust the values of the settings and the Settings Model. This mechanism allows certain settings to depend on the current values of others, for example, switching a checkbox or a drop-down can lead to some other setting being replaced with another, or some values being converted to a different measurement unit.

Returns
An error code with a message in case of some general failure that affected the procedure of analyzing the settings, or data defining the interaction with the user and the new state of the settings dialog. Can be null if no user interaction is needed.

The documentation for this class was generated from the following file: