tree 3669660576f522fe4097757b62b6b84111c65840
parent 1befc49be9b32b1c04cc9485c132827c86aa891c
author William A. Kennington III <wak@google.com> 1558127794 -0700
committer William A. Kennington III <wak@google.com> 1558636954 -0700

sdbus++: Fix construction of objects with flags

Objects don't take kwargs for their constructors so don't call the
object constructor with kwargs

```
| Traceback (most recent call last):
|   File "/home/spirit/src/vesnin/openbmc-alternate/build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-dbus-interfaces/1.0-r1/recipe-sysroot-native/usr/bin/sdbus++", line 50, in <module>
|     main()
|   File "/home/spirit/src/vesnin/openbmc-alternate/build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-dbus-interfaces/1.0-r1/recipe-sysroot-native/usr/bin/sdbus++", line 45, in main
|     instance = valid_types[args.typeName].load(args.item, args.rootdir)
|   File "/home/spirit/src/vesnin/openbmc-alternate/build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-dbus-interfaces/1.0-r1/recipe-sysroot-native/usr/lib/python2.7/site-packages/sdbusplus/interface.py", line 21, in load
|     return Interface(**y)
|   File "/home/spirit/src/vesnin/openbmc-alternate/build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-dbus-interfaces/1.0-r1/recipe-sysroot-native/usr/lib/python2.7/site-packages/sdbusplus/interface.py", line 25, in __init__
|     [Property(**p) for p in kwargs.pop('properties', [])]
|   File "/home/spirit/src/vesnin/openbmc-alternate/build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-dbus-interfaces/1.0-r1/recipe-sysroot-native/usr/lib/python2.7/site-packages/sdbusplus/property.py", line 12, in __init__
|     super(Property, self).__init__(**kwargs)
|   File "/home/spirit/src/vesnin/openbmc-alternate/build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-dbus-interfaces/1.0-r1/recipe-sysroot-native/usr/lib/python2.7/site-packages/sdbusplus/namedelement.py", line 8, in __init__
|     super(NamedElement, self).__init__(**kwargs)
|   File "/home/spirit/src/vesnin/openbmc-alternate/build/tmp/work/armv5e-openbmc-linux-gnueabi/phosphor-dbus-interfaces/1.0-r1/recipe-sysroot-native/usr/lib/python2.7/site-packages/sdbusplus/renderer.py", line 3, in __init__
|     super(Renderer, self).__init__(**kwargs)
| TypeError: object.__init__() takes no parameters
```

Fixes openbmc/sdbusplus#30

Tested:
    Ran with some locally modified properties marked as const. Verified
    that the generated code marks those as const and removes their
    setter

Change-Id: I94965add8588a8a3168662e00ef2502276440ee5
Signed-off-by: William A. Kennington III <wak@google.com>
