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:

## Public Member Functions
Result< const IActiveSettingChangedResponse * > | getSettingsOnActiveSettingChange (const IActiveSettingChangedAction *activeSettingChangedAction)
Public Member Functions inherited from nx::sdk::Interface< IEngine, IEngine0 >
virtual IRefCountable * | queryInterface (const InterfaceId *id)
Ptr< Interface > | queryInterface ()
Ptr< const Interface > | queryInterface () 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 IRefCountable * | queryInterface (const IRefCountable::InterfaceId *id) override
IRefCountable * | queryInterfaceSupportingDeprecatedId (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
| ) |  |
| protected pure virtual

Called by getSettingsOnActiveSettingChange()

## ◆ 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:

- src/nx/sdk/analytics/i_engine.h