ADTF
interface_expose< Interfaces >

Meta template struct used to expose all interfaces. More...

Static Private Member Functions

template<typename Provider , typename VoidType >
static tResult Get (Provider *i_pObj, const char *i_strIID, VoidType *&o_pInterface)
 Get the interface with IID i_strIID exposed from i_pObj. More...
 

Detailed Description

template<typename ... Interfaces>
class adtf::ucom::ant::interface_expose< Interfaces >

Meta template struct used to expose all interfaces.

Template Parameters
...InterfacesParameter pack containing all interface types to evaluate.
See also
Section The "advanced" way (aka "interface_expose<>") in page The ucom_cast<> in depth explanation for further information.

Definition at line 466 of file adtf_iid.h.

Member Function Documentation

◆ Get()

static tResult Get ( Provider *  i_pObj,
const char *  i_strIID,
VoidType *&  o_pInterface 
)
inlinestaticprivate

Get the interface with IID i_strIID exposed from i_pObj.

Template Parameters
ProviderType exposing the ...Interfaces.
VoidTypeWhere the interface type identified by i_strIID gets statically casted to
Precondition
true == std::is_void<VoidType>
Parameters
[in]i_pObjPointer to object of type Provider exposing the requested interface.
[in]i_strIIDThe queried IID which identifies the interface type to retrieve.
[out]o_pInterfacePointer to reference of type (const) void the interface is cast to. nullptr if IID matches one of the exposed interfaces.
Returns
Standard error code.
Return values
ERR_NOERROREverything went fine (o_pInterface != nullptr)
ERR_NO_INTERFACEi_pObj doesn't expose the requested Interface (o_pInterface == nullptr)
See also
Section The "advanced" way (aka "interface_expose<>") in page The ucom_cast<> in depth explanation

Definition at line 589 of file adtf_iid.h.

Referenced by object< Bases >::GetInterface().