コード例 #1
0
        public AppleToastNotification(NotificationSourceData source, NotificationAttributeCollection attributes)
        {
            NotificationSource = source;

            if (attributes.ContainsKey(NotificationAttributeID.Title))
            {
                this.Title = attributes[NotificationAttributeID.Title];
            }
            else
            {
                this.Title = "Apple Notification";
            }

            if (attributes.ContainsKey(NotificationAttributeID.Message))
            {
                this.Message = attributes[NotificationAttributeID.Message];
            }
            else
            {
                this.Message = "New incoming notification";
            }

            if (source.EventFlags.HasFlag(EventFlags.EventFlagPositiveAction))
            {
                if (attributes.ContainsKey(NotificationAttributeID.PositiveActionLabel))
                {
                    this.PositiveActionLabel = attributes[NotificationAttributeID.PositiveActionLabel];
                }
                else
                {
                    this.PositiveActionLabel = "Positive";
                }
            }

            if (source.EventFlags.HasFlag(EventFlags.EventFlagNegativeAction))
            {
                if (attributes.ContainsKey(NotificationAttributeID.NegativeActionLabel))
                {
                    this.NegativeActionLabel = attributes[NotificationAttributeID.NegativeActionLabel];
                }
                else
                {
                    this.NegativeActionLabel = "Negative";
                }
            }
        }
コード例 #2
0
        private void _DataSource_NotificationAttributesReceived(NotificationAttributeCollection obj)
        {
            // Is it a known notification?
            if (this.Notifications.ContainsKey(obj.NotificationUID) == false)
            {
                return;
            }

            //ApplicationAttributeCollection applicationAttributes;

            //if (attributes.ContainsKey(NotificationAttributeID.AppIdentifier))
            //{
            //    string appIdentifier = attributes[NotificationAttributeID.AppIdentifier];

            //    if (Applications.ContainsKey(appIdentifier) == false)
            //    {
            //        // Enque notifications
            //        if (ApplicationNotificationQueue.ContainsKey(appIdentifier) == false)
            //        {
            //            ApplicationNotificationQueue.Add(appIdentifier, new Queue<NotificationAttributeCollection>());
            //        }
            //        ApplicationNotificationQueue[appIdentifier].Enqueue(attributes);

            //        List<AppAttributeID> requestAppAttributes = new List<AppAttributeID>();
            //        requestAppAttributes.Add(AppAttributeID.DisplayName);

            //        try
            //        {
            //            var commStatus = await ControlPoint.GetAppAttributesAsync(attributes[NotificationAttributeID.AppIdentifier], requestAppAttributes);
            //        }
            //        catch (Exception e)
            //        {
            //            System.Diagnostics.Debug.WriteLine("Bad get app attributes request");
            //        }
            //        return;
            //    }

            //    applicationAttributes = Applications[appIdentifier];
            //}

            //RaiseNotificationEvent(attributes);
            this.NotificationAdded(this, new NotificationEventArgs(this.Notifications[obj.NotificationUID], obj));
        }
コード例 #3
0
 public NotificationEventArgs(NotificationSourceData notificationSource, NotificationAttributeCollection attributes)
 {
     this.NotificationSource     = notificationSource;
     this.NotificationAttributes = attributes;
 }