package uk.co.mmscomputing.device.capi.facility; import uk.co.mmscomputing.device.capi.*; public class FacilityInd extends CapiIndMsg{ protected int selector; public FacilityInd(Rider r){ super(r); selector=r.readWord(); r.structBegin(); // Facility Indication Parameter } public int getSelector(){return selector;} public String toString(){ String s=super.toString(); s+="selector = "+selector+"\n"; return s; } static public MsgIn create(Rider r){ int selector = r.readWord(); r.structBegin(); // Facility Indication Parameter switch(selector){ case CAPI_FACILITY_HANDSET: return new HandsetInd(r); case CAPI_FACILITY_DTMF: return new DTMFInd(r); case CAPI_FACILITY_V42bis: return new V42InfoInd(r); case CAPI_FACILITY_SUPSERVICE: return SupServiceInd.create(r); case CAPI_FACILITY_PWRMGMT: return new PwrMgmtInd(r); case CAPI_FACILITY_INTERCONNECT: return new InterconnectInd(r); case CAPI_FACILITY_ECHOCANCELLATION: return EchoCancellerInd.create(r); } throw new IllegalArgumentException(); } }