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 orbix-demo-idl-timer-perf ()
  check("", test-idl-file, *orbix-demo-files*, "timer-perf");
end test;

add-idl-file!(
  *orbix-demo-files*,
  "timer-perf",
"//\n"
"//\n"
"//  The original form of this timer benchmark came from:\n"
"//\n"
"//\tPrasad Mokkapati\n"
"//\tPost Modern Computing\n"
"//\t1897 Landing Drive\n"
"//\tMountain View\n"
"//\tCa - 94043\n"
"//\n"
"//\temail: prasad@promoco.com\n"
"//\n"
"//\n"
"// to whom all credit is ascribed.\n"
"//\n"
"//  This code is reproduced with permission from Post Modern Computing.\n"
"//\n"
"\n"
"\n"
"#ifndef _perf_idl_\n"
"#define _perf_idl_\n"
"\n"
"// IDLs to do performance testing of oneway and req/reply interfaces \n"
"// These tests also include arguments of various types               \n"
"\n"
"\n"
"\n"
"typedef sequence<short> \tshortSeq;\n"
"typedef sequence<long>\t\tlongSeq;\n"
"typedef sequence<float> \tfloatSeq;\n"
"typedef sequence<double> \tdoubleSeq;\n"
"typedef sequence<string> \tstringSeq;\n"
"typedef sequence<char>\t\tcharSeq;\n"
"\n"
"struct PerfStruct {\n"
"\tshort\t\tshortVal;\n"
"\tlong\t\tlongVal;\n"
"\tfloat\t\tfloatVal;\n"
"\tdouble\t\tdoubleVal;\n"
"\tchar\t\tcharVal;\n"
"\tstring  \tstringVal;\n"
"};\n"
"\n"
"typedef sequence<PerfStruct>  \tstructSeq;\n"
"typedef PerfStruct\t\tstructArray[100];\n"
"\n"
"interface TestOneway\n"
"{\n"
"\toneway void test_no_param();\n"
"\n"
"\toneway void test_prim_args(in short shortVal, in long longVal, \n"
"\t\t\tin float floatVal, in double doubleVal,\n"
"\t\t\tin char charVal, in string stringVal);\n"
"\n"
"\toneway void test_struct(in PerfStruct structVal);\n"
"\n"
"\toneway void test_prim_seq(in shortSeq shortVal, in longSeq longVal,\n"
"\t\t\tin floatSeq floatVal, in doubleSeq doubleVal,\n"
"\t\t\tin charSeq charVal, in stringSeq stringVal);\n"
"\n"
"\toneway void test_struct_seq(in structSeq structVal);\n"
"\n"
"\toneway void test_struct_array(in structArray arrayVal);\n"
"};\n"
"\n"
"interface TestReqReply\n"
"{\n"
"\tlong test_prim_args(in short shortVal, in long longVal, \n"
"\t\tin float floatVal, in double doubleVal,\n"
"\t\tin char charVal, in string stringVal,\n"
"\t\tinout short inoutShort, inout long inoutLong,\n"
"\t\tinout float inoutFloat, inout double inoutDouble,\n"
"\t\tinout char inoutChar, inout string inoutString,\n"
"\t\tout short outShort, out long outLong,\n"
"\t\tout float outFloat, out double outDouble,\n"
"\t\tout char outChar, out string outString);\n"
"\n"
"\n"
"\tlong test_struct_args(in PerfStruct structVal, \n"
"\t\tinout PerfStruct inoutStruct,\n"
"\t\tout PerfStruct outStruct);\n"
"\n"
"\tlong test_prim_seq(in shortSeq shortVal, in longSeq longVal, \n"
"\t\tin floatSeq floatVal, in doubleSeq doubleVal,\n"
"\t\tin charSeq charVal, in stringSeq stringVal,\n"
"\t\tinout shortSeq inoutShort, inout longSeq inoutLong,\n"
"\t\tinout floatSeq inoutFloat, inout doubleSeq inoutDouble,\n"
"\t\tinout charSeq inoutChar, inout stringSeq inoutString,\n"
"\t\tout shortSeq outShort, out longSeq outLong,\n"
"\t\tout floatSeq outFloat, out doubleSeq outDouble,\n"
"\t\tout charSeq outChar, out stringSeq outString);\n"
"\n"
"\tlong test_struct_seq(in structSeq structVal, \n"
"\t\tinout structSeq inoutStruct,\n"
"\t\tout structSeq outStruct);\n"
"\n"
"\tlong test_struct_array(in structArray structVal, \n"
"\t\tinout structArray inoutStruct,\n"
"\t\tout structArray outStruct);\n"
"};\n"
"\n"
"\n"
"#endif\n"
"\n");
