ADTF  3.13.0
cGraphObject

Base class for adtf::filter::flash::cFilter, adtf::filter::flash::cSampleStreamingSource and adtf::filter::flash::cSampleStreamingSink. More...

Inheritance diagram for cGraphObject:
[legend]

Public Member Functions

template<typename RequestableWriterType = streaming::requestable_writer<>>
RequestableWriterType * CreateRequestableOutputPin (const tChar *strName, const cStreamTypeHelper &oType=streaming::ant::stream_meta_type_anonymous())
 Creates a new requestable output pin with a given stream type. More...
 
virtual tResult EnableSubStream (streaming::flash::ISampleWriter *pWriter, tUInt32 nSubStreamId, const base::ant::IProperties *pRequestProperties=nullptr)
 This is called when the first consumer requests the transmission of samples of a given Substream. More...
 
virtual tVoid DisableSubStream (streaming::flash::ISampleWriter *pWriter, tUInt32 nSubStreamId)
 Called when the last consumer cancels its request for the transmission of samples of a given Substream. More...
 
tVoid SetHelpLink (const tChar *strUrl)
 Sets the link to the documentation that tools can display. More...
 
tVoid SetDescription (const tChar *strItem, const tChar *strDescription)
 Set the description for a data Pin, an Interface Binding Object or a Runner. More...
 
- Public Member Functions inherited from cGraphObject
 cGraphObject ()
 Default Constructor.
 
 ~cGraphObject () override
 Destructor.
 
virtual tResult Process (base::flash::tNanoSeconds tmTrigger, streaming::ant::IRunner *pRunner)
 The default Runner function of the graph object. More...
 
virtual tResult ProcessInput (base::flash::tNanoSeconds tmTrigger, streaming::flash::ISampleReader *pReader)
 Default method to process input data. More...
 
virtual tResult ProcessInput (streaming::flash::ISampleReader *pReader, const ucom::ant::iobject_ptr< const streaming::ant::ISample > &pSample)
 Called by the default implementation of ProcessInput(base::flash::tNanoSeconds, streaming::flash::ISampleReader*) for each sample that the given reader currently provides. More...
 
virtual tResult ProcessInput (streaming::flash::ISampleReader *pReader, base::flash::tNanoSeconds tmSample, const tVoid *pSampleData, tSize nSampleDataSize)
 Called by the default implementation of ProcessInput(streaming::flash::ISampleReader*, const ucom::ant::iobject_ptr<const streaming::ant::ISample>&) with the data of a sample that the reader provided. More...
 
template<typename ReaderType = cPinReader>
ReaderType * CreateInputPin (const tChar *strName, tBool bDataInTrigger=true, tBool bForwardTriggerViaOutputPins=true)
 Creates a new input pin with an anonymous stream type. More...
 
template<typename ReaderType = cPinReader>
ReaderType * CreateInputPin (const tChar *strName, const cStreamTypeHelper &oType, tBool bDataInTrigger=true, tBool bForwardTriggerViaOutputPins=true)
 Creates a new input pin with a given stream type. More...
 
template<typename ReaderType = cPinReader>
ReaderType * CreateInputPinWithCallback (const tChar *strName, const cStreamTypeHelper &oType, std::function< tResult(base::flash::tNanoSeconds)> fnTriggerCallback, tBool bForwardTriggerViaOutputPins=true)
 Creates a new input pin with a given stream type. More...
 
template<typename ReaderType = cPinReader>
ReaderType * CreateInputPinWithCallback (const tChar *strName, const cStreamTypeHelper &oType, std::function< tResult(const ucom::ant::iobject_ptr< const streaming::ant::ISample > &)> fnSampleCallback, tBool bForwardTriggerViaOutputPins=true)
 Creates a new input pin with a given stream type. More...
 
template<typename ReaderType = cPinReader>
ReaderType * CreateInputPinWithCallback (const tChar *strName, const cStreamTypeHelper &oType, std::function< tResult(base::flash::tNanoSeconds, const tVoid *, tSize)> fnSampleDataCallback, tBool bForwardTriggerViaOutputPins=true)
 Creates a new input pin with a given stream type. More...
 
template<typename Type , typename ReaderType = cPinReader>
ReaderType * CreateInputPinWithCallback (const tChar *strName, const cStreamTypeHelper &oType, std::function< tResult(base::flash::tNanoSeconds, const Type &)> fnDataCallback, tBool bForwardTriggerViaOutputPins=true)
 Creates a new input pin with a given stream type. More...
 
virtual tResult AcceptType (streaming::flash::ISampleReader *pReader, const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pType)
 Called whenever a new type is read from a reader that has no other accept type callback (streaming::ant::cSampleReader::SetAcceptTypeCallback) registered. More...
 
template<typename WriterType = cPinWriter>
WriterType * CreateOutputPin (const tChar *strName)
 Creates a new output pin without an initial stream type. More...
 
template<typename WriterType = cPinWriter>
WriterType * CreateOutputPin (const tChar *strName, const cStreamTypeHelper &oType)
 Creates a new output pin with a given stream type. More...
 
streaming::ant::IRunnerCreateRunner (const tChar *strName, const cTriggerHint &oTriggerHint=cNoTriggerHint(), tBool bForwardTriggerViaOutputPins=true)
 Creates a new Runner that can be triggered by an Active Runner. More...
 
streaming::ant::IRunnerCreateRunner (const tChar *strName, std::function< tResult(base::flash::tNanoSeconds)> fnRunFunction, const cTriggerHint &oTriggerHint=cNoTriggerHint(), tBool bForwardTriggerViaOutputPins=true)
 Creates a new Runner that can be triggered by an Active Runner. More...
 
template<typename Interface , typename Instance >
tVoid CreateInterfaceServer (const tChar *strName, ucom::ant::enable_object_ptr_from_this< Instance > *pInstance)
 Creates an interface server binding object. More...
 
template<typename Interface >
tVoid CreateInterfaceServer (const tChar *strName, const ucom::ant::iobject_ptr< Interface > &pInstance)
 Creates an interface server binding object. More...
 
template<typename Interface >
interface_client< Interface > CreateInterfaceClient (const tChar *strName)
 Creates an interface client binding object. More...
 
template<typename ReaderType = cPinReader>
std::shared_ptr< ReaderType > CreateReader (const tChar *strName, const cStreamTypeHelper &oType)
 Creates and intializes a new sample reader. More...
 
template<typename WriterType = cPinWriter>
std::shared_ptr< WriterType > CreateWriter (const tChar *strName, const cStreamTypeHelper &oType)
 Creates and intializes a new sample reader. More...
 
ucom::ant::object_ptr< streaming::ant::IRunnerRegisterRunner (const tChar *strName, std::function< tResult(base::flash::tNanoSeconds)> fnRunMethod)
 Creates and registers a new Runner. More...
 
tResult RegisterRunner (const ucom::ant::iobject_ptr< streaming::ant::IRunner > &pRunner) override
 This is here for compatibility reasons. More...
 
tResult RegisterRunner (const tChar *strName, base::flash::IRunnable &oRunnable)
 This is here for compatibility reasons. More...
 
tResult RegisterRunner (const tChar *strName, adtf::base::ant::IRunnable &oRunnable) override
 This is here for compatibility reasons. More...
 
tResult ConfigureDataInTrigger (const tChar *strRunnerName, const tChar *strPinName)
 This is here for compatibility reasons. More...
 
tResult ConfigureDataOutTrigger (const tChar *strRunnerName, const tChar *strPinName)
 This is here for compatibility reasons. More...
 
tResult ConfigureTimerTrigger (const tChar *strRunnerName, tTimeStamp tmPeriod)
 This is here for compatibility reasons. More...
 
tResult ConfigureThreadTrigger (const tChar *strRunnerName, tBool bCallCyclic)
 This is here for compatibility reasons. More...
 
virtual tResult RequestDynamicInputPin (const tChar *strName, const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pType)
 Called whenever a new dynamic input pin is requested. More...
 
virtual tResult RequestDynamicOutputPin (const tChar *strName, const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pType)
 Called whenever a new dynamic output pin is requested. More...
 
virtual tResult RequestDynamicInterfaceClient (const tChar *strName, const ucom::ant::iobject_ptr< const streaming::ant::IBindingType > &pType)
 Called whenever a new dynamic interface client binding object is requested. More...
 
virtual tResult RequestDynamicInterfaceServer (const tChar *strName, const ucom::ant::iobject_ptr< const streaming::ant::IBindingType > &pType)
 Called whenever a new dynamic interface server binding object is requested. More...
 
tResult RequestPin (const tChar *strName, const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pType, ucom::ant::iobject_ptr< streaming::ant::IInPin > &pInPin)
 For internal use. This will call RequestDynamicInputPin().
 
tResult RequestPin (const tChar *strName, const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pType, ucom::ant::iobject_ptr< streaming::ant::IOutPin > &pOutPin)
 For internal use. This will call RequestDynamicOutputPin().
 
tResult RequestBindingObject (const tChar *strName, const ucom::ant::iobject_ptr< const streaming::ant::IBindingType > &pType, ucom::ant::iobject_ptr< streaming::ant::IBindingClient > &pClient)
 For internal use. This will call RequestDynamicInterfaceClient().
 
tResult RequestBindingObject (const tChar *strName, const ucom::ant::iobject_ptr< const streaming::ant::IBindingType > &pType, ucom::ant::iobject_ptr< streaming::ant::IBindingServer > &pServer)
 For internal use. This will call RequestDynamicInterfaceServer().
 
tVoid RegisterPropertyVariable (const tChar *strName, base::ant::cPropertyVariable &oPropertyVariable)
 Registers a new property variable which will always reflect the value of a property. More...
 
tVoid SetDescription (const tChar *strDescription)
 Sets the description information that tools can display. More...
 
tVoid SetEditor (const tChar *strName, const tChar *strUrl)
 Sets the editor information that tools can use to edit the objects properties, pins etc. More...
 
- Public Member Functions inherited from cNamedGraphObject
tResult GetName (base::ant::IString &&strName) const
 
tResult SetName (const tChar *strName)
 
tResult SetParent (const ucom::ant::IObject *pParentObject)
 
tResult GetParent (const ucom::ant::IObject *&poParentObject) const
 
- Public Member Functions inherited from cDataBinding
tResult GetPins (ucom::ant::iobject_list< IPin > &lstPins) const
 Returns the current Pins (only const access). More...
 
tResult FindPin (const tChar *strName, ucom::ant::iobject_ptr< ucom::ant::IObject > &pPin) const
 Find a Pin with the name of strName (only const access) More...
 
virtual tResult RegisterPin (const ucom::ant::iobject_ptr< IPin > &pIPin)
 Registers a Pin in a pin list. More...
 
tResult RegisterPin (const ucom::ant::iobject_ptr< IInPin > &pIInPin)
 Registers a InPin in a pin list. More...
 
tResult RegisterPin (const ucom::ant::iobject_ptr< IOutPin > &pIOutPin)
 Registers a InPin in a pin list. More...
 
virtual tResult UnregisterPin (const ucom::ant::iobject_ptr< IPin > &pIPin)
 Unregisters a Pin from the pin list. More...
 
tResult ReleasePins ()
 Unregisters all Pins from the pin list. More...
 
virtual tResult ActivatePins ()
 Activate all pins.
 
virtual tResult DeactivatePins ()
 Deactivate all pins.
 
tResult Disconnect ()
 Disconnect all pins.
 
- Public Member Functions inherited from cInterfaceBinding
 cInterfaceBinding ()
 CTOR.
 
virtual ~cInterfaceBinding ()
 DTOR.
 
tResult GetBindingObjects (ucom::ant::iobject_list< IBindingObject > &lstBindingObject)
 Return a list of all Binding Objects on lstBindingObject. More...
 
tResult GetBindingObjects (ucom::ant::iobject_list< const IBindingObject > &lstBindingObject) const
 Return a list of all Binding Objects on lstBindingObject. More...
 
tResult FindBindingObject (const tChar *strName, ucom::ant::iobject_ptr< const ucom::ant::IObject > &pIBindingObject) const
 This Function will search a binding object with the given strName and return it on pIBindingObject. More...
 
tResult FindBindingObject (const tChar *strName, ucom::ant::iobject_ptr< ucom::ant::IObject > &pIBindingObject)
 This Function will search a binding object with the given strName and return it on pIBindingObject. More...
 
virtual tResult RegisterBindingObject (const ucom::ant::iobject_ptr< IBindingObject > &pBindingObject)
 RegisterBindingObject will register the given pBindingObject within the internal registry. More...
 
tResult RegisterBindingObject (const ucom::ant::iobject_ptr< IBindingServer > &pBindingServer)
 Registers the given pBindingServer. More...
 
tResult RegisterBindingObject (const ucom::ant::iobject_ptr< IBindingClient > &pBindingClient)
 Registers the given pBindingClient. More...
 
tResult UnregisterBindingObject (const ucom::ant::iobject_ptr< const IBindingObject > &pBindingObject)
 Unregisters the given pBindingObject. More...
 
tResult Unbind ()
 Will Unbind (IBindingObject::Unbind ) every registered binding objects registered with RegisterBindingObject. More...
 
tResult ReleaseBindingObjects ()
 ReleaseBindingObjects will Unbind (IBindingObject::Unbind ) every registered binding objects registered with RegisterBindingObject and unregister them automatically. More...
 
- Public Member Functions inherited from cRuntimeBehaviour
tResult GetRunners (ucom::ant::iobject_list< IRunner > &lstRunners) const
 copydoc IRuntimeBehaviour::GetRunners
 
tResult FindRunner (const tChar *strName, ucom::ant::iobject_ptr< ucom::ant::IObject > &pRunner) const
 copydoc IRuntimeBehaviour::FindRunner
 
tResult GetInnerPipes (ucom::ant::iobject_list< ITriggerPipe > &lstInnerpTriggerPipe) const
 copydoc IRuntimeBehaviour::GetInnerPipes
 
virtual tResult UnregisterRunner (const ucom::ant::iobject_ptr< IRunner > &pRunner)
 Unregisters a Runner. More...
 
tResult ReleaseRunners ()
 Release every registered Runners
More...
 
virtual tResult RegisterInnerPipe (const ucom::ant::iobject_ptr< ITriggerPipe > &pTriggerPipe)
 Registers and publishes an inner ITriggerPipe object to the IRuntimeBehaviour. More...
 
virtual tResult UnregisterInnerPipe (const ucom::ant::iobject_ptr< ITriggerPipe > &pTriggerPipe)
 Unregisters an inner ITriggerPipe object. More...
 
tResult ReleaseTriggerPipes ()
 Release and unregister every registered TriggerPipes. More...
 
- Public Member Functions inherited from cConfiguration
 cConfiguration ()
 Default constructor.
 
virtual ~cConfiguration ()
 Destructor.
 
tResult GetProperties (adtf::ucom::ant::iobject_ptr< const IProperties > &pProperties) const
 Gets the properties with read access. More...
 
tResult GetProperties (adtf::ucom::ant::iobject_ptr< IProperties > &pProperties)
 Gets the properties with read access. More...
 
tResult AttachConfiguration (const tChar *strName, IConfiguration &oAttachedConfiguration)
 Attaches the given configuration and its properties as property tree item of this. More...
 
tResult DetachConfiguration (const tChar *strName)
 Detaches a configuration with the specified name. More...
 
tResult RegisterPropertyVariable (const tChar *strName, ant::cPropertyVariable &oPropertyVariable)
 Registers a property variable that always reflects the current value of the property. More...
 

Private Member Functions

tVoid LockedCallEnableSubStream (streaming::flash::ISampleWriter *pWriter, tUInt32 nSubStreamId, const base::ant::IProperties *pRequestProperties)
 
tVoid LockedCallDisableSubStream (streaming::flash::ISampleWriter *pWriter, tUInt32 nSubStreamId)
 

Additional Inherited Members

- Protected Member Functions inherited from cGraphObject
tVoid SetupStreamer (std::shared_ptr< streaming::flash::ISampleStreamer > pStreamer, const tChar *strName, const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pType)
 Used by the templated CreateInputPin() and CreateOutputPin() methods. More...
 
tVoid CreateInputPin (std::shared_ptr< streaming::flash::ISampleReader > pReader, tBool bDataInTrigger=true, tBool bForwardTriggerViaOutputPins=true)
 The implementation used by CreateInputPin(const tChar*, tBool, tBool) and CreateInputPin(const tChar*, const cStreamTypeHelper&, tBool, tBool)
 
tVoid CreateInputPin (std::shared_ptr< streaming::flash::ISampleReader > pReader, std::function< tResult(base::flash::tNanoSeconds)> fnTriggerCallback, tBool bForwardTriggerViaOutputPins=true)
 The implementation used by CreateInputPin(const tChar*, const cStreamTypeHelper&, std::function<tResult(base::flash::tNanoSeconds)>, tBool)
 
tVoid CreateInputPin (std::shared_ptr< streaming::flash::ISampleReader > pReader, std::function< tResult(const ucom::ant::iobject_ptr< const streaming::ant::ISample > &)> fnSampleCallback, tBool bForwardTriggerViaOutputPins=true)
 The implementation used by CreateInputPin(const tChar*, const cStreamTypeHelper&, std::function<tResult(const ucom::ant::iobject_ptr<const streaming::ant::ISample>&)>, tBool)
 
tVoid CreateInputPin (std::shared_ptr< streaming::flash::ISampleReader > pReader, std::function< tResult(base::flash::tNanoSeconds, const tVoid *, tSize)> fnSampleDataCallback, tBool bForwardTriggerViaOutputPins=true)
 The implementation used by CreateInputPin(const tChar*, const cStreamTypeHelper&, std::function<tResult(base::flash::tNanoSeconds, const tVoid*, tSize)>, tBool)
 
tVoid CreateOutputPin (std::shared_ptr< streaming::flash::ISampleWriter > pWriter)
 The implementation used by CreateOutputPin(const tChar*, const cStreamTypeHelper&), CreateOutputPin(const tChar*, const cStreamTypeHelper&).
 
- Protected Member Functions inherited from cDataBinding
 cDataBinding ()
 CTOR.
 
virtual ~cDataBinding ()
 DTOR.
 
- Protected Member Functions inherited from cRuntimeBehaviour
 cRuntimeBehaviour ()
 CTOR.
 
virtual ~cRuntimeBehaviour ()
 DTOR.
 
- Protected Attributes inherited from cGraphObject
ucom::ant::object_ptr< services::ant::IReferenceClock_clock
 A reference to the clock service. More...
 
std::unique_ptr< cImplementation > m_pImplementation
 
- Protected Attributes inherited from cNamedGraphObject
const adtf::ucom::ant::IObjectm_pParent = nullptr
 parent of the named object
 
std::string m_strName
 name of the
 

Detailed Description

Base class for adtf::filter::flash::cFilter, adtf::filter::flash::cSampleStreamingSource and adtf::filter::flash::cSampleStreamingSink.

Basic Data, Interface and Runtime Behaviour

The class provides many convenience member functions that facilitate the following operations:

Dynamic Objects

For the implementation of dynamic pins, interface clients and interface servers overwrite one or more of the following virtual functions:

Dependencies

To inform the ADTF Configuration Editor about required interfaces, please see Setup dependencies between components.

Error Handling

All Create* methods throw exceptions in case of errors. The ADTF SDK is prepared to cope with exceptions within any of the graph objects methods, especially in your subclasses' constructors. You are also free to throw exceptions (THROW_ERROR_DESC) in methods that return tResult error codes. But if you call methods that return a tResult error code yourself, make sure to wrap them with the appropriate RETURN_IF_FAILED or THROW_IF_FAILED macros.

Definition at line 1116 of file graph_object.h.

Member Function Documentation

◆ CreateRequestableOutputPin()

RequestableWriterType * CreateRequestableOutputPin ( const tChar strName,
const cStreamTypeHelper oType = streaming::ant::stream_meta_type_anonymous() 
)

Creates a new requestable output pin with a given stream type.

This will support Substream requests via EnableSubStream() and DisableSubStream().

Example Usage

#include <set>
class cMyFilter: public adtf::filter::cFilter
{
public:
ADTF_CLASS_ID_NAME(cMyFilter, "my_filter.filter.example.cid", "My Filter");
cMyFilter()
{
CreateRunner("generate_samples");
m_pWriter = CreateRequestableOutputPin("output", oSubStreams);
}
tUInt32 nSubStreamId,
const adtf::base::IProperties* /*pRequestProperties*/) override
{
if (nSubStreamId > 2)
{
RETURN_ERROR_DESC(ERR_INVALID_ARG, "No Substream with id %d available", nSubStreamId);
}
m_oEnabledSubStreams.insert(nSubStreamId);
}
tVoid DisableSubStream(adtf::streaming::ISampleWriter* /*pWriter*/, tUInt32 nSubStreamId) override
{
m_oEnabledSubStreams.erase(nSubStreamId);
}
{
++m_nTriggerCounter;
for (const auto& nSubStreamId: m_oEnabledSubStreams)
{
adtf::streaming::output_sample_data<tUInt32> oNewData(tmTrigger, m_nTriggerCounter, nSubStreamId);
m_pWriter->Write(oNewData.Release());
}
}
private:
adtf::streaming::ISampleWriter* m_pWriter = nullptr;
std::set<tUInt32> m_oEnabledSubStreams;
tUInt32 m_nTriggerCounter = 0;
};

or

#include <set>
#include <mutex>
class cMyFilter: public adtf::filter::cFilter
{
public:
ADTF_CLASS_ID_NAME(cMyFilter, "my_filter.filter.example.cid", "My Filter");
cMyFilter()
{
CreateRunner("generate_samples");
m_pWriter = CreateOutputPin<adtf::streaming::requestable_writer<>>("output", oSubStreams);
m_pWriter->SetCallbacks([this](tUInt32 nSubStreamId, const adtf::base::IProperties*)
{
if (nSubStreamId > 2)
{
THROW_ERROR_DESC(ERR_INVALID_ARG, "No Substream with id %d available", nSubStreamId);
}
std::lock_guard<std::mutex> oGuard(m_oSubStreamsLock);
m_oEnabledSubStreams.insert(nSubStreamId);
},
[this](tUInt32 nSubStreamId)
{
std::lock_guard<std::mutex> oGuard(m_oSubStreamsLock);
m_oEnabledSubStreams.erase(nSubStreamId);
});
}
{
++m_nTriggerCounter;
std::lock_guard<std::mutex> oGuard(m_oSubStreamsLock);
for (const auto& nSubStreamId: m_oEnabledSubStreams)
{
adtf::streaming::output_sample_data<tUInt32> oNewData(tmTrigger, m_nTriggerCounter, nSubStreamId);
m_pWriter->Write(oNewData.Release());
}
}
private:
std::mutex m_oSubStreamsLock;
std::set<tUInt32> m_oEnabledSubStreams;
tUInt32 m_nTriggerCounter = 0;
};
Template Parameters
RequestableWriterTypeThe writer implementation that is associated with the pin.
Parameters
[in]strNameThe name of the pin.
[in]oTypeThe stream type.
Returns
A pointer to a writer associated with the pin. This is valid as long as the cGraphObject instance exists.
Exceptions
tResultIn case of an error.

Definition at line 1191 of file graph_object.h.

References cGraphObject::CreateOutputPin().

◆ DisableSubStream()

virtual tVoid DisableSubStream ( streaming::flash::ISampleWriter pWriter,
tUInt32  nSubStreamId 
)
virtual

Called when the last consumer cancels its request for the transmission of samples of a given Substream.

Mind that calls to this method are synchronized to the Process() and ProcessInput() methods with the help of a mutex.

Parameters
[in]pWriterThe writer of the pin, that the Substream was requested from.
[in]nSubStreamIdThe id of the Substream.

◆ EnableSubStream()

virtual tResult EnableSubStream ( streaming::flash::ISampleWriter pWriter,
tUInt32  nSubStreamId,
const base::ant::IProperties pRequestProperties = nullptr 
)
virtual

This is called when the first consumer requests the transmission of samples of a given Substream.

Mind that calls to this method are synchronized to the Process() and ProcessInput() methods with the help of a mutex.

Parameters
[in]pWriterThe writer of the pin, that the Substream was requested from.
[in]nSubStreamIdThe id of the Substream.
[in]pRequestPropertiesThe request properties, if nullptr, use defaults.
Returns
Standard result.

◆ SetDescription()

tVoid SetDescription ( const tChar strItem,
const tChar strDescription 
)

Set the description for a data Pin, an Interface Binding Object or a Runner.

Example Usage

class cMyFilter: public adtf::filter::cFilter
{
public:
ADTF_CLASS_ID_NAME(cMyFilter, "my_filter.filter.example.cid", "My Filter");
cMyFilter()
{
CreateOutputPin("output_pin");
CreateRunner("runner");
CreateInterfaceServer<adtf::ucom::IObject>("interface_server",
adtf::ucom::make_object_ptr<adtf::ucom::object<adtf::ucom::IObject>>());
SetDescription("output_pin", "This is a dummy data pin.");
SetDescription("runner", "This is a dummy runner.");
SetDescription("interface_server", "This is a dummy interface server.");
}
};
Parameters
[in]strItemThe name of the item to set the description for.
[in]strDescriptionThe description.

◆ SetHelpLink()

tVoid SetHelpLink ( const tChar strUrl)

Sets the link to the documentation that tools can display.

Example Usage

class cMyFilter: public adtf::filter::cFilter
{
public:
ADTF_CLASS_ID_NAME(cMyFilter, "my_filter.filter.example.cid", "My Filter");
cMyFilter()
{
SetHelpLink("my_filter_help.html");
}
};
See also
adtf::streaming::hollow::set_help_link()
Parameters
[in]strUrlThe url to the help document (i.e. an HTML file).

Copyright © Audi Electronics Venture GmbH. All rights reserved. (Generated on Tue Sep 28 2021 by doxygen 1.8.14)