stub_analytics_plugin  1.6
Network Optix Video Analytics SDK
Public Member Functions | Protected Member Functions | List of all members
nx::sdk::Interface< DerivedInterface, BaseInterface > Class Template Reference

#include <interface.h>

Inheritance diagram for nx::sdk::Interface< DerivedInterface, BaseInterface >:

Public Member Functions

virtual IRefCountablequeryInterface (IRefCountable::InterfaceId id) override
 
virtual IRefCountablequeryInterface (InterfaceId id)
 
const IRefCountablequeryInterface (InterfaceId id) const
 
template<class Interface >
InterfacequeryInterface ()
 
template<class Interface >
const InterfacequeryInterface () const
 

Protected Member Functions

IRefCountablequeryInterfaceSupportingDeprecatedId (IRefCountable::InterfaceId id, const Uuid &deprecatedInterfaceId)
 

Detailed Description

template<class DerivedInterface, class BaseInterface = IRefCountable>
class nx::sdk::Interface< DerivedInterface, BaseInterface >

Helper class to define interfaces: provides the appropriate queryInterface().

Usage:

class MyInterface: public nx::sdk::Interface<MyInterface, MyBaseInterface>
{
public:
static auto interfaceId() { return InterfaceId("my_namespace::MyInterface"); }
... // pure virtual methods
};

Member Function Documentation

◆ queryInterface()

template<class DerivedInterface, class BaseInterface = IRefCountable>
virtual IRefCountable* nx::sdk::IRefCountable::queryInterface
inline

VMT #1.

Returns
Object that requires releaseRef() by the caller when it no longer needs it, or null if the requested interface is not implemented.

◆ queryInterfaceSupportingDeprecatedId()

template<class DerivedInterface, class BaseInterface = IRefCountable>
IRefCountable* nx::sdk::Interface< DerivedInterface, BaseInterface >::queryInterfaceSupportingDeprecatedId ( IRefCountable::InterfaceId  id,
const Uuid deprecatedInterfaceId 
)
inlineprotected

Call from DerivedInterface::queryInterface() to support interface id from the old SDK.


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