33 base::ant::configuration<>>
57 return base_type_conf::configuration::GetProperties(pProperties);
62 return base_type_conf::configuration::AttachConfiguration(strName, oAttachedConfiguration);
67 return base_type_conf::configuration::DetachConfiguration(strName);
76 template <
typename DATA_TYPE>
83 template<tTimeStamp TIME_RANGE,
bool STORELASTSAMPLE = true>
87 template<
size_t MAX_SIZE,
bool STORELASTSAMPLE = true>
177 template<
typename READERWRITERTYPE,
typename PINTYPE>
183 oReaderWriter.GetType(pType);
184 return streaming::ant::create_pin<cFilter>(oFilter, oReaderWriter, strName, pType, pPinType);
193 template<
typename READERWRITERTYPE>
199 oReaderWriter.GetType(pType);
200 return streaming::ant::create_pin<cFilter>(oFilter, oReaderWriter, strName, pType);
204 template<
typename READERWRITERTYPE,
typename PINTYPE>
213 tResult nRes = filter_create_pin_with_exact_name<READERWRITERTYPE, PINTYPE>(oFilter, oReaderORWriter, pPin);
218 if (nRes == ERR_RESOURCE_IN_USE)
220 adtf_util::cString strNameOfReaderAndPinTry = adtf_util::cString::Format(
"%s_%d.3", strNameOfReaderAndPin.GetPtr(), nCurrentTry++);
221 oReaderORWriter.SetName(strNameOfReaderAndPinTry);
233 ucom::object_ptr<streaming::ant::IInPin> pPin;
234 return filter_create_pin<streaming::ant::cSampleReader, streaming::ant::IInPin>(oFilter, oReader, pPin);
239 ucom::object_ptr<streaming::ant::IOutPin> pPin;
240 return filter_create_pin<streaming::ant::cSampleWriter, streaming::ant::IOutPin>(oFilter, oWriter, pPin);
243 inline tResult filter_create_pin(cFilter& oFilter,
246 const ucom::ant::iobject_ptr<const adtf::streaming::ant::IStreamType>& pType)
249 return filter_create_pin(oFilter, oReaderORWriter);
252 inline tResult filter_create_pin(cFilter& oFilter,
255 const ucom::ant::iobject_ptr<const streaming::ant::IStreamType>& pType)
258 return filter_create_pin(oFilter, oReaderORWriter);
287 streaming::ant::IDataBinding,
288 streaming::ant::IInterfaceBinding,
289 streaming::ant::IRuntimeBehaviour,
290 streaming::ant::IDynamicDataBinding,
291 streaming::ant::IDynamicInterfaceBinding,
292 streaming::ant::IFilter,
293 base::ant::IConfiguration>,
299 template <
typename T>
357 tResult SetName(
const char* strName)
override;
367 tResult FindBindingObject(
const char* strName,
369 tResult FindBindingObject(
const char* strName,
376 tResult RequestPin(
const char* strName,
379 tResult RequestPin(
const char* strName,
383 tResult RequestBindingObject(
const char* strName,
386 tResult RequestBindingObject(
const char* strName,
390 tResult SetState(tFilterState eFilterState)
override;
391 tFilterState GetState()
const override;
396 tResult DetachConfiguration(
const char* strName)
override;
399 class cImplementation;
400 std::unique_ptr<cImplementation> m_pImplementation;
403 template<
typename DATA_BINDING_IMPL_TYPE>
409 template<
typename DATA_BINDING_IMPL_TYPE>
415 template<
typename DATA_BINDING_IMPL_TYPE>
416 inline tResult filter_create_pin(DATA_BINDING_IMPL_TYPE& oFilter,
421 RETURN_IF_FAILED(adtf::streaming::flash::make_sample_reader(oReader, strName, pType));
425 template<
typename DATA_BINDING_IMPL_TYPE>
426 inline tResult filter_create_pin(DATA_BINDING_IMPL_TYPE& oFilter,
429 const ucom::ant::iobject_ptr<const streaming::ant::IStreamType>& pType)
431 RETURN_IF_FAILED(adtf::streaming::flash::make_sample_writer(oWriter, strName, pType));
432 return filter_create_pin(oFilter, oWriter);
435 template<
typename DATA_BINDING_IMPL_TYPE,
typename READERWRITERTYPE,
typename PINTYPE>
436 tResult filter_create_pin(DATA_BINDING_IMPL_TYPE& oFilter, READERWRITERTYPE& oReaderORWriter, ucom::ant::iobject_ptr<PINTYPE>& pPin)
438 ucom::ant::object_ptr<ucom::ant::IObject> pHelper;
440 return pPin.Reset(ucom::ant::ucom_object_ptr_cast<PINTYPE>(pHelper));
451 streaming::ant::IDataBinding,
452 streaming::ant::IInterfaceBinding,
453 streaming::ant::IRuntimeBehaviour,
454 streaming::ant::IDynamicDataBinding,
455 streaming::ant::IDynamicInterfaceBinding,
456 streaming::ant::IFilter,
457 base::ant::IConfiguration>,
463 template <
typename T>
481 tResult SetName(
const char* strName)
override;
491 tResult FindBindingObject(
const char* strName,
493 tResult FindBindingObject(
const char* strName,
500 tResult RequestPin(
const char* strName,
503 tResult RequestPin(
const char* strName,
507 tResult RequestBindingObject(
const char* strName,
510 tResult RequestBindingObject(
const char* strName,
514 tResult SetState(tFilterState eFilterState)
override;
515 tFilterState GetState()
const override;
520 tResult DetachConfiguration(
const char* strName)
override;
523 class cImplementation;
524 std::unique_ptr<cImplementation> m_pImplementation;
532 using flash::filter_create_pin;
tInt64 tTimeStamp
type definition for a time value.
#define RETURN_IF_FAILED(s)
Return if expression is failed, which requires the calling function's return type to be tResult.
#define RETURN_NOERROR
Return status ERR_NOERROR, which requires the calling function's return type to be tResult.
#define IS_OK(s)
Check if result is OK.
A common result class usable as return value throughout.
ucom Interface to a objects configuration.
The Runnable interface defines common methods for a running component.
The IString interface provides methods for getting and setting strings through abstract interfaces.
Implementation helper template to enriches an implementation with the default implementation of IConf...
tResult GetProperties(adtf::ucom::ant::iobject_ptr< const IProperties > &pProperties) const override
Gets the configuration with only read access.
Enriches the adtf::streaming::ant::cFilterBase class with the configuration.
virtual ~cConfigurableFilter()=default
DTOR.
base::ant::configuration base_type_conf
used base type
cConfigurableFilter()=default
CTOR.
tResult AttachConfiguration(const char *strName, base::ant::IConfiguration &oAttachedConfiguration) override
Attaches the given configuration and its properties as property tree item of this.
tResult GetProperties(ucom::ant::iobject_ptr< base::ant::IProperties > &pProperties) override
Gets the properties with read access.
tResult GetProperties(ucom::ant::iobject_ptr< const base::ant::IProperties > &pProperties) const override
Gets the properties with read access.
tResult DetachConfiguration(const char *strName) override
Detaches a configuration with the specified name.
virtual ~cFilter()=default
DTOR.
tResult ConfigureThreadTrigger(const char *strRunnerName, bool bCallCyclic)
Creates an internal a internal thread configuration for a timing trigger.
tResult ConfigureDataInTrigger(const char *strRunnerName, const char *strPinName)
Creates an internal trigger pipe for the given pin.
tResult ConfigureTimerTrigger(const char *strRunnerName, tTimeStamp tmPeriod)
Creates an internal a internal trigger configuration for a timing trigger.
tResult ConfigureDataOutTrigger(const char *strRunnerName, const char *strPinName)
Creates an internal trigger pipe for the given pin.
A_UTILS_D(cFilter)
dpointer impl
Base class for ADTF filters.
tResult Shutdown(tInitStage eStage) override
Implements the default cFilterLevelmachine state machine call.
tResult Init(tInitStage eStage) override
Initializes the filter.
tResult Stop() override
Implements the default cFilterLevelmachine state machine calls.
tResult Start() override
Reset your internal data here.
Base class for adtf::filter::flash::cFilter, adtf::filter::flash::cSampleStreamingSource and adtf::fi...
Base class for ADTF filters.
tResult Shutdown(tInitStage eStage) override
Implements the default cFilterLevelmachine state machine call.
tResult Init(tInitStage eStage) override
Initializes the filter.
tResult Stop() override
Implements the default cFilterLevelmachine state machine calls.
tResult Start() override
Reset your internal data here.
Base class for adtf::filter::flash::cFilter, adtf::filter::flash::cSampleStreamingSource and adtf::fi...
The cFilterBase class implements a basic filter that supports the ant::IFilter interfaces.
cFilterLevelmachine::tInitStage tInitStage
private d-pointer
The Default Filter Level State Machine.
tInitStage
The Filters InitStages will be used for the cFilterLevelmachine::Init and cFilterLevelmachine::Shutdo...
The default Sample Reader will read the incomung Stream of a IInPin.
This base implementation of a sample writer is able to write to one Sample Stream which is connected ...
A Possible Sample Reader of a Trigger Function! Sample reader with a internal queue,...
Specialized Sample Writer to write DATA of type DATA_TYPE.
Interface for sample reads that read from sample streams via input pins.
Interface for sample writers that write to sample streams via output pins.
Base class for every interface type within the uCOM.
Base object pointer to realize binary compatible reference counting in interface methods.
Use this template if you want to implement an ucom::ant::IObject based Interface and/or subclass an e...
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
string_base< cStackString > cString
cString implementation for a stack string which works on stack if string is lower than A_UTILS_DEFAUL...
tResult filter_create_pin_with_exact_name(cFilter &oFilter, READERWRITERTYPE &oReaderWriter, ucom::ant::iobject_ptr< PINTYPE > &pPinType)
Creates a Pin for the given reader which has to have the same name as the oReader.
Namespace for all functionality of the ADTF Streaming SDK provided since v3.0.
tResult make_sample_writer(cSampleWriter &oWriter, const char *strNameOfWriter, const ucom::ant::iobject_ptr< const IStreamType > &pStreamType)
tResult make_sample_reader(cSampleReader &oReader, const char *strNameOfReader, const ucom::iobject_ptr< const IStreamType > &pStreamType)
Initializes a cSampleReader with given name and StreamType param[in] oReader Reader to intialize para...
sample_reader< cDynamicSampleReaderQueue > cDynamicSampleReader
The cDynamicSampleReader will create a sample reader which will create a internal sample queue with u...
tResult create_pin(DATA_BINDING_IMPL_TYPE &oDataBindingImpl, cSampleWriter &oWriter, const char *strNameOfWriterAndPin, const ucom::iobject_ptr< const IStreamType > &pStreamType, ucom::iobject_ptr< IOutPin > &pPinCreated)
Creates a cOutPin and registers it at the given oDataBindingImpl instance.
Namespace for entire ADTF SDK.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
#define adtf_string_intf(__string__)
The adtf_string_intf Macro helps to easily create a rvalue reference of a adtf::util::cString.