tree 9041e6ab4e8ac832465df61e89be92876b8a8019
parent bcf957810643f717eae3f1a16a606a460e8f23b8
author Matt Spinler <spinler@us.ibm.com> 1621002249 -0500
committer Matt Spinler <spinler@us.ibm.com> 1621005120 -0500

Use full name for enum default values

In the case where there were multiple interfaces specified in the
settings YAML that had the same last segment, the code generator would
create unbuildable code when those classes both specified default values
for properties that were enums.  This happened because there was a
'using namespace ...' line for every class at global scope, so when
the default value for the enum was specified, the compiler wouldn't know
which class to use.

For example, if there were two interfaces that used a class called Mode
that each tried to set default values like:
 * Mode::bootMode::Safe
 * Mode::powerMode::Static
then the generated code wouldn't compile.

Fix this by removing the global using namespace lines and add the full
prefix to the enum default values when they are set in the initSetting
lambdas.

Note that the code still won't compile when classes of the same name are
used on the same object path.  This is because of the 'using IfaceX'
lines in the scope of each Impl class.  Fixing that is outside of the
scope of this commit, which was done to fix a real world use.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I25ac36a58febe4449a29af845e5faba12bb0e63f
