--- /dev/null
+#ifndef __ECHO_IDL__
+#define __ECHO_IDL__
+
+module eo{
+ enum ExceptionType
+ {
+ COMM, /*!< Communication problem */
+ BAD_PARAM, /*!< Bad User parameters */
+ INTERNAL_ERROR /*!< Application level problem, irrecoverable */
+ };
+
+ struct ExceptionStruct
+ {
+ ExceptionType type; /*!<Type of the exception.*/
+ string text; /*!<Message which is shown when the exception is raised.*/
+ string sourceFile; /*!<The source file where the exception is raised.*/
+ unsigned long lineNumber; /*!<Line number where the exception is raised.*/
+ };
+
+ exception SALOME_Exception
+ {
+ ExceptionStruct details; /*!<Structure of the exception.*/
+ };
+
+ typedef sequence<double> DoubleVec ;
+ typedef sequence<long> IntVec;
+ typedef sequence<string> StrVec;
+ typedef sequence<Object> ObjectVec;
+ typedef sequence<DoubleVec> DoubleVecVec;
+ typedef sequence<ObjectVec> ObjectVecVec;
+
+ interface Obj
+ {
+ long echoLong(in long i);
+ };
+ interface C:Obj
+ {
+ };
+ interface D
+ {
+ long echoLong2(in long i);
+ };
+ interface E:C,D
+ {
+ };
+
+ typedef sequence<Obj> ObjVec ;
+
+ interface Echo
+ {
+ string echoString(in string mesg);
+ long echoLong(in long i) raises (SALOME_Exception);
+ void echoDouble(in double i,out double j) ;
+ void echoDoubleVec(in DoubleVec i,out DoubleVec j) ;
+ void echoDoubleVecVec(in DoubleVecVec i,out DoubleVecVec j) ;
+ void echoIntVec(in IntVec i,out IntVec j) ;
+ void echoStrVec(in StrVec i,out StrVec j) ;
+ void echoObjectVec(in ObjectVec i,out ObjectVec j) ;
+ void echoObjectVecVec(in ObjectVecVec i,out ObjectVecVec j) ;
+ Obj echoObj(in long i,in Obj o,in long k,out Obj p);
+ void createObj(in long i,out Obj p);
+ void createC(out C p);
+ void echoAll(in double d,in long l,in string m,in Obj o,out double dd,out long ll,out string s,out Obj p);
+ };
+ interface SubEcho:Echo
+ {
+ };
+};
+
+#endif