Safir SDK Core
Loading...
Searching...
No Matches
Safir::Dob::Typesystem::ToolSupport::MemberMappingDescription Class Referenceabstract

Description of a property member mapping. More...

#include <Safir/Dob/Typesystem/ToolSupport/TypeRepository.h>

Public Member Functions

virtual ~MemberMappingDescription ()=default
 Destructor.
 
virtual DotsC_PropertyMappingKind GetMappingKind () const =0
 Get type of property member mapping.
 
virtual std::pair< const ParameterDescription *, int > GetParameter () const =0
 If this property mapping is of type MappedToParameter, use GetMappingKind() to check that, this method returns a pair containing parameter description and parameter index.
 
virtual int MemberReferenceDepth () const =0
 If this property mapping is of type MappedToMember, use GetMappingKind() to check that, this method returns a member depth level.
 
virtual std::pair< DotsC_MemberIndex, DotsC_Int32 > GetMemberReference (int depth) const =0
 If this property mapping is of type MappedToMember, use GetMappingKind() to check that, this method will get a pair containing a class member index and an array index for the member mapping of specified depth.
 

Detailed Description

Description of a property member mapping.

Constructor & Destructor Documentation

◆ ~MemberMappingDescription()

virtual Safir::Dob::Typesystem::ToolSupport::MemberMappingDescription::~MemberMappingDescription ( )
virtualdefault

Destructor.

Member Function Documentation

◆ GetMappingKind()

virtual DotsC_PropertyMappingKind Safir::Dob::Typesystem::ToolSupport::MemberMappingDescription::GetMappingKind ( ) const
pure virtual

Get type of property member mapping.

A member can be mapped to NULL, to a class member or to a parameter.

Returns
Type of mapping.

◆ GetMemberReference()

virtual std::pair< DotsC_MemberIndex, DotsC_Int32 > Safir::Dob::Typesystem::ToolSupport::MemberMappingDescription::GetMemberReference ( int depth) const
pure virtual

If this property mapping is of type MappedToMember, use GetMappingKind() to check that, this method will get a pair containing a class member index and an array index for the member mapping of specified depth.

Parameters
depth[in] - The depth of the member mappping that is requested.
Returns
Pair containing member index and array index.

◆ GetParameter()

virtual std::pair< const ParameterDescription *, int > Safir::Dob::Typesystem::ToolSupport::MemberMappingDescription::GetParameter ( ) const
pure virtual

If this property mapping is of type MappedToParameter, use GetMappingKind() to check that, this method returns a pair containing parameter description and parameter index.

If member is mapped to a whole array the parameterIndex is not valid.

Returns

◆ MemberReferenceDepth()

virtual int Safir::Dob::Typesystem::ToolSupport::MemberMappingDescription::MemberReferenceDepth ( ) const
pure virtual

If this property mapping is of type MappedToMember, use GetMappingKind() to check that, this method returns a member depth level.

I.e how many indirection into contained objects that is used. For example if property member M1 is mapped into Class1.ObjectMember1.Int32Member this method will return 2.

Returns
Reference depth for a member mapping of type MappedToMember.