Ticket #196 (closed enhancement: fixed)
C-binding
Reported by: | jasper | Owned by: | jasper |
---|---|---|---|
Priority: | major | Milestone: | Maintenance of Phase II |
Component: | Client Header Files | Version: | 1.2.0.14 |
Keywords: | Cc: |
Description
The COBIA client headers provide a language binding for C++. This however is not compatible with C compilers. A good starting point for binding to other language bindings is to allow for a C-language binding exposed via the client header files.
With #ifdef cplusplus the C and C++ specific bits can be separated. There are to be C and C++ specific parts for the COBIA API itself, but also for the code generated from IDL, which requires a code generator update.
The c-binding will not include interface adapters and wrappers, as this is not possible in plain C, nor a substitute for it in terms of callable functions, as this is not practical and we do not want to promote CAPE-OPEN development in plain C.
The generated C-binding however can serve as the basis for binding to other native languages, such as FORTRAN-90 and rust (the latter via the rust's bindgen tool).
Change History
comment:2 Changed 8 months ago by jasper
- Status changed from new to closed
- Resolution set to fixed
Fixed in commit [7bf12705a18f09ccd29907e164772082e47edd3e]
comment:3 Changed 8 months ago by jasper
Additional fix in commit 03f21fc66349ccde56949c344442476565dfaa4e
comment:4 Changed 8 months ago by jasper
Additional fix in commit 151c5cc5a423d17c78319d34969b7f7ae0c16491
comment:5 Changed 8 months ago by jasper
Additional fix in commit db76b48011da434532b49c97af967cc98dc2b79c
comment:6 Changed 8 months ago by jasper
Additional fix in commit cb620842b90fc549245f2473e174b686d57e1fd9
Changes are to apply to Phase III code only. Switch to phase III will be soon.