mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
59 lines
1.6 KiB
Objective-C
59 lines
1.6 KiB
Objective-C
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#import <Cocoa/Cocoa.h>
|
|
|
|
#include "nscore.h"
|
|
#include "nsStringGlue.h"
|
|
#include "nsNotificationCenterCompat.h"
|
|
|
|
#define OBSERVER_KEY @"ALERT_OBSERVER"
|
|
#define COOKIE_KEY @"ALERT_COOKIE"
|
|
|
|
class nsIObserver;
|
|
class nsIDOMWindow;
|
|
|
|
@interface mozNotificationCenterDelegate : NSObject <NSUserNotificationCenterDelegate>
|
|
{
|
|
@private
|
|
uint32_t mKey;
|
|
NSMutableDictionary *mObserverDict;
|
|
id<FakeNSUserNotificationCenter> mCenter;
|
|
}
|
|
|
|
/**
|
|
* Dispatches a notification to Notification Center
|
|
*
|
|
* @param aTitle The title of the notification
|
|
* @param aText The body of the notification
|
|
* @param aKey The observer key to use as a lookup (or 0 if no observer)
|
|
* @param aCookie The string to be used as a cookie if there is an observer
|
|
*/
|
|
- (void)notifyWithTitle:(const nsAString&)aTitle
|
|
description:(const nsAString&)aText
|
|
key:(uint32_t)aKey
|
|
cookie:(const nsAString&)aCookie;
|
|
|
|
/**
|
|
* Adds an nsIObserver that we can query later for dispatching obsevers.
|
|
*
|
|
* @param aObserver The observer we are adding.
|
|
* @return The key it was stored in.
|
|
*/
|
|
- (uint32_t)addObserver:(nsIObserver*)aObserver;
|
|
|
|
/**
|
|
* Called when a window was closed and the observers are no longer valid.
|
|
*
|
|
* @param window The window that was closed.
|
|
*/
|
|
- (void)forgetObserversForWindow:(nsIDOMWindow*)window;
|
|
|
|
/**
|
|
* Called when all observers should be released.
|
|
*/
|
|
- (void)forgetObservers;
|
|
|
|
@end
|