##############################
#
#        Parser options
#
##############################

# switch preprocessor on/off
# NOTE: this option disables macro substitution during parsing.
# NOTE: conditional compilation macros (#ifdef, #ifndef,...) are always processed.
# NOTE: all the macros in project are considered as common for all the files
# NOTE: #include directives are processed
parser.idl.preprocessor = on

# Defines set of macro names to be availabe while parsing IDL files
;parser.idl.define = 

# name of preincluded file
#  collect in this file macros usually used in your project and fix their value
# NOTE: the value specifed in preincluded file overrides the value in the source code
parser.idl.preinclude_file = preincludeidl.inc

# switch skipping standard directories on/off
# NOTE: it means if file to include enclosed in <> then this file will not be included in case this option is true
parser.idl.skip_standard_directories = false

# Is to report when file in the #include directive cannot be processed.
parser.idl.reportIncludeNotFound = true


##############################
#
#        Codegen options
#
##############################

# extension of generated IDL files
codegen.idl.file_ext = "idl"

# rename options
# a class is created with a default name.
# then when you change the class name from default, the corresponding files are renamed always.
# the rename options define whether further renames the class also rename the files.

# rename file when rename class
codegen.idl.rename_files = yes

# This option defines what names are treated as default.
# Default name is: "Default + <int>", where Default one of the names listed in this option.
# Files with default names will be renamed always till name become non-default
codegen.idl.rename_files.default = Interface;Valuetype;Struct;Exception

codegen.idl.default_pattern.class.Class = "Default Struct"
codegen.idl.default_pattern.class.Interface = "Default Interface"
codegen.idl.default_pattern.class.Valuetype = "Default Valuetype"
codegen.idl.default_pattern.class.Exception = "Default Exception"
codegen.idl.default_pattern.member.Attribute =
\  if ((%container%->hasProperty("$interface"))||(%container%->hasProperty("$valuetype")),
\      "Default Attribute in Interface",
\      if(%container%->hasProperty("$enum"),
\        "Default Attribute in Enum",
\      "Default Attribute")
\      )
codegen.idl.default_pattern.member.Operation = "Default Operation"
codegen.idl.default_pattern.member.Constructor = ""
codegen.idl.default_pattern.member.Destructor = ""
codegen.idl.default_pattern.link.GeneralizationLink =
\  if (%Src%->hasProperty("$valuetype"),
\    if(%Dst%->hasProperty("$interface")||%Dst%->hasProperty("$valuetype"),
\      "Default Inheritance",
\      ""),
\    if(%Src%->hasProperty("$interface"),
\      if(%Dst%->hasProperty("$interface"),
\        "Default Inheritance",
\        ""),
\      "")
\    )
codegen.idl.default_pattern.link.ImplementationLink =
\  if (%Src%->hasProperty("$valuetype"),
\    if(%Dst%->hasProperty("$interface"),
\      "Default Inheritance",
\      ""),
\    if(%Src%->hasProperty("$interface"),
\      if(%Dst%->hasProperty("$interface"),
\        "Default Inheritance",
\        ""),
\      "")
\    )
codegen.idl.default_pattern.link.AssociationLink =
\  if (%Src%->hasProperty("$interface"),
\      "Default Association in Interface",
\      "Default Association")
codegen.idl.default_pattern.link.AggregationLink = "Default Aggregation"
codegen.idl.default_pattern.link.DependencyLink = "Default Dependency"

# Additional macro variables for file creation date/time stamp in 
# prologue/epilogue available since 3.1: %DATE_CREATED%, %TIME_CREATED% 
#
# IDL file prologue
#  lines of code inserted at the beginning of new Java files generated by Together
codegen.idl.blueprint.file_prologue =
\  /* Generated by Together */
\
\  #ifndef %FILE_NAME%_%FILE_EXT%
\  #define %FILE_NAME%_%FILE_EXT%
\

# IDL file epilogue
#  lines of code inserted at the end of new files generated by Together
codegen.idl.blueprint.file_epilogue = 
\
\  #endif //%FILE_NAME%_%FILE_EXT%



#
# parser.idl.blueprint.link.*
#   properties below define the blueprints for recognizing links.
#
# Parser's blueprints are defined with only one pattern string and without quotes.
# In addition to codegen blueprints, you can use %Any% in patterns.
#  %Any% - any token.
# Each attribute declaration or design comment is compared against the blueprint pattern
#  and if recognized, forms a link of the corresponding type.
# NOTE: the first matched blueprint is used.
# Additional properties (tags) can be defined as sub-property for particular blueprint.
# NOTE: tag values directly specified in design comments override the ones from blueprint.
#

# NOTE: to threat association as aggregation or composition uncomment 
# below line with "aggregation" or one with "aggregationByValue"
parser.idl.blueprint.link.Association = "%Dst% %Name%"
;parser.idl.blueprint.link.Association.link = aggregation
;parser.idl.blueprint.link.Association.link = aggregationByValue


