From: <ste...@us...> - 2011-02-15 14:50:42
|
Revision: 4110 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=4110&view=rev Author: steve44src Date: 2011-02-15 14:50:36 +0000 (Tue, 15 Feb 2011) Log Message: ----------- - recent Modified Paths: -------------- trunk/plugins/MP4IPSymcon/MP4IPSymcon/IPSWindow.cs trunk/plugins/MP4IPSymcon/MP4IPSymcon/JumpClickHandler.cs trunk/plugins/MP4IPSymcon/MP4IPSymcon/LabelObserver.cs trunk/plugins/MP4IPSymcon/MP4IPSymcon/LoggerFactory.cs trunk/plugins/MP4IPSymcon/MP4IPSymcon/Main.cs trunk/plugins/MP4IPSymcon/MP4IPSymcon/MsgListener.cs trunk/plugins/MP4IPSymcon/MP4IPSymcon/Services.cs trunk/plugins/MP4IPSymcon/MP4IPSymcon/Switch.cs Modified: trunk/plugins/MP4IPSymcon/MP4IPSymcon/IPSWindow.cs =================================================================== --- trunk/plugins/MP4IPSymcon/MP4IPSymcon/IPSWindow.cs 2011-02-15 14:49:49 UTC (rev 4109) +++ trunk/plugins/MP4IPSymcon/MP4IPSymcon/IPSWindow.cs 2011-02-15 14:50:36 UTC (rev 4110) @@ -24,13 +24,15 @@ /// </summary> public class IPSWindow : GUIWindow { - static Logger Log = LoggerFactory.getLogger("MP4IPSymcon.IPSWindow"); + static Logger Log = LoggerFactory.getLogger("IPSWindow"); protected int winId = 0; - private string skin; + protected string skin; protected Main instance; public IPSWindow() { + this.winId = 5090; + this.skin = "ipsymcon.xml"; } public IPSWindow(Main instance, int id, string skin) @@ -55,6 +57,7 @@ public override bool Init() { bool r = Load(GUIGraphicsContext.Skin + "\\" + this.skin); + Log.Debug("IPSWindow::Init loading skin {0}, success {1}", this.skin, r ); return r; } @@ -67,6 +70,7 @@ protected void registerObserver(int id, Observer observer) { + Log.Debug("Register Observer for {0}", id ); if (observers[id] == null) { observers[id] = new List<Observer>(); @@ -116,13 +120,17 @@ { if (cmd[0] == "GO") { - if( !instance.ipsWindows.ContainsKey(oid) ) { + if( !IPSWindowManager.getIPSWindowManager().hasWindow(oid) ) { Log.Debug("Creating new IPS Window ({0},'{1}')", oid, fmt); IPSWindow ipswin = new IPSWindow(instance, oid, fmt); GUIWindow window = (GUIWindow)ipswin; GUIWindowManager.Add(ref window); - ipswin.Init(); - instance.ipsWindows[oid] = ipswin; + if( ipswin.Init() ) { + IPSWindowManager.getIPSWindowManager().registerWindow(oid,ipswin); + Log.Debug("Adding window to known IPS Windows"); + } else { + Log.Error("Error when calling init"); + } } // add handler that jumps to another page. @@ -201,6 +209,7 @@ protected override void OnPageLoad() { + Log.Debug("OnPageLoad {0} ... ", this.winId); base.OnPageLoad(); try { registerEventHandler(); @@ -212,6 +221,7 @@ protected override void OnPageDestroy(int new_windowId) { + Log.Debug("OnPageDestroy {0} ... ", this.winId); unregisterEventHandler(); base.OnPageDestroy(new_windowId); } Modified: trunk/plugins/MP4IPSymcon/MP4IPSymcon/JumpClickHandler.cs =================================================================== --- trunk/plugins/MP4IPSymcon/MP4IPSymcon/JumpClickHandler.cs 2011-02-15 14:49:49 UTC (rev 4109) +++ trunk/plugins/MP4IPSymcon/MP4IPSymcon/JumpClickHandler.cs 2011-02-15 14:50:36 UTC (rev 4110) @@ -21,7 +21,7 @@ } else { - GUIWindowManager.ActivateWindow(id); + GUIWindowManager.ActivateWindow(id,true); } } } Modified: trunk/plugins/MP4IPSymcon/MP4IPSymcon/LabelObserver.cs =================================================================== --- trunk/plugins/MP4IPSymcon/MP4IPSymcon/LabelObserver.cs 2011-02-15 14:49:49 UTC (rev 4109) +++ trunk/plugins/MP4IPSymcon/MP4IPSymcon/LabelObserver.cs 2011-02-15 14:50:36 UTC (rev 4110) @@ -9,6 +9,8 @@ class LabelObserver : Observer { + static Logger Log = LoggerFactory.getLogger("LabelObserver"); + private GUILabelControl label; private string format; private bool useProfile; @@ -22,6 +24,7 @@ public void OnUpdateVar(int id) { + Log.Debug("OnUpdateVar: loading Value for {0}", id ); Variable v = IPSObject.loadVariable((ushort)id); label.Label = useProfile ? String.Format(format,v.getProfileFormattedValue()) : v.getStringValue(format); } Modified: trunk/plugins/MP4IPSymcon/MP4IPSymcon/LoggerFactory.cs =================================================================== --- trunk/plugins/MP4IPSymcon/MP4IPSymcon/LoggerFactory.cs 2011-02-15 14:49:49 UTC (rev 4109) +++ trunk/plugins/MP4IPSymcon/MP4IPSymcon/LoggerFactory.cs 2011-02-15 14:50:36 UTC (rev 4110) @@ -18,19 +18,19 @@ } public void Debug( string msg, params object[] args ){ - Log.Debug("FritzBox::"+name+" "+msg,args); + Log.Debug("MP4IPS::"+name+" "+msg,args); } public void Info( string msg, params object[] args ){ - Log.Info("FritzBox::"+name+" "+msg,args); + Log.Info("MP4IPS::"+name+" "+msg,args); } public void Warn( string msg, params object[] args ){ - Log.Warn("FritzBox::"+name+" "+msg,args); + Log.Warn("MP4IPS::"+name+" "+msg,args); } public void Error( string msg, params object[] args ){ - Log.Error("FritzBox::"+name+" "+msg,args); + Log.Error("MP4IPS::"+name+" "+msg,args); } } Modified: trunk/plugins/MP4IPSymcon/MP4IPSymcon/Main.cs =================================================================== --- trunk/plugins/MP4IPSymcon/MP4IPSymcon/Main.cs 2011-02-15 14:49:49 UTC (rev 4109) +++ trunk/plugins/MP4IPSymcon/MP4IPSymcon/Main.cs 2011-02-15 14:50:36 UTC (rev 4110) @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Text; +using System.Reflection; using System.Threading; using System.Windows.Forms; using MediaPortal.GUI.Library; @@ -19,16 +20,8 @@ [PluginIcons("MP4IPSymcon.ipSymconLogoSmall.png", "MP4IPSymcon.ipSymconLogoSmall.png")] public class Main : IPSWindow, ISetupForm { - static Logger Log = LoggerFactory.getLogger("MP4IPSymcon.Main"); + static Logger Log = LoggerFactory.getLogger("Main"); - public Dictionary<int, IPSWindow> ipsWindows = new Dictionary<int, IPSWindow>(); - - public Main() - { - this.winId = 5090; - this.instance = this; - } - #region ISetupForm public string PluginName() { @@ -93,16 +86,23 @@ public override bool Init() { - bool r = Load(GUIGraphicsContext.Skin + @"\ipsymcon.xml"); + Log.Debug("Main starting, version {0}", Assembly.GetExecutingAssembly().GetName().Version); + Log.Debug("Loading config ... "); string host = "localhost"; using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml")) { host = xmlreader.GetValue("MP4IPSymcon", "host"); - Log.Debug("Reading host from config {0}",host); + Log.Debug("IPS host is '{0}'",host); } Services.createInstance(host); - ipsWindows[this.GetID] = this; + + IPSWindowManager.getIPSWindowManager().registerWindow(this.GetID, this ); + startEventListener(); + + this.instance = this; + + bool r = base.Init(); return r; } @@ -110,8 +110,8 @@ { if (listener != null) { - listener.Stop(); - listenerThread.Abort(); + //listener.Stop(); + //listenerThread.Abort(); } base.DeInit(); } @@ -123,8 +123,9 @@ { // lazy start listener if( listener == null ) { - listener = new MsgListener(); + listener = new MsgListener(this); listenerThread = new Thread(listener.Run); + listenerThread.Name = "MP4IPSymcon::MsgListener"; listenerThread.Start(); } } Modified: trunk/plugins/MP4IPSymcon/MP4IPSymcon/MsgListener.cs =================================================================== --- trunk/plugins/MP4IPSymcon/MP4IPSymcon/MsgListener.cs 2011-02-15 14:49:49 UTC (rev 4109) +++ trunk/plugins/MP4IPSymcon/MP4IPSymcon/MsgListener.cs 2011-02-15 14:50:36 UTC (rev 4110) @@ -9,14 +9,16 @@ public class MsgListener { - static Logger Log = LoggerFactory.getLogger("MP4IPSymcon.MsgListener"); + static Logger Log = LoggerFactory.getLogger("MsgListener"); private IPSWindow inst = null; private static int UPDATE_VAR = 10603; private volatile bool go = true; + private int nonDispatchable = 0; - public MsgListener() + public MsgListener(IPSWindow inst) { + this.inst = inst; } public void Stop() @@ -40,8 +42,13 @@ { if( inst != null ) { dispatchMessage(msg); + nonDispatchable = 0; } else { - Log.Error("could not dispatch message inst not set"); + Log.Error("could not dispatch message {0} inst not set", nonDispatchable); + nonDispatchable++; + if( nonDispatchable > 20 ) { + Stop(); + } } } } Modified: trunk/plugins/MP4IPSymcon/MP4IPSymcon/Services.cs =================================================================== --- trunk/plugins/MP4IPSymcon/MP4IPSymcon/Services.cs 2011-02-15 14:49:49 UTC (rev 4109) +++ trunk/plugins/MP4IPSymcon/MP4IPSymcon/Services.cs 2011-02-15 14:50:36 UTC (rev 4110) @@ -6,6 +6,8 @@ { class Services { + static Logger Log = LoggerFactory.getLogger("Services"); + private static Services theInstance; private IPSFS20.IIPSFS20service fs20service = null; @@ -47,26 +49,47 @@ public Services(string host) { + Log.Debug("Creating IPS Soap Services for host {0}", host ); this.host = host; url = "http://"+host+":3773/soap/"; + + Log.Debug("Creating IIPSFS20service ..." ); fs20service = new MP4IPSymcon.IPSFS20.IIPSFS20service(); fs20service.Url = url + "IIPSFS20"; + + Log.Debug("Creating IIPSInstanceManagerservice ..." ); instSrv = new MP4IPSymcon.IPSInstance.IIPSInstanceManagerservice(); instSrv.Url = url + "IIPSInstanceManager"; + + Log.Debug("Creating IIPSModuleservice ..." ); modulSrv = new MP4IPSymcon.IPSModule.IIPSModuleservice(); modulSrv.Url = url + "IIPSModule"; + + Log.Debug("Creating IIPSObjectManagerservice ..." ); objSrv = new MP4IPSymcon.IPSObjectMgr.IIPSObjectManagerservice(); objSrv.Url = url + "IIPSObjectManager"; + + Log.Debug("Creating IIPSVariableManagerservice ..." ); varSrv = new MP4IPSymcon.IPSVariable.IIPSVariableManagerservice(); varSrv.Url = url + "IIPSVariableManager"; + + Log.Debug("Creating IIPSSOAPServerservice ..." ); soapSrv = new MP4IPSymcon.IPSSOAPServer.IIPSSOAPServerservice(); soapSrv.Url = url + "IIPSSOAPServer"; + + Log.Debug("Creating IIPSScriptEngineservice ..." ); scriptSrv = new MP4IPSymcon.IPSScript.IIPSScriptEngineservice(); scriptSrv.Url = url + "IIPSScriptEngine"; + + Log.Debug("Creating IIPSxComfortSwitchservice ..." ); xcomfSwitch = new MP4IPSymcon.IPSXComfort.IIPSxComfortSwitchservice(); xcomfSwitch.Url = url + "IIPSxComfortSwitch"; + + Log.Debug("Creating IIPSxComfortDimmerservice ..." ); xcomfDimmer = new MP4IPSymcon.IPSXComfDimmer.IIPSxComfortDimmerservice(); xcomfDimmer.Url = url + "IIPSxComfortDimmer"; + + Log.Debug("Creating IIPSSiemensAddressservice ..." ); s7 = new MP4IPSymcon.IPSS7.IIPSSiemensAddressservice(); s7.Url = url + "IIPSSiemensAddress"; } Modified: trunk/plugins/MP4IPSymcon/MP4IPSymcon/Switch.cs =================================================================== --- trunk/plugins/MP4IPSymcon/MP4IPSymcon/Switch.cs 2011-02-15 14:49:49 UTC (rev 4109) +++ trunk/plugins/MP4IPSymcon/MP4IPSymcon/Switch.cs 2011-02-15 14:50:36 UTC (rev 4110) @@ -88,26 +88,31 @@ IIPSFS20service fs20 = Services.instance.fs20; fs20.TIDHeaderValue = new IPSFS20.TIDHeader(); fs20.TIDHeaderValue.ID = oid; - Log.Debug("FS20 Switch {0}, {1}",oid,cmd); switch (cmd) { case 0: // toggle + Log.Debug("FS20 Switch {0}, {1} toggle {2}",oid,cmd,control.Selected); fs20.SwitchMode(control.Selected); break; case 1: // off + Log.Debug("FS20 Switch {0}, {1} off",oid,cmd); fs20.SwitchMode(false); break; case 2: // on + Log.Debug("FS20 Switch {0}, {1} on",oid,cmd); fs20.SwitchMode(true); break; case 3: // dim down + Log.Debug("FS20 Switch {0}, {1} dim down",oid,cmd); fs20.DimDown(); break; case 4: // dim up + Log.Debug("FS20 Switch {0}, {1} dim up",oid,cmd); fs20.DimUp(); break; default: - break; + Log.Error("FS20 Switch {0}, {1} Bad command",oid,cmd); + break; } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |