package uk.co.mmscomputing.device.capi.facility;
import uk.co.mmscomputing.device.capi.*;
public class FacilityConf extends CapiConfMsg{
private int selector;
public FacilityConf(Rider r){
super(r);
info =r.readWord();
selector=r.readWord();
r.structBegin(); // Facility Confirmation Parameter
}
public String toString(){
String s=super.toString();
s+="selector = "+selector+"\n";
return s;
}
static public MsgIn create(Rider r){
int info =r.readWord();
int selector=r.readWord();
r.structBegin(); // Facility Confirmation Parameter
switch(selector){
case CAPI_FACILITY_HANDSET: return new HandsetConf(r);
case CAPI_FACILITY_DTMF: return new DTMFConf(r);
case CAPI_FACILITY_V42bis: return new V42InfoConf(r);
case CAPI_FACILITY_SUPSERVICE: return SupServiceConf.create(r);
case CAPI_FACILITY_PWRMGMT: return new PwrMgmtConf(r);
case CAPI_FACILITY_INTERCONNECT: return new InterconnectConf(r);
// case CAPI_FACILITY_BROADBAND:
// case CAPI_FACILITY_CONTROLLEREVENTS:
case CAPI_FACILITY_ECHOCANCELLATION: return EchoCancellerConf.create(r);
}
throw new IllegalArgumentException();
}
}