package kr.co.icontrols.wallpadmain.imap; import android.content.Context; import com.artncore.WallPadDataMgr.WallpadStatusData; import com.artncore.WallPadDataMgr.wallpaddbmgr.AddressSet; import com.artncore.wallpadimap.RetProci; import com.artncore.wallpadimap.WallPadiMAPClient; public class iMAPSmartLightEvent extends WallPadiMAPClient { private static final String TAG = "iMAPSmartLightEvent"; String myIP = "NONE"; String myDong = "NONE"; String myHo = "NONE"; Context ctx; RetProci Proc; String XMLHeader; WallpadStatusData DBMGR; String ServerIP = "10.0.1.1"; int SvrPort = 10000; public iMAPSmartLightEvent(Context ctx) { super.setContext(ctx); DBMGR = new WallpadStatusData(ctx); AddressSet addc = DBMGR.getAddressMGR(); // DB에서 동호 정보 받아옴 DBMGR.closeDB(); // 동, 호, ip 정보 저장 myIP = addc.IPAddress; myDong = addc.Dong; myHo = addc.Ho; // 타임아웃 설정 SetSocketWaitCount(2000); // XML Header 생성 XMLHeader = "\r\n" + "\r\n"; this.ctx = ctx; } private String GetXMLSmartLightEvent(String Type, String Device, String DeviceIndex, String CauseType, String CauseDetail) { String retXML = ""; retXML = XMLHeader + " \r\n" + " \r\n" + " \r\n" + " \r\n"; return retXML; } public void SetServerIPcfg(String IPa, int port) { ServerIP = IPa; SvrPort = port; } public void SetRetCtr(RetProci retProci) { Proc = retProci; } @Override protected void ProcComplite() { if (Proc != null) { SetItem("service"); String result = GetAttributeVal(0, "result"); if (result != null) { if ((result.equalsIgnoreCase("ok")) || (result.equalsIgnoreCase("none"))) { String name = GetAttributeVal(0, "name"); String type = GetAttributeVal(0, "type"); if ((name!=null && name.equalsIgnoreCase("smart_light_event")) && (type!=null && type.equalsIgnoreCase("reply"))) { Proc.ProcSuccess(); return; } } } } if(Proc!=null) Proc.ProcError(); } @Override protected void ProcError() { Proc.ProcError(); } /** * 스마트분전반 이상상태 알림 수행 * **/ public void DoWork(String Type, String Device, String DeviceIndex, String CauseType, String CauseDetail) { SetServerIPConfig(ServerIP, SvrPort); String XmlData = GetXMLSmartLightEvent(Type, Device, DeviceIndex, CauseType, CauseDetail); if(XmlData != null) { SendXMLDoc(XmlData, true); } } }