From 6e2566e9b62774e8a3c2da80b1ba86d12abc94f1 Mon Sep 17 00:00:00 2001 From: Sebastian Piwnicki Date: Wed, 2 Dec 2020 12:50:43 +0100 Subject: [PATCH] =?UTF-8?q?Prze=C5=9Blij=20pliki=20do=20'models'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/cpp_includes | 13 ++ models/generation_settings | 332 +++++++++++++++++++++++++++++++++++++ models/idl_includes | 1 + 3 files changed, 346 insertions(+) create mode 100644 models/cpp_includes create mode 100644 models/generation_settings create mode 100644 models/idl_includes diff --git a/models/cpp_includes b/models/cpp_includes new file mode 100644 index 0000000..531b86f --- /dev/null +++ b/models/cpp_includes @@ -0,0 +1,13 @@ +// "a type" "needed cpp_includes" +"vector" "#include +using namespace std;" + +"list" "#include +using namespace std;" + +"map" "#include +using namespace std;" + +"string" "#include +using namespace std;" + diff --git a/models/generation_settings b/models/generation_settings new file mode 100644 index 0000000..2fa5995 --- /dev/null +++ b/models/generation_settings @@ -0,0 +1,332 @@ + + + cpp_h_extension "h" cpp_src_extension "cpp" cpp_h_add_extensions "" cpp_src_add_extensions "" java_extension "java" php_extension "php" python_extension "py" idl_extension "idl" + cpp_inline_dont_force_incl_in_h + + type_forms 15 // uml cpp java idl cpp_in cpp_out cpp_inout cpp_return + "void" "void" "void" "void" "${type}" "${type} &" "${type}" "${type}" + "any" "void *" "Object" "any" "const ${type}" "${type}" "${type} &" "${type}" + "bool" "bool" "boolean" "boolean" "${type}" "${type} &" "${type} &" "${type}" + "char" "char" "char" "char" "${type}" "${type} &" "${type} &" "${type}" + "uchar" "unsigned char" "char" "octet" "${type}" "${type} &" "${type} &" "${type}" + "byte" "unsigned char" "byte" "octet" "${type}" "${type} &" "${type} &" "${type}" + "short" "short" "short" "short" "${type}" "${type} &" "${type} &" "${type}" + "ushort" "unsigned short" "short" "unsigned short" "${type}" "${type} &" "${type} &" "${type}" + "int" "int" "int" "long" "${type}" "${type} &" "${type} &" "${type}" + "uint" "unsigned int" "int" "unsigned long" "${type}" "${type} &" "${type} &" "${type}" + "long" "long" "long" "long" "${type}" "${type} &" "${type} &" "${type}" + "ulong" "unsigned long" "long" "unsigned long" "${type}" "${type} &" "${type} &" "${type}" + "float" "float" "float" "float" "${type}" "${type} &" "${type} &" "${type}" + "double" "double" "double" "double" "${type}" "${type} &" "${type} &" "${type}" + "string" "string" "String" "string" "${type}" "${type} &" "${type} &" "${type}" + + relations_stereotypes 5 // uml cpp java pythonidl + "sequence" "vector" "Vector" "list" "sequence" + "vector" "vector" "Vector" "list" "sequence" + "list" "list" "List" "list" "sequence" + "set" "set" "Set" "set" "sequence" + "map" "map" "Map" "dict" "sequence" + + classes_stereotypes 17 // uml cpp java php python idl + "class" "class" "class" "class" "class" "valuetype" + "trait" "class" "class" "trait" "class" "valuetype" + "interface" "class" "interface" "interface" "class" "interface" + "exception" "class" "class" "class" "class" "exception" + "enum" "enum" "enum" "enum" "enum" "enum" + "enum_class" "enum_class" "enum" "enum" "enum" "enum" + "enum_pattern" "enum" "enum_pattern" "enum" "enum" "enum" + "struct" "struct" "class" "class" "class" "struct" + "union" "union" "class" "class" "class" "union" + "typedef" "typedef" "ignored" "ignored" "ignored" "typedef" + "template_typedef" "template_typedef" "ignored" "ignored" "ignored" "ignored" + "boundary" "class" "class" "class" "class" "interface" + "control" "class" "class" "class" "class" "valuetype" + "entity" "class" "class" "class" "class" "valuetype" + "actor" "ignored" "ignored" "ignored" "ignored" "ignored" + "@interface" "ignored" "@interface" "ignored" "ignored" "ignored" + "stereotype" "ignored" "ignored" "ignored" "ignored" "ignored" + + cpp_enum_default_type_forms "${type}" "${type} &" "${type} &" "${type}" // in out inout return + other_cpp_types_default_type_forms "const ${type} &" "${type} &" "${type} &" "${type}" // in out inout return + + cpp_default_h_content "#ifndef ${NAMESPACE}_${NAME}_H +#define ${NAMESPACE}_${NAME}_H + +${comment} +${includes} +${declarations} +${namespace_start} +${definition} +${namespace_end} +#endif +" + cpp_default_src_content "${comment} +${includes} +${namespace_start} +${members} +${namespace_end}" + cpp_default_class_decl "${comment}${template}class ${name}${inherit} { +${members}}; +${inlines} +" + cpp_default_external_class_decl "${name} +#include <${name}.h> +" + cpp_default_struct_decl "${comment}${template}struct ${name}${inherit} { +${members}}; +${inlines} +" + cpp_default_union_decl "${comment}${template}union ${name} { +${members}}; +${inlines} +" + cpp_default_enum_decl "${comment}enum ${name} { +${items}}; +" + cpp_default_enumclass_decl "${comment}enum class ${name} { +${items}}; +" + cpp_default_typedef_decl "${comment}typedef ${type} ${name}; +"cpp_default_template_typedef_decl "${comment}${template}using ${name} = ${inherit}; +" + cpp_default_attribute_declaration " ${comment}${static}${thread_local}${mutable}${volatile}${const}${type} ${name}${value}; +" // multiplicity 1 + " ${comment}${static}${thread_local}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value}; +" // multiplicity * a..b + " ${comment}${static}${thread_local}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value}; +" // multiplicity [..] + cpp_default_enum_item_declaration " ${name}${value},${comment}" + cpp_association_aggregation_declaration + " ${comment}${static}${thread_local}${mutable}${volatile}${const}${type} * ${name}${value}; +" // multiplicity 1 + " ${comment}${static}${thread_local}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value}; +" // multiplicity * a..b + " ${comment}${static}${thread_local}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value}; +" // multiplicity [..] + cpp_aggregation_by_value_declaration + " ${comment}${static}${thread_local}${mutable}${volatile}${const}${type} ${name}${value}; +" // multiplicity 1 + " ${comment}${static}${thread_local}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value}; +" // multiplicity * a..b + " ${comment}${static}${thread_local}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value}; +" // multiplicity [..] + cpp_get "get_${name}" inline const value_const public + cpp_set "set_${name}" public + cpp_default_operation_declaration " ${comment}${friend}${static}${inline}${virtual}${typeprefix}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract}; +" + cpp_default_operation_definition "${comment}${inline}${typeprefix}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{ + ${body}} +" + cpp_indent_visibility " " cpp_indent_friendclass " " cpp_indent_subclass " " + java_default_src_content "${comment} +${package} +${imports} +${definition}" + java_default_class_decl "${comment}${@}${visibility}${static}${final}${abstract}class ${name}${extends}${implements} { +${members}} +" + java_default_external_class_decl "${name}" + java_default_interface_decl "${comment}${@}${visibility}${static}interface ${name}${extends} { +${members}} +" + java5_default_enum_decl "${comment}${@}${visibility}${static}${final}${abstract}enum ${name}${implements} { +${items}; +${members}} +" + java_default_enum_decl "${comment}${@}${visibility}${static}$final class ${name} { +${members} + private final int value; + + public int value() { + return value; + } + + public static ${name} fromInt(int value) { + switch (value) { +${cases} default: throw new Error(); + } + + } + private ${name}(int v) { value = v; }; +} +" + java_default_attribute_declaration " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value}; +" // multiplicity 1 + " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${stereotype}<${type}> ${name}${value}; +" // multiplicity * a..b + " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type}${multiplicity} ${name}${value}; +" // multiplicity N + java5_default_enum_item_declaration " ${@}${name}${value},${comment}" + java_default_enum_item_declaration " ${comment}${@}public static final int _${name}${value}; +public static final ${class} ${name} = new ${class}(_${name}); +" + java_default_enum_case " case _${name}: return ${name}; +" + java_association_aggregation_declaration + " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value}; +" // multiplicity 1 + " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${stereotype}<${type}> ${name}${value}; +" // multiplicity * a..b + " ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type}${multiplicity} ${name}${value}; +" // multiplicity N + java_get "get${Name}" final public + java_set "set${Name}" public + java_default_operation_definition " ${comment}${@}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{ + ${body}} +" + php_default_src_content " +" + php_default_class_decl "${comment}${final}${abstract}class ${name}${extends}${implements} { +${members}} +" + php_default_enum_decl "${comment}${visibility}final class ${name} { +${items}} +" + php_default_external_class_decl "${name}" + php_default_interface_decl "${comment}interface ${name}${extends} { +${members}} +" + php_default_trait_decl "${comment}trait ${name} { +${members}} +" + php_default_attribute_declaration " ${comment}${visibility}${const}${static}${var}${name}${value}; +" + php_default_enum_item_decl " const ${name}${value};${comment} +" + php_default_relation_declaration" ${comment}${visibility}${const}${static}${var}${name}${value}; +" + php_get "get${Name}" final + php_set "set${Name}" + php_default_operation_definition " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}${type} +{ + ${body}} +" + php_param_typed php_out_inout_by_ref python_2_2 + python_indent_step " " + python_default_src_content "${comment} +${import} +${definition}" + python_default_class_decl "class ${name}${inherit}: +${docstring}${members} +" + python_default_enum_decl "class ${name}: +${docstring}${members} +" + python_default_external_class_decl "${name}" + python_default_attribute_declaration "${comment}${self}${name} = ${value} +" // multiplicity 1 + "${comment}${self}${name} = ${stereotype}() +" // multiplicity != 1 + python_default_enum_item_decl "${comment}${self}${name} = ${value} +" + python_default_relation_declaration"${comment}${self}${name} = ${value} +" // multiplicity 1 + "${comment}${self}${name} = ${stereotype}() +" // multiplicity != 1 + python_default_composition_declaration"${comment}${self}${name} = ${type}() +" // multiplicity 1 + "${comment}${self}${name} = ${stereotype}() +" // multiplicity != 1 + python_default_operation_definition "${@}${static}${abstract}def ${name}${(}${)}: +${docstring}${body} +" + python_default_initoperation_definition "${@}${static}${abstract}def ${name}${(}${p0}${v0}${)}: +${docstring}super(${class}, ${p0}).__init__() +${body} +" + python_get "get${Name}" + python_set "set${Name}" + idl_default_src_content "#ifndef ${MODULE}_${NAME}_H +#define ${MODULE}_${NAME}_H + +${comment} +${includes} +${module_start} +${definition} +${module_end} +#endif +" + idl_default_interface_decl "${comment}${abstract}${local}interface ${name}${inherit} { +${members}}; +" + idl_default_valuetype_decl "${comment}${abstract}${custom}valuetype ${name}${inherit} { +${members}}; +" + idl_default_struct_decl "${comment}struct ${name} { +${members}}; +" + idl_default_typedef_decl "${comment}typedef ${type} ${name}; +" + idl_default_exception_decl "${comment}exception ${name} { +${members}}; +" + idl_default_union_decl "${comment}union ${name} switch(${switch}) { +${members}}; +" + idl_default_enum_decl "${comment}enum ${name} { +${items}}; +" + idl_default_external_class_decl "${name} +#include \"${name}.idl\" +" + idl_default_attribute_declaration " ${comment}${readonly}${attribute}${type} ${name}; +" // multiplicity 1 + " ${comment}${readonly}${attribute}${stereotype}<${type}> ${name}; +" // multiplicity * a..b + " ${comment}${readonly}${attribute}${stereotype}<${type},${multiplicity}> ${name}; +" // multiplicity N + idl_default_valuetype_attribute_declaration " ${comment}${visibility}${type} ${name}; +" // multiplicity 1 + " ${comment}${visibility}${stereotype}<${type}> ${name}; +" // multiplicity * a..b + " ${comment}${visibility}${stereotype}<${type},${multiplicity}> ${name}; +" // multiplicity N + idl_default_const_declaration " ${comment}const ${type} ${name}${value}; +" // multiplicity 1 + " ${comment}const ${stereotype}<${type}> ${name}${value}; +" // multiplicity * a..b + " ${comment}const ${stereotype}<${type},${multiplicity}> ${name}${value}; +" // multiplicity N + idl_default_enum_item_declaration " ${name},${comment}" + idl_default_union_item_declaration " ${comment}case ${case} : ${readonly}${type} ${name};" // multiplicity 1 + " ${comment}case ${case} : ${readonly}${stereotype}<${type}> ${name};" // multiplicity * a..b + " ${comment}case ${case} : ${readonly}${stereotype}<${type},${multiplicity}> ${name};" // multiplicity N + idl_association_aggregation_declaration + " ${comment}${readonly}${attribute}${type} ${name}; +" // multiplicity 1 + " ${comment}${readonly}${attribute}${stereotype}<${type}> ${name}; +" // multiplicity * a..b + " ${comment}${readonly}${attribute}${stereotype}<${type},${multiplicity}> ${name}; +" // multiplicity N + idl_valuetype_association_aggregation_declaration + " ${comment}${visibility}${type} ${name}; +" // multiplicity 1 + " ${comment}${visibility}${stereotype}<${type}> ${name}; +" // multiplicity * a..b + " ${comment}${visibility}${stereotype}<${type},${multiplicity}> ${name}; +" // multiplicity N + idl_union_association_aggregation_declaration + " ${comment}case ${case} : ${readonly}${type} ${name};" // multiplicity 1 + " ${comment}case ${case} : ${readonly}${stereotype}<${type}> ${name};" // multiplicity * a..b + " ${comment}case ${case} : ${readonly}${stereotype}<${type},${multiplicity}> ${name};" // multiplicity N + idl_get "get_${name}" + idl_set "set_${name}" twoways + idl_default_operation_declaration " ${comment}${oneway}${type} ${name}${(}${)}${raisesnl}${raises}; +" + mysqldefault_src_content "${comment}CREATE DATABASE IF NOT EXISTS ${name}; +use ${name}; + +${definition}" + mysql_default_table_decl "DROP TABLE IF EXISTS ${name}; +CREATE TABLE ${name} ${definition}${comment}; +" + mysql_default_column_decl " ${name} ${type}${notnull}${default}${autoincr}${comment}" + mysql_default_key_decl " ${constraint}${modifier}KEY${name}${type} (${columns})${ref}${comment}" + uml_get_name uml uml_set_name uml +end diff --git a/models/idl_includes b/models/idl_includes new file mode 100644 index 0000000..fceab64 --- /dev/null +++ b/models/idl_includes @@ -0,0 +1 @@ +// "a type" "needed idl_includes"