ADTF
stream_meta_type< MetaTypeStruct >

Generator template stream_meta_type to create a StreamMetaType Class for the Type T. More...

Inheritance diagram for stream_meta_type< MetaTypeStruct >:
[legend]

Public Member Functions

 stream_meta_type ()
 default CTOR. More...
 
tResult IsCompatible (const IStreamType &oCheckedType, const IStreamType &oExpectedType) const override
 The IsCompatible implementation of this generator class will decide at compile time wether to use the MetaTypeStruct::IsCompatible method if provided or to use the cStreamMetaType::IsCompatible default implementation. More...
 
- Public Member Functions inherited from cStreamMetaType
tResult GetMetaTypeName (IString &&strTypeName) const override
 Gets the unique meta type name. More...
 
adtf::util::tVersion GetVersion () const override
 Get version of a Stream Type. More...
 
tResult GetDefaultConfig (adtf::ucom::ant::iobject_ptr< const adtf::base::IProperties > &pProperties) const override
 Get the default configuration values for a Stream Type. More...
 
tResult GetParent (adtf::ucom::ant::iobject_ptr< const IStreamMetaType > &pParent) const override
 This GetParent function is deprecated. More...
 
tResult IsCompatible (const IStreamType &oTypeToCheck, const IStreamType &oTypeExpected) const override
 Compares the oTypeExpected Stream Type with the oTypeToCheck - see Default Stream Meta Types in ADTF for a summary of implementations. More...
 
 cStreamMetaType ()
 Default CTOR.
 
virtual ~cStreamMetaType ()=default
 DTOR.
 
- Public Member Functions inherited from object< IStreamMetaType >
tResult GetInterface (const char *i_strIID, void *&o_pInterface) override
 Query interfaces on an object. More...
 
tResult GetInterface (const char *i_strIID, const void *&o_pInterface) const override
 Provides const correct interface querying. More...
 
void Destroy () const override
 Destruct and deallocate instantiations of type IObject. More...
 
- Public Member Functions inherited from IObject
 ADTF_IID (IObject, "object.ant.ucom.adtf.iid")
 Marks the IObject to be castable with the ucom_cast() More...
 

Additional Inherited Members

- Protected Member Functions inherited from cStreamMetaType
tResult SetMetaTypeName (const char *strTypeName)
 Sets the unique type name. More...
 
- Protected Member Functions inherited from IObject
 ~IObject ()=default
 Protected destructor --> Use implemented Destroy() instead of delete!
 
- Protected Attributes inherited from cStreamMetaType
cString m_strMetaTypeName
 MetaTypeName of the StreamMetaType (like "adtf/default")
 
adtf::ucom::object_ptr< adtf::base::IPropertiesm_pDefaultProperties
 Default properties.
 
adtf::ucom::object_ptr< IStreamMetaTypem_pParentMetaType
 parent if any
 
tVersion m_sVersion
 version
 

Detailed Description

template<typename MetaTypeStruct>
class adtf::streaming::ant::stream_meta_type< MetaTypeStruct >

Generator template stream_meta_type to create a StreamMetaType Class for the Type T.

Template Parameters
MetaTypeStructThe type MetaTypeStruct needs to be a class with following concept:
Minimal constraint:
struct stream_meta_type_plain
{
static constexpr const char* const MetaTypeName = <your meta type name as string>;
static void SetProperties(const adtf::ucom::iobject_ptr<adtf::base::IProperties>& pProperties)
{
//your properties to set
pProperties->SetProperty(adtf::base::property<adtf_util::cString>(PlainTypeProperty, ""));
}
};
Base object pointer to realize binary compatible reference counting in interface methods.
Is compatible:
Additionally it is possible to implement a IsCompabible method:
struct stream_meta_type_plain
{
static constexpr const char* const MetaTypeName = <your meta type name as string>;
static void SetProperties(const adtf::ucom::iobject_ptr<adtf::base::IProperties>& pProperties)
{
//your properties to set
pProperties->SetProperty(adtf::base::property<adtf_util::cString>(PlainTypeProperty, ""));
}
static void IsCompatible(const IStreamType& oSourceType,
const IStreamType& oDestinationType)
{
// implement your comapible crititeria here!!
}
};
tResult IsCompatible(const IStreamType &oCheckedType, const IStreamType &oExpectedType) const override
The IsCompatible implementation of this generator class will decide at compile time wether to use the...
Definition: streamtype.h:257
See also
Stream Meta Type

Definition at line 233 of file streamtype.h.

Constructor & Destructor Documentation

◆ stream_meta_type()

stream_meta_type ( )
inline

default CTOR.

This CTOR will generate your Stream Meta Type implementation for the given concept call MetaTypeStruct.

See also
stream_meta_type

Definition at line 242 of file streamtype.h.

References cStreamMetaType::m_pDefaultProperties, and cStreamMetaType::SetMetaTypeName().

Member Function Documentation

◆ IsCompatible()

tResult IsCompatible ( const IStreamType oCheckedType,
const IStreamType oExpectedType 
) const
inlineoverride

The IsCompatible implementation of this generator class will decide at compile time wether to use the MetaTypeStruct::IsCompatible method if provided or to use the cStreamMetaType::IsCompatible default implementation.

Parameters
oCheckedTypeThe type to check
oExpectedTypeThe base expected type the checked type must be compatible to for a successfully call.
See also
stream_meta_type, cStreamMetaType::IsCompatible, Default Stream Meta Types in ADTF

Definition at line 257 of file streamtype.h.

References cStreamMetaType::IsCompatible().