*/
public OutputStream _invoke(String a_method, InputStream in,
ResponseHandler rh
)
{
OutputStream out;
/* Get the field value. */
if (a_method.equals("_get_theField"))
{
int result = (int) 0;
result = theField();
out = rh.createReply();
out.write_long(result);
}
else
/* Set the field value. */
if (a_method.equals("_set_theField"))
{
int newTheField = in.read_long();
theField(newTheField);
out = rh.createReply();
}
else
/* Passes various parameters in both directions. */
if (a_method.equals("passSimple"))
{
ByteHolder an_octet = new ByteHolder();
an_octet.value = in.read_octet();
int a_long = in.read_long();
ShortHolder a_short = new ShortHolder();
a_short.value = in.read_short();
StringHolder a_string = new StringHolder();
a_string.value = in.read_string();
DoubleHolder a_double = new DoubleHolder();
int result = passSimple(an_octet, a_long, a_short, a_string, a_double);
out = rh.createReply();
out.write_long(result);
out.write_octet(an_octet.value);
out.write_short(a_short.value);
out.write_string(a_string.value);
out.write_double(a_double.value);
}
else
/* Passes the 'wide' (usually Unicode) string and the ordinary string. */
if (a_method.equals("passCharacters"))
{
String wide = in.read_wstring();
String narrow = in.read_string();
String result = null;
result = passCharacters(wide, narrow);
out = rh.createReply();
out.write_wstring(result);
}
else
/*
Throws either 'ourUserException' with the 'ourField' field
initialised to the passed positive value