package uk.co.mmscomputing.device.capi.man.avm; import uk.co.mmscomputing.device.capi.*; import uk.co.mmscomputing.device.capi.man.*; public class AVMGetBChannelInfoConf extends AVMConf implements AVMConstants{ // avm/kisdnwatch-01.00.08/kavmmon/ccapiinfo.h and ccapiinfo.cpp // Manu AVM!, Class 0, Function 4: GetBChannelInfo // // byte index | type | meaning | comment // 0..1 | word | registered applications | including this application (kisdnwatch) // 2 | bool | isdn line active | cable unplugged = 0; cable plugged in = 1; (my guess) // 3 | bool | d channel active | as soon as something goes on = 1 (my guess) // 4 | ? | ? | seems to be zero all the time // 5 .. n | bool | b channel [0] .. [n] active | channel down = 0; channel up = 1; (kisdnwatch) private int applicationCount,bchannelCount; private boolean isdnline,dchannel; private boolean[] bchannels; public AVMGetBChannelInfoConf(Rider r){ super(r); r.structBegin(); // System.out.println(r.toString()); applicationCount=r.read();r.read(); isdnline=(r.read()==1); dchannel=(r.read()==1); r.read(); bchannelCount=r.available(); bchannels=new boolean[bchannelCount]; for(int i=0;i<bchannelCount;i++){ bchannels[i]=(r.read()==1); } r.structEnd(); } public int getRegisteredApplicationCount(){return applicationCount;} public boolean isISDNLineActive(){return isdnline;} public boolean isDChannelActive(){return dchannel;} public int getBChannelCount(){return bchannelCount;} public boolean isBChannelActive(int channel){return bchannels[channel];} public String toString(){ String s="AVM B-Channel Info \n"; return s; } }