예제 #1
0
        internal Notification Build()
        {
            IntPtr extension          = IntPtr.Zero;
            IntPtr extensionBundlePtr = IntPtr.Zero;

            NotificationBinder.BindSafeHandle(this);

            Interop.Notification.GetExtensionBundle(Handle, out extension, out extensionBundlePtr);

            if (extension != IntPtr.Zero)
            {
                Bundle bundle = new Bundle(new SafeBundleHandle(extension, false));
                foreach (string key in bundle.Keys)
                {
                    if (key.StartsWith("_NOTIFICATION_EXTENSION_EVENT_"))
                    {
                        continue;
                    }

                    SafeBundleHandle sbh;
                    Interop.Notification.GetExtensionData(Handle, key, out sbh);
                    extraDataDictionary.Add(key, new Bundle(sbh));
                }
            }

            ProgressBinder.BindSafeHandle(this);
            AccessorySetBinder.BindSafeHandle(this);
            IndicatorBinder.BindSafeHandle(this);
            ActiveBinder.BindSafeHandle(this);
            LockBinder.BindSafehandle(this);

            return(this);
        }
예제 #2
0
 internal override void Make(Notification notification)
 {
     ActiveBinder.BindObject(notification);
 }