[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Newsgroup Home]
|
[news.eclipse.platform.swt] JNIGenerator problem
|
- From: "L. Mihalkovic" <totolaricot@xxxxxxx>
- Date: Thu, 15 May 2008 00:24:25 -0400
- Newsgroups: eclipse.platform.swt
- Organization: EclipseCorner
- User-agent: Thunderbird 2.0.0.14 (Macintosh/20080421)
I am trying to map the Carbon HIViewImageContentInfo struct for SWT
(yes, I did figure how to declare a struct that contains a union by
looking at other examples): as far as I can tell by looking at the C
generated the union capability is actually lost (the ability to choose
at runtime which field I want to set).
I looked at pretty much all the other carbon structures that contain
unions, and in all cases, the SWT code has made a choice of using only
one of the members of the union via
for example:
struct DataBrowserAccessibilityItemInfo {
/*
* A UInt32 which identifies how to interpret the following union.
* Set this field to zero if you fill out the union's data in the
* form of a DataBrowserAccessibilityItemInfoV0 structure. Set this
* field to one if you fill out the union's data in the form of a
* DataBrowserAccessibilityItemInfoV1 structure.
*/
UInt32 version;
union {
DataBrowserAccessibilityItemInfoV0 v0;
DataBrowserAccessibilityItemInfoV1 v1;
} u;
};
The mapping only provides access via v0 and access via the v1 definition
is lost. what if I want to be able to do
browserInfo.u.v1.xxxx = ssss
Am I missing something obvious?! (for now I did the same and mapped only
one of the fields knowing that the actual values would endup looking
right to Mac OS, but that does not strike me a legible code).
--
Laurent Mihalkovic, co-author SWT/JFace in Action (www.manning.com/scarpino)