@@ -563,30 +563,28 @@ register_sequence_type(sequence, name) ::= <<
563
563
$! TODO(jlbueno): annotated collections generate TypeObject instead of TypeIdentifier
564
564
pending implementation of annotated collection support !$
565
565
$plain_collection_header(type=sequence.contentTypeCode, message="Sequence element", name=name, collection_name=sequence_name(sequence))$
566
- std::string type_id_kind_$sequence_name(sequence)$("$sequence.typeIdentifier$");
567
- if (type_id_kind_$sequence_name(sequence)$ == "TI_PLAIN_SEQUENCE_SMALL")
568
566
{
569
- SBound bound = $if (sequence.unbound)$0$else$static_cast<SBound>($sequence.evaluatedMaxsize$)$endif$;
570
- PlainSequenceSElemDefn seq_sdefn = TypeObjectUtils::build_plain_sequence_s_elem_defn(header_$sequence_name(sequence)$, bound,
567
+ $if(sequence.isTypeIdentifierKindLarge)$
568
+ LBound bound = $sequence.evaluatedMaxsize$;
569
+ PlainSequenceLElemDefn seq_ldefn = TypeObjectUtils::build_plain_sequence_l_elem_defn(header_$sequence_name(sequence)$, bound,
571
570
eprosima::fastcdr::external<TypeIdentifier>(element_identifier_$sequence_name(sequence)$));
572
571
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
573
- TypeObjectUtils::build_and_register_s_sequence_type_identifier(seq_sdefn , "$sequence_name(sequence)$"))
572
+ TypeObjectUtils::build_and_register_l_sequence_type_identifier(seq_ldefn , "$sequence_name(sequence)$"))
574
573
{
575
574
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
576
575
"$sequence_name(sequence)$ already registered in TypeObjectRegistry for a different type.");
577
576
}
578
- }
579
- else
580
- {
581
- LBound bound = $sequence.evaluatedMaxsize$;
582
- PlainSequenceLElemDefn seq_ldefn = TypeObjectUtils::build_plain_sequence_l_elem_defn(header_$sequence_name(sequence)$, bound,
577
+ $else$
578
+ SBound bound = $if (sequence.unbound)$0$else$static_cast<SBound>($sequence.evaluatedMaxsize$)$endif$;
579
+ PlainSequenceSElemDefn seq_sdefn = TypeObjectUtils::build_plain_sequence_s_elem_defn(header_$sequence_name(sequence)$, bound,
583
580
eprosima::fastcdr::external<TypeIdentifier>(element_identifier_$sequence_name(sequence)$));
584
581
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
585
- TypeObjectUtils::build_and_register_l_sequence_type_identifier(seq_ldefn , "$sequence_name(sequence)$"))
582
+ TypeObjectUtils::build_and_register_s_sequence_type_identifier(seq_sdefn , "$sequence_name(sequence)$"))
586
583
{
587
584
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
588
585
"$sequence_name(sequence)$ already registered in TypeObjectRegistry for a different type.");
589
586
}
587
+ $endif$
590
588
}
591
589
$get_type_identifier_registry(typename=sequence_name(sequence), name=name)$
592
590
if (return_code_$name$ != eprosima::fastdds::dds::RETCODE_OK)
@@ -601,36 +599,34 @@ register_array_type(array, name) ::= <<
601
599
$! TODO(jlbueno): annotated collections generate TypeObject instead of TypeIdentifier
602
600
pending implementation of annotated collection support !$
603
601
$plain_collection_header(type=array.contentTypeCode, message="Array element", name=name, collection_name=array_name(array))$
604
- std::string type_id_kind_$array_name(array)$("$array.typeIdentifier$");
605
- if (type_id_kind_$array_name(array)$ == "TI_PLAIN_ARRAY_SMALL")
606
602
{
607
- SBoundSeq array_bound_seq;
603
+ $if(array.isTypeIdentifierKindLarge)$
604
+ LBoundSeq array_bound_seq;
608
605
$array.evaluatedDimensions: { dimension |
609
- TypeObjectUtils::add_array_dimension(array_bound_seq, static_cast<SBound >($dimension$));
606
+ TypeObjectUtils::add_array_dimension(array_bound_seq, static_cast<LBound >($dimension$));
610
607
}; separator="\n"$
611
- PlainArraySElemDefn array_sdefn = TypeObjectUtils::build_plain_array_s_elem_defn (header_$array_name(array)$, array_bound_seq,
608
+ PlainArrayLElemDefn array_ldefn = TypeObjectUtils::build_plain_array_l_elem_defn (header_$array_name(array)$, array_bound_seq,
612
609
eprosima::fastcdr::external<TypeIdentifier>(element_identifier_$array_name(array)$));
613
610
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
614
- TypeObjectUtils::build_and_register_s_array_type_identifier(array_sdefn , "$array_name(array)$"))
611
+ TypeObjectUtils::build_and_register_l_array_type_identifier(array_ldefn , "$array_name(array)$"))
615
612
{
616
613
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
617
614
"$array_name(array)$ already registered in TypeObjectRegistry for a different type.");
618
615
}
619
- }
620
- else
621
- {
622
- LBoundSeq array_bound_seq;
616
+ $else$
617
+ SBoundSeq array_bound_seq;
623
618
$array.evaluatedDimensions: { dimension |
624
- TypeObjectUtils::add_array_dimension(array_bound_seq, static_cast<LBound >($dimension$));
619
+ TypeObjectUtils::add_array_dimension(array_bound_seq, static_cast<SBound >($dimension$));
625
620
}; separator="\n"$
626
- PlainArrayLElemDefn array_ldefn = TypeObjectUtils::build_plain_array_l_elem_defn (header_$array_name(array)$, array_bound_seq,
621
+ PlainArraySElemDefn array_sdefn = TypeObjectUtils::build_plain_array_s_elem_defn (header_$array_name(array)$, array_bound_seq,
627
622
eprosima::fastcdr::external<TypeIdentifier>(element_identifier_$array_name(array)$));
628
623
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
629
- TypeObjectUtils::build_and_register_l_array_type_identifier(array_ldefn , "$array_name(array)$"))
624
+ TypeObjectUtils::build_and_register_s_array_type_identifier(array_sdefn , "$array_name(array)$"))
630
625
{
631
626
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
632
627
"$array_name(array)$ already registered in TypeObjectRegistry for a different type.");
633
628
}
629
+ $endif$
634
630
}
635
631
$get_type_identifier_registry(typename=array_name(array), name=name)$
636
632
if (return_code_$name$ != eprosima::fastdds::dds::RETCODE_OK)
@@ -693,32 +689,30 @@ $! TODO(jlbueno) Annotated collections not yet supported !$
693
689
CollectionElementFlag element_flags_$map_name(map)$ = 0;
694
690
CollectionElementFlag key_flags_$map_name(map)$ = 0;
695
691
PlainCollectionHeader header_$map_name(map)$ = TypeObjectUtils::build_plain_collection_header(equiv_kind_$map_name(map)$, element_flags_$map_name(map)$);
696
- std::string type_id_kind_$map_name(map)$("$map.typeIdentifier$");
697
- if (type_id_kind_$map_name(map)$ == "TI_PLAIN_MAP_SMALL")
698
692
{
699
- SBound bound = $if (map.unbound)$0$else$static_cast<SBound>($map.evaluatedMaxsize$)$endif$;
700
- PlainMapSTypeDefn map_sdefn = TypeObjectUtils::build_plain_map_s_type_defn(header_$map_name(map)$, bound,
693
+ $if(map.isTypeIdentifierKindLarge)$
694
+ LBound bound = $map.evaluatedMaxsize$;
695
+ PlainMapLTypeDefn map_ldefn = TypeObjectUtils::build_plain_map_l_type_defn(header_$map_name(map)$, bound,
701
696
eprosima::fastcdr::external<TypeIdentifier>(element_identifier_$map_name(map)$), key_flags_$map_name(map)$,
702
697
eprosima::fastcdr::external<TypeIdentifier>(key_identifier_$map_name(map)$));
703
698
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
704
- TypeObjectUtils::build_and_register_s_map_type_identifier(map_sdefn , "$map_name(map)$"))
699
+ TypeObjectUtils::build_and_register_l_map_type_identifier(map_ldefn , "$map_name(map)$"))
705
700
{
706
701
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
707
702
"$map_name(map)$ already registered in TypeObjectRegistry for a different type.");
708
703
}
709
- }
710
- else
711
- {
712
- LBound bound = $map.evaluatedMaxsize$;
713
- PlainMapLTypeDefn map_ldefn = TypeObjectUtils::build_plain_map_l_type_defn(header_$map_name(map)$, bound,
704
+ $else$
705
+ SBound bound = $if (map.unbound)$0$else$static_cast<SBound>($map.evaluatedMaxsize$)$endif$;
706
+ PlainMapSTypeDefn map_sdefn = TypeObjectUtils::build_plain_map_s_type_defn(header_$map_name(map)$, bound,
714
707
eprosima::fastcdr::external<TypeIdentifier>(element_identifier_$map_name(map)$), key_flags_$map_name(map)$,
715
708
eprosima::fastcdr::external<TypeIdentifier>(key_identifier_$map_name(map)$));
716
709
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
717
- TypeObjectUtils::build_and_register_l_map_type_identifier(map_ldefn , "$map_name(map)$"))
710
+ TypeObjectUtils::build_and_register_s_map_type_identifier(map_sdefn , "$map_name(map)$"))
718
711
{
719
712
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
720
713
"$map_name(map)$ already registered in TypeObjectRegistry for a different type.");
721
714
}
715
+ $endif$
722
716
}
723
717
$get_type_identifier_registry(typename=map_name(map), name=name)$
724
718
if (return_code_$name$ != eprosima::fastdds::dds::RETCODE_OK)
@@ -800,36 +794,28 @@ bitflag_member(bitflag, parent, name) ::= <<
800
794
>>
801
795
802
796
register_wstring_type(wstring, name) ::= <<
803
- std::string type_id_kind_$wstring_name(wstring)$("$wstring.typeIdentifier$");
804
- if (type_id_kind_$wstring_name(wstring)$ == "TI_STRING16_SMALL")
805
797
{
806
- SBound bound = $if (!wstring.isBounded)$0$else$static_cast<SBound>($wstring.evaluatedMaxsize$)$endif$;
807
- StringSTypeDefn string_sdefn = TypeObjectUtils::build_string_s_type_defn(bound);
798
+ $if(wstring.isTypeIdentifierKindLarge)$
799
+ LBound bound = $wstring.evaluatedMaxsize$;
800
+ StringLTypeDefn string_ldefn = TypeObjectUtils::build_string_l_type_defn(bound);
808
801
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
809
- TypeObjectUtils::build_and_register_s_string_type_identifier(string_sdefn ,
802
+ TypeObjectUtils::build_and_register_l_string_type_identifier(string_ldefn ,
810
803
"$wstring_name(wstring)$", true))
811
804
{
812
805
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
813
806
"$wstring_name(wstring)$ already registered in TypeObjectRegistry for a different type.");
814
807
}
815
- }
816
- else if (type_id_kind_$wstring_name(wstring)$ == "TI_STRING16_LARGE")
817
- {
818
- LBound bound = $wstring.evaluatedMaxsize$;
819
- StringLTypeDefn string_ldefn = TypeObjectUtils::build_string_l_type_defn(bound);
808
+ $else$
809
+ SBound bound = $if (!wstring.isBounded)$0$else$static_cast<SBound>($wstring.evaluatedMaxsize$)$endif$;
810
+ StringSTypeDefn string_sdefn = TypeObjectUtils::build_string_s_type_defn(bound);
820
811
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
821
- TypeObjectUtils::build_and_register_l_string_type_identifier(string_ldefn ,
812
+ TypeObjectUtils::build_and_register_s_string_type_identifier(string_sdefn ,
822
813
"$wstring_name(wstring)$", true))
823
814
{
824
815
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
825
816
"$wstring_name(wstring)$ already registered in TypeObjectRegistry for a different type.");
826
817
}
827
- }
828
- else
829
- {
830
- EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
831
- "$wstring_name(wstring)$: Unknown WString kind.");
832
- return;
818
+ $endif$
833
819
}
834
820
$get_type_identifier_registry(typename=wstring_name(wstring), name=name)$
835
821
if (return_code_$name$ != eprosima::fastdds::dds::RETCODE_OK)
@@ -841,36 +827,28 @@ if (return_code_$name$ != eprosima::fastdds::dds::RETCODE_OK)
841
827
>>
842
828
843
829
register_string_type(string, name) ::= <<
844
- std::string type_id_kind_$string_name(string)$("$string.typeIdentifier$");
845
- if (type_id_kind_$string_name(string)$ == "TI_STRING8_SMALL")
846
830
{
847
- SBound bound = $if (!string.isBounded)$0$else$static_cast<SBound>($string.evaluatedMaxsize$)$endif$;
848
- StringSTypeDefn string_sdefn = TypeObjectUtils::build_string_s_type_defn(bound);
831
+ $if(string.isTypeIdentifierKindLarge)$
832
+ LBound bound = $string.evaluatedMaxsize$;
833
+ StringLTypeDefn string_ldefn = TypeObjectUtils::build_string_l_type_defn(bound);
849
834
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
850
- TypeObjectUtils::build_and_register_s_string_type_identifier(string_sdefn ,
835
+ TypeObjectUtils::build_and_register_l_string_type_identifier(string_ldefn ,
851
836
"$string_name(string)$"))
852
837
{
853
838
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
854
839
"$string_name(string)$ already registered in TypeObjectRegistry for a different type.");
855
840
}
856
- }
857
- else if (type_id_kind_$string_name(string)$ == "TI_STRING8_LARGE")
858
- {
859
- LBound bound = $string.evaluatedMaxsize$;
860
- StringLTypeDefn string_ldefn = TypeObjectUtils::build_string_l_type_defn(bound);
841
+ $else$
842
+ SBound bound = $if (!string.isBounded)$0$else$static_cast<SBound>($string.evaluatedMaxsize$)$endif$;
843
+ StringSTypeDefn string_sdefn = TypeObjectUtils::build_string_s_type_defn(bound);
861
844
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
862
- TypeObjectUtils::build_and_register_l_string_type_identifier(string_ldefn ,
845
+ TypeObjectUtils::build_and_register_s_string_type_identifier(string_sdefn ,
863
846
"$string_name(string)$"))
864
847
{
865
848
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
866
849
"$string_name(string)$ already registered in TypeObjectRegistry for a different type.");
867
850
}
868
- }
869
- else
870
- {
871
- EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
872
- "$string_name(string)$: Unknown String kind.");
873
- return;
851
+ $endif$
874
852
}
875
853
$get_type_identifier_registry(typename=string_name(string), name=name)$
876
854
if (return_code_$name$ != eprosima::fastdds::dds::RETCODE_OK)
0 commit comments