// server.idl



module org
{
    module jacorb
    {
        module demo
        {
            module outparam
            {
                typedef sequence < string > stringSeq;
                typedef sequence <stringSeq> stringField;
                typedef sequence <stringField> stringCube;

                typedef string stringArray[5];

                struct my_struct
                {
                    string s;
                    long l;
                    Object o;
                };

                interface MyServer
                {
                    void op1(in string a1, out stringSeq s);
                    void op2(out MyServer s);
                    void op3(out my_struct m);
                    void op4(out stringArray sa);
                    wstring op5(out wstring ws);
                    void stringCubeInOut(inout stringCube sc);
                    void print( in string s);
                    boolean addNums(in double n1, in double n2, out double n3);

                    void shutdown ();
                };
            };
        };
    };
};
