package uk.co.mmscomputing.device.phone;
import uk.co.mmscomputing.concurrent.Semaphore;
public class PhoneAnswererMetadata{
static public class Type{}
static public Type INFO=new Type();
static public Type EXCEPTION=new Type();
static public Type STATE=new Type();
private int state=0;
private String info="";
private Exception exception=null;
private String localno="Local No";
private String remoteno="Remote No";
private String file="sound.wav";
private int pickuptime=-1;
private boolean alaw=true;
private int cntl=-1;
private boolean changedProtocol=false;
private Semaphore blocker=null;
private PhoneCallHandler pch;
public PhoneAnswererMetadata(){}
public void setState(int state){ this.state=state;}
public int getState(){ return state;}
public String getStateStr(){ return "State "+state;}
public boolean isState(int state){ return this.state==state;}
public void setInfo(String info){ this.info=info;}
public String getInfo(){ return info;}
public void setException(Exception ex){ this.exception=ex;}
public Exception getException(){ return exception;}
public void setLocalNo(String no){ this.localno=no;}
public String getLocalNo(){ return localno;}
public void setRemoteNo(String no){ this.remoteno=no;}
public String getRemoteNo(){ return remoteno;}
public void setFile(String file){ this.file=file;}
public String getFile(){ return file;}
public void setPickUpTime(int sec){
this.pickuptime=sec;
blocker=new Semaphore(0,true);
}
public void setPickUpTime(int sec,Semaphore semaphore){
this.pickuptime=sec;
blocker=semaphore;
}
public int getPickUpTime(){ return pickuptime;}
public int getController(){return cntl;}
public void setController(int cntl){this.cntl=cntl;}
public void setALaw(boolean alaw){ this.alaw=alaw;}
public boolean useALaw(){ return alaw;}
public void setChangedProtocol(boolean value){ changedProtocol=value;}
public boolean getChangedProtocol(){ return changedProtocol;}
public void setBlocker(Semaphore b){ this.blocker=b;}
public Semaphore getBlocker(){ return blocker;}
public void setHandler(PhoneCallHandler pch){ this.pch=pch;}
public PhoneCallHandler getHandler(){ return pch;}
}