package org.jacorb.demo.arrays;
/**
* an example for using IDL arrays and sequences
* with JacORB
*/
import java.io.BufferedReader;
import java.io.FileReader;
import org.jacorb.demo.arrays.MyServerPackage.*;
class Client
{
public static void main(String args[]) throws Exception
{
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args,null);
BufferedReader br =
new BufferedReader( new FileReader( args[0] ));
// resolve name to get a reference to our server
MyServer g = MyServerHelper.narrow(orb.string_to_object(br.readLine())) ;
// send and receive a *sequence* of integers
int[] j = new int[]{1,2,3,4};
int[] i = g.write2("Hello World!", j);
System.out.println("Result: " + i[0]);
// send an *array* of integers as an argument
int[] a = new int[] {55,56,57};
i = g.write("Again...", a);
for( int ii = 0; ii < i.length; ii++)
System.out.println(" " + i[ii]);
// send an array of object references as an argument
MyServer[] svs = new MyServer[]{g,g};
g._notify( svs );
g.notify2( svs );
// send a struct containing an array of shorts
short [][] shorts = new short[][]{{1,7,2},{2,6,2},{3,5,2},{4,4,2},{5,3,2},{6,2,2},{7,1,2}};
arrayContainer ac =
new arrayContainer( shorts );
g.notify3( ac );
// test printLongArray
long[] refs = new long[10];
for (int ir=0; ir<refs.length; ir++ )
{
refs[ir] = (long)ir;
}
g.printLongArray( refs );
// test printLongArray
double[] drefs = new double[10];
for (int ir = 0; ir < drefs.length; ir++ )
{
drefs[ir] = (float)ir;
}
g.printDoubleArray( drefs );
g.shutdown();
}
}