1) file CamCoStr.idl:
=====================
interface CamCoStr
{
string cacoStr(in string inStr);
};
2) file make.bat:
=====================
echo Building Java Camac client ....
idltojava CamCoStr.idl
javac client.java
3) file client.java:
=====================
//=================================================================================
// client program for testing CORBA camac server with java.
// compiled by Urs Rohrer (PSI), August 1999
// used CORBA implementation: Sun's IDL compiler for java together with JDK_1.2.2
// (for downloading see http://java.sun.com/products/OV_jdkProduct.html )
//=================================================================================
import org.omg.CosNaming.*;
import java.util.Properties;
import java.io.*;
public class client
{
public static void main(String args[])
{
if (args.length != 1)
{
System.out.println("Usage: java client pcxyz");
System.exit(1);
}
Properties props = new Properties();
props.put("org.omg.CORBA.ORBInitialPort", "900");
props.put("org.omg.CORBA.ORBInitialHost", "pc303.psi.ch");
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args,props);
try
{
org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");
NamingContext ncRef = NamingContextHelper.narrow(objRef);
NameComponent nc1 = new NameComponent(args[0],"");
NameComponent nc2 = new NameComponent(args[0],"Object");
NameComponent [] path = {nc1, nc2};
org.omg.CORBA.Object obj = ncRef.resolve(path);
CamCoStr myobject = CamCoStrHelper.narrow(obj);
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
while(true)
{
System.out.print("Enter command [ ? for help, EXIT for quit ] : ");
System.out.flush();
String In = in.readLine();
if (In.equals("EXIT"))
break;
else if (In.equals("?"))
Help();
else
{
String Out = myobject.cacoStr(In);
System.out.println("server returned: " + Out);
}
}
}
catch(Exception e)
{
System.out.println("Exception: " + e);
System.exit(1);
}
}
public static void Help()
{
System.out.println("Version 1.00: Legal commands are:");
System.out.println("-------------------------------------------------------------------------");
System.out.println("| desired Action | Input | Receive (ok) | or Error |");
System.out.println("-------------------+-----------------+-------------------+---------------");
System.out.println("| SockTimeOut | TOUT nnn | *TOUT* nnn | |");
System.out.println("| ReadAllDevices | RALL | *RALL* <list> | *RALL* 0 |");
System.out.println("| ReadAllDevices | RAL2 | *RAL2* <list> | *RAL2* 0 |");
System.out.println("| ReadAllDacs | ALLD | *ALLD* <list> | *ALLD* 0 |");
System.out.println("| WriteDAC | WDAC XYZ nnn | *WDAC* XYZ= nnn | *WDAC* error |");
System.out.println("| WriteDAC&Wait | WDAW XYZ nnn | *WDAW* XYZ= nnn | *WDAW* error |");
System.out.println("| ReadDAC | RDAC XYZ | *RDAC* XYZ= nnn | *RDAC* error |");
System.out.println("| ReadADC | RADC XYZ | *RADC* XYZ= nnn | *RADC* error |");
System.out.println("| ReadCamacDac | RCAD XYZ f | *RCAD* nnn | *RCAD* error |");
System.out.println("| WriteCamacDac | WCAD XYZ f nnn | *WCAD* nnn | *WCAD* error |");
System.out.println("| DoReadCamac | RCAM N A F | *RCAM* sta nnn | *RCAM* error |");
System.out.println("| DoWriteCamac | WCAM N A F nnn | *WCAM* sta | *WCAM* error |");
System.out.println("| DoControlCamac | CCAM N A F | *CCAM* sta | *CCAM* error |");
System.out.println("| GetDeviceName | DEVN nnn | *DEVN* nnn= XYZ | *DEVN* error |");
System.out.println("| DeviceParameter | DEVP nnn | *DEVP* <3par> | *DEVP* error |");
System.out.println("| DeviceParameter2 | DEPA nnn | *DEPA* <17par> | *DEPA* error |");
System.out.println("| DeviceParameter3 | DEPB nnn | *DEPB* <4par> | *DEPB* error |");
System.out.println("-------------------+-----------------+-------------------+---------------");
System.out.print("--- press <Enter> key for more --- ");
System.out.flush();
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try
{
String In = in.readLine();
}
catch(Exception e) {}
System.out.println("-------------------------------------------------------------------------");
System.out.println("| desired Action | Input | Receive (ok) | or Error |");
System.out.println("-------------------+-----------------+-------------------+---------------");
System.out.println("| ReserveCrate | RESC | *RESC* 1 | *RESC* 0 |");
System.out.println("| FreeCrate | FREE | *FREE* 1 | |");
System.out.println("| NewDeviceList | NEWL | *NEWL* 1 | *NEWL* 0 |");
System.out.println("| GetPageIndex | PIND nnn | *PIND* nnn | *PIND* error |");
System.out.println("| GetNumberOfPages | NPAG | *NPAG* nnn | |");
System.out.println("| ReadOnePage | RPAG nnn | *RPAG* nnn <list> | *RPAG* 0 |");
System.out.println("| SwitchOnCombis | SWON | *SWON* nnn | |");
System.out.println("| SwitchOnCombi | SWCO XYZ | *SWCO* XYZ 1 | *SWCO* XYZ 0 |");
System.out.println("| SwitchOffCombi | SWOF XYZ | *SWOF* XYZ 1 | *SWOF* XYZ 0 |");
System.out.println("| ClearScalers | CLSC sn s1 s2 | *CLSC* | *CLSC* error |");
System.out.println("| ReadScalers | RDSC sn s1 s2 | *RDSC* nnn mmm | *RDSC* error |");
System.out.println("| ReadClAllScalers | RCAS n | *RCAS* <6rates> | *RCAS* error |");
System.out.println("| Shutdown | EXIT | | |");
System.out.println("| Help info | ? | these help frames | |");
System.out.println("-------------------------------------------------------------------------");
System.out.flush();
}
}
|