// IDL-Spec for testgroup: valuetype
// Purpose: basic features of valuetype

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;

interface Intf {
   attribute EnumValue EnumAttr;
   attribute VarSValue VarSAttr;
   attribute FixSValue FixSAttr;
   attribute ArrayValue ArrayAttr;
   attribute StringValue StringAttr;
    EnumValue op1(in EnumValue inp,inout EnumValue inoutp,out EnumValue outp);
   VarSValue op2(in VarSValue inp,inout VarSValue inoutp,out VarSValue outp);
   FixSValue op3(in FixSValue inp,inout FixSValue inoutp,out FixSValue outp);
   ArrayValue op4(in ArrayValue inp,inout ArrayValue inoutp,out ArrayValue outp);
   StringValue op5(in StringValue inp,inout StringValue inoutp,out StringValue outp);
};
