Custom Query (202 matches)
Results (55 - 57 of 202)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#138 | fixed | Compilation issues on linux | jasper | jasper |
Description |
Reported by Olaf |
|||
#208 | fixed | Compile time determination of endianness on C++20 (gcc 13) incorrect | jasper | jasper |
Description |
Compilation error on GCC 13 on endianness |
|||
#189 | fixed | Consistent IDL type representation | jasper | jasper |
Description |
COBIA IDL defines interfaces such that the name is in front of the content. Example: [ uuid(b135a443-2ed8-45ef-bb2d-e68d2e631c31) ] interface ICapeCollection<CollectionItem> { [long_name(ItemByIndex)] CAPERESULT Item([in] CapeInteger index,[out, retval] CollectionItem item); //note: 0-based index [long_name(ItemByName)] CAPERESULT Item([in] CapeString name,[out, retval] CollectionItem item); [property_get] CAPERESULT Count([out, retval] CapeInteger itemCount); }; Enumerations however are defined with the name after the definition. Example: [ uuid(7d33b558-3371-4ed6-a88b-735a5604ce70) ] enum { CAPE_ANY_STREAMS = 0, CAPE_MATERIAL_STREAM = 1, CAPE_ENERGY_STREAM = 2, CAPE_INFORMATION_STREAM = 3 } CapeStreamType; The last top level element, CatID, does not have a definition. Example: [ uuid(37e03033-63b9-4f55-b5c4-807bede03deb) ] category Component_1_2; The enum syntax was more or less taken from COM. The equivalent COM definition, removing the official type and just going with the typedef'ed name: [ uuid(7D33B558-3371-4ED6-A88B-735A5604CE70) ] typedef enum eCapeStreamType { CAPE_ANY_STREAMS = 0, CAPE_MATERIAL_STREAM = 1, CAPE_ENERGY_STREAM = 2, CAPE_INFORMATION_STREAM = 3 } CapeStreamType; I feel this is a design mistake, and we are not too late to fix it yet. I think we should put the enum name before its definition, like so: [ uuid(7d33b558-3371-4ed6-a88b-735a5604ce70) ] enum CapeStreamType { CAPE_ANY_STREAMS = 0, CAPE_MATERIAL_STREAM = 1, CAPE_ENERGY_STREAM = 2, CAPE_INFORMATION_STREAM = 3 }; and break previous IDL and no longer support the previous notation. |