diff --git a/src/main/java/com/eprosima/idl/parser/typecode/StringTypeCode.java b/src/main/java/com/eprosima/idl/parser/typecode/StringTypeCode.java index a0c0540c..df420014 100644 --- a/src/main/java/com/eprosima/idl/parser/typecode/StringTypeCode.java +++ b/src/main/java/com/eprosima/idl/parser/typecode/StringTypeCode.java @@ -55,7 +55,9 @@ public String getTypeIdentifier() @Override public String getCppTypename() { - return getCppTypenameFromStringTemplate().toString(); + StringTemplate st = getCppTypenameFromStringTemplate(); + st.setAttribute("max_size", m_maxsize); + return st.toString(); } @Override diff --git a/src/main/resources/com/eprosima/idl/templates/Types.stg b/src/main/resources/com/eprosima/idl/templates/Types.stg index cdd48202..7e0d0924 100644 --- a/src/main/resources/com/eprosima/idl/templates/Types.stg +++ b/src/main/resources/com/eprosima/idl/templates/Types.stg @@ -40,9 +40,9 @@ type_7() ::= <> type_9() ::= <> -type_d() ::= <> +type_d(max_size) ::= <<$if(max_size)$eprosima::fastrtps::fixed_string<$max_size$>$else$std::string$endif$>> -type_15() ::= <> +type_15(max_size) ::= <> type_19(key, value, maxsize, empty) ::= <$empty$>>