[
https://issues.apache.org/jira/browse/ETCH-109?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Armin Müller updated ETCH-109:
------------------------------
Attachment: etch-binding-c-mixins.patch
Hi,
attached you find a patch to extend the mixins support for the C binding.
Mixins are currently not fully supported by the C binding
(JIRA-ETCH-109). To fully support mixins the templates to generate the C
sources from an ETCH IDL have been modified. Unfortunately the changes
are not fully backward compatible. Setting the implementation method in
*_impl.c files had to be changed e.g. from
pserver->say_hello = pserver_base->say_hello = say_hello_impl;
to
etchmap_insertxw(pserver_base->virtuals,
helloworld_valufact_get_static()->str_helloworld_say_hello,
say_hello_impl, FALSE);
For upgrading from previous ETCH versions you have to modify the
"virtual method overrides" in existing *_impl.c files.
The C version of the helloworld example has been adapted to the changes
and extended to call a mixin function.
Thanks to Holger Grandy for providing an initial input for the patch.
Authors:
Armin Müller <[email protected]> (itestra GmbH by order of BMW Group Research
and Technology)
Holger Grandy (BMW Car IT GmbH)
> C Binding: Mixins not fully functional
> --------------------------------------
>
> Key: ETCH-109
> URL: https://issues.apache.org/jira/browse/ETCH-109
> Project: Etch
> Issue Type: Bug
> Components: c-binding
> Affects Versions: 1.1
> Reporter: Holger Grandy
> Assignee: Holger Grandy
> Fix For: 1.1.1
>
> Attachments: etch-binding-c-mixins.patch
>
>
> Mixins may lead to incorrect generated code, valuefactory references wrong
> mixed-in-valuefactory fields. Header includes for referenced mixin
> interface.h files are not correct
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira