public override void ForwardNotification(Growl.Connector.Notification notification, Growl.Connector.CallbackContext callbackContext, Growl.Connector.RequestInfo requestInfo, bool isIdle, ForwardedNotificationCallbackHandler callbackFunction) { bool send = true; // if a minimum priority is set, check that if (this.MinimumPriority != null && this.MinimumPriority.HasValue && notification.Priority < this.MinimumPriority.Value) { requestInfo.SaveHandlingInfo(String.Format("Forwarding to Email ({0}) cancelled - Notification priority must be at least '{1}' (was actually '{2}').", this.Description, this.MinimumPriority.Value.ToString(), notification.Priority.ToString())); send = false; } // if only sending when idle, check that if (this.OnlyWhenIdle && !isIdle) { requestInfo.SaveHandlingInfo(String.Format("Forwarding to Email ({0}) cancelled - Currently only configured to forward when idle", this.Description)); send = false; } if (send) { requestInfo.SaveHandlingInfo(String.Format("Forwarded to Email '{0}' - Minimum Priority:'{1}', Actual Priority:'{2}'", this.Description, (this.MinimumPriority != null && this.MinimumPriority.HasValue ? this.MinimumPriority.Value.ToString() : "<any>"), notification.Priority.ToString())); string format = "Application: {0}\r\n\r\n{1}\r\n\r\n{2}\r\n\r\nSent From: {3} - {4}"; string message = String.Format(format, notification.ApplicationName, notification.Title, notification.Text, notification.MachineName, DateTime.Now.ToString()); Send(notification.ApplicationName, notification.Title, notification.Priority, message); } }
public override void ForwardRegistration(Growl.Connector.Application application, List <Growl.Connector.NotificationType> notificationTypes, Growl.Connector.RequestInfo requestInfo, bool isIdle) { // IGNORE REGISTRATION NOTIFICATIONS (since we have no way of filtering out already-registered apps at this point) //Send(application.Name, Properties.Resources.SystemNotification_AppRegistered_Title, String.Format(Properties.Resources.SystemNotification_AppRegistered_Text, application.Name)); requestInfo.SaveHandlingInfo("Forwarding to Toasty cancelled - Application Registrations are not forwarded."); }
public override void ForwardRegistration(Growl.Connector.Application application, List <Growl.Connector.NotificationType> notificationTypes, Growl.Connector.RequestInfo requestInfo, bool isIdle) { // IGNORE REGISTRATION NOTIFICATIONS requestInfo.SaveHandlingInfo("Forwarding to Twitter cancelled - Application Registrations are not forwarded."); }
public override void ForwardNotification(Growl.Connector.Notification notification, Growl.Connector.CallbackContext callbackContext, Growl.Connector.RequestInfo requestInfo, bool isIdle, ForwardedNotificationCallbackHandler callbackFunction) { bool send = true; // if a minimum priority is set, check that if (this.MinimumPriority != null && this.MinimumPriority.HasValue && notification.Priority < this.MinimumPriority.Value) { requestInfo.SaveHandlingInfo(String.Format("Forwarding to Twitter ({0}) cancelled - Notification priority must be at least '{1}' (was actually '{2}').", this.Username, this.MinimumPriority.Value.ToString(), notification.Priority.ToString())); send = false; } // if only sending when idle, check that if (this.OnlyWhenIdle && !isIdle) { requestInfo.SaveHandlingInfo(String.Format("Forwarding to Twitter ({0}) cancelled - Currently only configured to forward when idle", this.Username)); send = false; } if (send) { requestInfo.SaveHandlingInfo(String.Format("Forwarded to Twitter '{0}' - Minimum Priority:'{1}', Actual Priority:'{2}'", this.Description, (this.MinimumPriority != null && this.MinimumPriority.HasValue ? this.MinimumPriority.Value.ToString() : "<any>"), notification.Priority.ToString())); string message = this.format; message = message.Replace(PLACEHOLDER_APPNAME, notification.ApplicationName); message = message.Replace(PLACEHOLDER_TITLE, notification.Title); message = message.Replace(PLACEHOLDER_TEXT, notification.Text); message = message.Replace(PLACEHOLDER_PRIORITY, PrefPriority.GetFriendlyName(notification.Priority)); message = message.Replace(PLACEHOLDER_SENDER, notification.MachineName); //Utility.WriteLine(message); // trim if (message.Length > 140) { message = message.Substring(0, 140); } //byte[] bytes = System.Text.Encoding.UTF8.GetBytes("status=" + message); string data = "status=" + message; // send async (using threads instead of async WebClient/HttpWebRequest methods since they seem to have a bug with KeepAlives in infrequent cases) System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(SendAsync), data); } }