// IDL-Spec for testgroup: value box
// Purpose:  Value box as member in an exception,


valuetype ShortValue short;
valuetype LongValue long;
typedef float FloatType;
valuetype FloatValue FloatType;
enum EnumType {eval1, eval2, eval3};
valuetype EnumValue EnumType;
struct VarS {
  string strMbr;
};
valuetype VarSvalue VarS;
struct FixS {
  long longMbr;
  short shortMbr;
};
valuetype FixSvalue FixS;
typedef  long LongArray[2][3];
valuetype ArrayValue LongArray;
valuetype StringValue string;
valuetype WStringValue wstring;
typedef sequence<long> LongSeq;
valuetype LongSeqValue LongSeq;
valuetype AnyValue any;
union FixU switch (long) {
  case 1: long x;
  case 2: short v;
};
valuetype FixUValue FixU;
typedef sequence<string> StringSeq;
valuetype StringSeqValue StringSeq;
union VarU switch (boolean) {
  case TRUE: string strMbr;
  case FALSE: StringSeq strseqMbr;
};
valuetype VarUValue VarU;


interface Inf {
  exception ValExcpt {
	ShortValue ex_ShortValue;
	LongValue ex_LongValue;
	FloatValue ex_FloatValue;
	EnumValue ex_EnumValue;
	VarSvalue ex_VarSvalue;
	FixSvalue ex_FixSvalue;
	ArrayValue ex_ArrayValue;
	StringValue ex_StringValue;
	WStringValue ex_WStringValue;
	LongSeqValue ex_LongSeqValue;
	AnyValue ex_AnyValue;
	FixUValue ex_FixUValue;
	StringSeqValue ex_StringSeqValue;
	VarUValue ex_VarUValue;
 };
  ShortValue op2()
	raises(ValExcpt);
};
