package P9P.rpcSrv;
import java.io.*;
import P9P.msg.*;
import P9P.type.*;
import PFS.*;
public abstract class rpc9P {
public abstract rmsg9P process(fidtable fidt);
protected rmsg9P returnError (String s, short9P t, Exception e) {
Rerror9P rmsg= new Rerror9P();
String excpmsg="";
if (e!=null)
excpmsg = e.getMessage();
if (excpmsg==null)
excpmsg="";
else
excpmsg = " "+excpmsg;
rmsg.type.value=cto9P.Rerror;
rmsg.tag = t;
rmsg.ename.value = s+excpmsg;
return rmsg;
}
public static rpc9P getrpc (tmsg9P tmsg) {
switch(tmsg.type.value) {
case cto9P.Tversion: return new rpc9Pversion((Tversion9P)tmsg);
case cto9P.Tauth: return new rpc9Pauth((Tauth9P)tmsg);
case cto9P.Tattach: return new rpc9Pattach((Tattach9P)tmsg);
case cto9P.Twalk: return new rpc9Pwalk((Twalk9P)tmsg);
case cto9P.Topen: return new rpc9Popen((Topen9P)tmsg);
case cto9P.Tcreate: return new rpc9Pcreate((Tcreate9P)tmsg);
case cto9P.Tread: return new rpc9Pread((Tread9P)tmsg);
case cto9P.Twrite: return new rpc9Pwrite((Twrite9P)tmsg);
case cto9P.Tclunk: return new rpc9Pclunk((Tclunk9P)tmsg);
case cto9P.Tremove: return new rpc9Premove((Tremove9P)tmsg);
case cto9P.Tstat: return new rpc9Pstat((Tstat9P)tmsg);
case cto9P.Twstat: return new rpc9Pwstat((Twstat9P)tmsg);
case cto9P.Tflush: return new rpc9Pflush((Tflush9P)tmsg);
}
return null;
}
}