public void OnCallback(WCF_Functions.MessageData data) { if (MessageRecieved != null) { MessageRecieved(data); } }
public void SendMessage(WCF_Functions.MessageData data) { try { if (messageProxy != null) { messageProxy.SendData(data); } } catch (Exception ex) { TrakHound.Logging.Logger.Log("Exception : " + ex.Message); } }
private void DownloadCompleted(WCF_Functions.MessageData data) { // data.Data01 = Application Name string name = data.Data01.ToString(); int index = UpdateItems.ToList().FindIndex(x => x.ApplicationName == name); if (index >= 0) { var item = UpdateItems[index]; item.ProgressValue = 100; item.Status = "Extracting Files.."; } }
private void UpToDate(WCF_Functions.MessageData data) { // data.Data01 = Application Name string name = data.Data01.ToString(); int index = UpdateItems.ToList().FindIndex(x => x.ApplicationName == name); if (index >= 0) { var item = UpdateItems[index]; item.ProgressValue = 0; item.Loading = false; item.UpdateAvailable = false; item.Status = "Up to Date"; } }
private void DownloadProgressPercentage(WCF_Functions.MessageData data) { // data.Data01 = Application Name // data.Data02 = Download Progress (int) string name = data.Data01.ToString(); int percentage = (int)data.Data02; int index = UpdateItems.ToList().FindIndex(x => x.ApplicationName == name); if (index >= 0) { var item = UpdateItems[index]; item.ProgressValue = percentage; item.Status = "Downloading.."; } }
private void MessageWorker_MessageRecieved(WCF_Functions.MessageData data) { Dispatcher.BeginInvoke(new Action(() => { switch (data.Id) { case "download_progress_percentage": DownloadProgressPercentage(data); break; case "download_completed": DownloadCompleted(data); break; case "update_ready": UpdateReady(data); break; case "up_to_date": UpToDate(data); break; case "error": Error(data); break; } })); }
private void Error(WCF_Functions.MessageData data) { // data.Data01 = Application Name // data.Data02 = Error Text string name = data.Data01.ToString(); string error = data.Data02.ToString(); int index = UpdateItems.ToList().FindIndex(x => x.ApplicationName == name); if (index >= 0) { var item = UpdateItems[index]; item.Error = true; item.Loading = false; item.UpdateAvailable = false; item.Status = error; item.ProgressValue = 0; } }
private void Apply(UpdateItem item) { item.Error = false; item.Loading = false; item.UpdateAvailable = false; if (CheckUpdaterIsRunning()) { item.Status = "Restart TrakHound to Apply Update"; var message = new WCF_Functions.MessageData("apply"); message.Data01 = item.ApplicationName; SendMessage(message); } else { item.Error = true; item.Status = "Updater Service Not Running"; } }
private void UpdateReady(WCF_Functions.MessageData data) { // data.Data01 = Application Name // data.Data02 = Version string name = data.Data01.ToString(); string version = data.Data02.ToString(); int index = UpdateItems.ToList().FindIndex(x => x.ApplicationName == name); if (index >= 0) { var item = UpdateItems[index]; item.ProgressValue = 0; item.Loading = false; item.UpdateAvailable = true; item.Status = version + " Update Ready"; CheckTimestamps(item); } }
private void Check(UpdateItem item) { item.Loading = true; item.UpdateAvailable = false; item.ProgressValue = 0; if (CheckUpdaterIsRunning()) { item.Error = false; item.Status = "Retrieving Update Information.."; var message = new WCF_Functions.MessageData("check"); message.Data01 = item.ApplicationName; SendMessage(message); } else { item.Loading = false; item.Error = true; item.Status = "Updater Service Not Running"; } }
private void SendMessage(WCF_Functions.MessageData data) { System.Threading.ThreadPool.QueueUserWorkItem(SendMessage_Worker, data); }