|
ADTF
|
#include <object.h>
Inherits adtf::ucom::ant::IObject.
Inherited by adtf::base::runnable< DEFAULT_ACTIVATION_TYPE, ANT_INTERFACE, flash::IRunnable, CALLABLE >, adtf::base::runnable< nActivationType, adtf::services::ant::IKernel::IKernelRunnable >, adtf::base::runnable< base::ant::IRunnable::RUN_JOB, ant::IApplication::IJob, base::flash::IRunnable, CALLABLE >, adtf::streaming::trigger_pipe_source< INamedGraphObject, ucom::ant::cClassInfo, base::ant::configuration<>, ant::IActiveRunner, spider::IActiveRunner >, adtf::base::runnable< DEFAULT_ACTIVATION_TYPE, ANT_INTERFACE, FLASH_OR_ANT_INTERFACE, CALLABLE >, adtf::filter::private_implementations::cConfigurableRunner, adtf::streaming::hollow::cRequestBroker, and adtf::streaming::trigger_pipe_source< INTERFACES >.
Public Member Functions | |
| tResult | GetInterface (const char *i_strIID, void *&o_pInterface) override |
| Query interfaces on an object. | |
| tResult | GetInterface (const char *i_strIID, const void *&o_pInterface) const override |
| Provides const correct interface querying. | |
| void | Destroy () const override |
| Switch from non-virtual destructor to virtual destructor. | |
Public Member Functions inherited from adtf::ucom::ant::IObject | |
| ADTF_IID (IObject, "object.ant.ucom.adtf.iid") | |
Additional Inherited Members | |
Protected Member Functions inherited from adtf::ucom::ant::IObject | |
| ~IObject ()=default | |
| Protected destructor --> Only the final implementation can be destroyed! | |
Use this template if you want to implement an ucom::ant::IObject based Interface and/or subclass an existing class that implements ucom::ant::IObject. In fact you can pass any class as a template parameter and your new class will be publicly derived from it. All specified interfaces including those implemented and exposed by all base classes will be exposed via adtf::ucom::ant::IObject. Take a look at the following example:
If you want to expose a hierachy of interfaces make sure that you specify the parent interfaces before their children (compilation will fail with an appropriate message if the prerequisite is not met). For example:
| Bases | The base classes and/or interfaces. |
|
inlineoverridevirtual |
Switch from non-virtual destructor to virtual destructor.
Implements adtf::ucom::ant::IObject.
|
inlineoverridevirtual |
Provides const correct interface querying.
Query interfaces on an object.
The IObject::GetInterface method returns a pointer to a specified interface on an object to which a client currently holds an interface pointer. Due to the fact that this querying of interfaces is not at all type safe, the IObject::GetInterface methods reside inside the private section of the interface and can only be accessed by ucom_cast() function template.
| [in] | i_strIID | Identifier of the interface being requested. |
| [out] | o_pInterface | Address of pointer variable that receives the interface pointer requested in idInterface. Upon successful return, *o_pInterface contains the requested interface pointer to the object. If the object does not expose the interface specified in i_strIID, i_pInterface is set to NULL. |
| ERR_NOERROR | The interface identified by i_strIID was implemented and exposed by the implementation of *this. o_pInterface points to the queried interface. |
| ERR_NO_INTERFACE | The requested interface is not exposed. o_pInterface==NULL |
ucom_cast() function template Implements adtf::ucom::ant::IObject.
|
inlineoverridevirtual |
Query interfaces on an object.
The IObject::GetInterface method returns a pointer to a specified interface on an object to which a client currently holds an interface pointer. Due to the fact that this querying of interfaces is not at all type safe, the IObject::GetInterface methods reside inside the private section of the interface and can only be accessed by ucom_cast() function template.
| [in] | i_strIID | Identifier of the interface being requested. |
| [out] | o_pInterface | Address of pointer variable that receives the interface pointer requested in idInterface. Upon successful return, *o_pInterface contains the requested interface pointer to the object. If the object does not expose the interface specified in i_strIID, i_pInterface is set to NULL. |
| ERR_NOERROR | The interface identified by i_strIID was implemented and exposed by the implementation of *this. o_pInterface points to the queried interface. |
| ERR_NO_INTERFACE | The requested interface is not exposed. o_pInterface==NULL |
ucom_cast() function template Implements adtf::ucom::ant::IObject.