diff -r fd0bb39a7818 -r 926cdf23b485 Client/Client.cs --- a/Client/Client.cs Sat Oct 25 13:35:11 2014 +0200 +++ b/Client/Client.cs Mon Dec 15 18:52:42 2014 +0100 @@ -101,4 +101,98 @@ return State == CommunicationState.Opened; } } + + + /// + /// + /// + public class DisplayClient + { + Client iClient; + Callback iCallback; + private MainForm MainForm { get; set; } + + public string Name { get; set; } + public string SessionId { get { return iClient.SessionId; } } + + public DisplayClient(MainForm aMainForm) + { + MainForm = aMainForm; + Name = ""; + } + + public void Open() + { + iCallback = new Callback(MainForm); + iClient = new Client(iCallback); + if (Name != "") + { + iClient.SetName(Name); + } + } + + public void Close() + { + iClient.Close(); + iClient = null; + iCallback.Dispose(); + iCallback = null; + } + + public bool IsReady() + { + return (iClient != null && iCallback != null && iClient.IsReady()); + } + + public void CheckConnection() + { + if (!IsReady()) + { + Open(); + } + } + + public void SetName(string aClientName) + { + Name = aClientName; + CheckConnection(); + iClient.SetName(aClientName); + } + + + public void SetLayout(TableLayout aLayout) + { + CheckConnection(); + iClient.SetLayout(aLayout); + } + + public void SetText(DataField aField) + { + CheckConnection(); + iClient.SetText(aField); + } + + public void SetTexts(System.Collections.Generic.IList aFields) + { + CheckConnection(); + iClient.SetTexts(aFields); + } + + public void SetBitmap(DataField aField) + { + CheckConnection(); + iClient.SetBitmap(aField); + } + + public int ClientCount() + { + CheckConnection(); + return iClient.ClientCount(); + } + + + + } + + }