// File: CORBA_Request.idl
// CORBA 3.0, Chapter 7

    native OpaqueValue;

    interface Request { // PIDL

        void add_arg (
            in Identifier   name,       // argument name
            in TypeCode     arg_type,   // argument datatype
            in OpaqueValue  value,      // argument value to be added
            in long         len,        // length/count of argument value
            in Flags        arg_flags   // argument flags
        );

        void invoke (
            in Flags        invoke_flags    // invocation flags
        );

        void delete ();

        void send (
            in Flags        invoke_flags    // invocation flags 
        );

        void get_response () raises (WrongTransaction);
                            
        boolean poll_response(); 

        Object sendp();

        void prepare(in Object p);

        void sendc(in Object handler);
    };
