Apperently v1.3.1 supports Unions, but I don't
understand how to use them. As an example, I have
been trying to understand the CorbaTestServer.idl
mapping. I have the following union in my IDL that
represents a tree object, how do write the C# mapping
for it?
enum ValueTypes {LONGLONG_TYPE, ULONGLONG_TYPE,
FLOAT_TYPE, DOUBLE_TYPE, STRING_TYPE,
DATE_TYPE, DATETIME_TYPE, LONGSEQ_TYPE,
ULONGSEQ_TYPE, ONGLONGSEQ_TYPE,
ULONGLONGSEQ_TYPE, FLOATSEQ_TYPE,
DOUBLESEQ_TYPE, STRINGSEQ_TYPE, DATESEQ_TYPE,
DATETIMESEQ_TYPE, VALUESEQ_TYPE, NULL_TYPE
};
typedef sequence<long long> LonglongSequence;
typedef sequence<unsigned long long>
UlonglongSequence;
typedef sequence<float> FloatSequence;
typedef sequence<double> DoubleSequence;
typedef sequence<string> StringSequence;
typedef sequence<Date> DateSequence;
typedef sequence<DateTime> DateTimeSequence;
union Value switch(ValueTypes) {
case LONGLONG_TYPE:
long long longlongval;
case ULONGLONG_TYPE:
unsigned long long ulonglongval;
case FLOAT_TYPE:
float floatval;
case DOUBLE_TYPE:
double doubleval;
case STRING_TYPE:
string stringval;
case DATE_TYPE:
Date dateval;
case DATETIME_TYPE:
DateTime datetimeval;
case LONGLONGSEQ_TYPE:
LonglongSequence longlongseqval;
case ULONGLONGSEQ_TYPE:
UlonglongSequence ulonglongseqval;
case FLOATSEQ_TYPE:
FloatSequence floatseqval;
case DOUBLESEQ_TYPE:
DoubleSequence doubleseqval;
case STRINGSEQ_TYPE:
StringSequence stringseqval;
case DATESEQ_TYPE:
DateSequence dateseqval;
case DATETIMESEQ_TYPE:
DateTimeSequence datetimeseqval;
case VALUESEQ_TYPE:
sequence<Value> valueseqval;
};
struct Node {
Value val;
sequence<Node> children;
};
thanks in advance. If there is a more appropriate place
for me to post messages like this let me know.