Module: scepter-tests
Author: Jason Trenouth
Copyright:    Original Code is Copyright (c) 1995-2004 Functional Objects, Inc.
              All rights reserved.
License:      See License.txt in this distribution for details.
Warranty:     Distributed WITHOUT WARRANTY OF ANY KIND

define test corba-core-idl-GIOP ()
  check("", test-idl-file, *corba-core-files*, "GIOP");
end test;

add-idl-file!(
  *corba-core-files*,
  "GIOP",
"// Jason\n"
"#include \"IOP.idl\"\n"
"\n"
"// #include \"CORBA.idl\"\n"
"//\n"
"// Jason: hack presence of CORBA module to avoid\n"
"// parsing that monster more than once in the test\n"
"// suite\n"
"\n"
"module CORBA {\n"
"  interface Principal;\n"
"};\n"
"\n"
"\t// GIOP module described in CORBA V2, 7-95 chap 12\n"
"\t// Complete IDL for GIOP module in CORBA\n"
"\t// V2.0, 7-95 p 10-29\n"
"\t// GIOP message header: CORBA V2, 7-95 p 12-16\n"
"\t// GIOP request header:  CORBA V2, 7-95 p 12-17\n"
"\t// GIOP reply header: CORBA V2, 7-95 p 12-19\n"
"\t// GIOP cancel request and locate request: CORBA V2, 7-95 pp 12-20 -- 12-21\n"
"\t// GIOP locate reply: CORBA V2, 7-95 p 12-22\n"
"module GIOP {\t\t\t\t\t\t\t\t\t\t\t\t\t\t// IDL\n"
"\tenum MsgType {\n"
"\t\tRequest, Reply, CancelRequest,\n"
"\t\tLocateRequest, LocateReply,\n"
"\t\tCloseConnection, MessageError\n"
"\t};\n"
"\n"
"        // Jason: copied from IIOP\n"
"\tstruct Version {\n"
"\t\tchar\t\t\tmajor;\n"
"\t\tchar\t\t\tminor;\n"
"\t};\n"
"\n"
"\tstruct MessageHeader {\n"
"\t\tchar\t\t\tmagic [4];\n"
"\t\tVersion\t\t\tGIOP_version;\n"
"\t\tboolean\t\t\tbyte_order;\n"
"\t\toctet\t\t\tmessage_type;\n"
"\t\tunsigned long\t\tmessage_size;\n"
"\t};\n"
"\n"
"\tstruct RequestHeader {\n"
"\t\tIOP::ServiceContextList\t\tservice_context;\n"
"\t\tunsigned long\t\t\trequest_id;\n"
" \t\tboolean\t\t\t\tresponse_expected;\n"
"\t\tsequence <octet>\t\tobject_key;\n"
"\t\tstring\t\t\t\toperation;\n"
"\t\tCORBA::Principal\t\trequesting_principal;\n"
"\t};\n"
"\n"
"\tenum ReplyStatusType {\n"
"\t\tNO_EXCEPTION,\n"
"\t\tUSER_EXCEPTION,\n"
"\t\tSYSTEM_EXCEPTION,\n"
"\t\tLOCATION_FORWARD\n"
"\t};\n"
"\n"
"\tstruct ReplyHeader {\n"
"\t\tIOP::ServiceContextList\t\t\t\tservice_context;\n"
"\t\tunsigned long \t\t\t\trequest_id;\n"
"\t\tReplyStatusType\t\t\t\treply_status;\n"
" \t};\n"
"\n"
"\tstruct CancelRequestHeader {\n"
"\t\tunsigned long\t\t\t\trequest_id;\n"
" \t};\n"
"\n"
"\tstruct LocateRequestHeader {\n"
"\t\tunsigned long\t\t\t\trequest_id;\n"
"\t\tsequence <octet>\t\t\t\tobject_key;\n"
"\t};\n"
"\n"
"\tenum LocateStatusType {\n"
"\t\tUNKNOWN_OBJECT,\n"
"\t\tOBJECT_HERE,\n"
"\t\tOBJECT_FORWARD\n"
" \t};\n"
"\n"
"\tstruct LocateReplyHeader {\n"
"\t\tunsigned long\t\t\t\trequest_id;\n"
"\t\tLocateStatusType\t\t\t\tlocate_status;\n"
"\t};\n"
"};\n"
"\n");
