2014-10-31 18:17:05 +00:00
|
|
|
// Copyright (c) 2013 GitHub, Inc.
|
2014-04-25 09:49:37 +00:00
|
|
|
// Use of this source code is governed by the MIT license that can be
|
2013-05-02 12:09:19 +00:00
|
|
|
// found in the LICENSE file.
|
|
|
|
|
2018-02-05 07:13:35 +00:00
|
|
|
#include "base/callback.h"
|
|
|
|
#include "base/mac/scoped_nsobject.h"
|
2018-04-18 01:44:10 +00:00
|
|
|
#include "base/mac/scoped_sending_event.h"
|
2013-05-02 12:09:19 +00:00
|
|
|
|
2018-09-27 15:33:31 +00:00
|
|
|
// Forward Declare Appareance APIs
|
|
|
|
@interface NSApplication (HighSierraSDK)
|
|
|
|
@property(copy, readonly)
|
|
|
|
NSAppearance* effectiveAppearance API_AVAILABLE(macosx(10.14));
|
|
|
|
@property(copy, readonly) NSAppearance* appearance API_AVAILABLE(macosx(10.14));
|
|
|
|
- (void)setAppearance:(NSAppearance*)appearance API_AVAILABLE(macosx(10.14));
|
|
|
|
@end
|
|
|
|
|
|
|
|
extern "C" {
|
|
|
|
#if !defined(MAC_OS_X_VERSION_10_14) || \
|
|
|
|
MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_14
|
|
|
|
BASE_EXPORT extern NSString* const NSAppearanceNameDarkAqua;
|
|
|
|
#endif // MAC_OS_X_VERSION_10_14
|
|
|
|
} // extern "C"
|
|
|
|
|
2018-04-18 01:44:10 +00:00
|
|
|
@interface AtomApplication : NSApplication <CrAppProtocol,
|
|
|
|
CrAppControlProtocol,
|
|
|
|
NSUserActivityDelegate> {
|
2013-05-02 12:09:19 +00:00
|
|
|
@private
|
|
|
|
BOOL handlingSendEvent_;
|
2018-09-19 11:10:26 +00:00
|
|
|
base::scoped_nsobject<NSUserActivity> currentActivity_
|
|
|
|
API_AVAILABLE(macosx(10.10));
|
2017-09-14 07:12:34 +00:00
|
|
|
NSCondition* handoffLock_;
|
2017-08-09 15:09:47 +00:00
|
|
|
BOOL updateReceived_;
|
2018-02-05 07:13:35 +00:00
|
|
|
base::Callback<bool()> shouldShutdown_;
|
2013-05-02 12:09:19 +00:00
|
|
|
}
|
|
|
|
|
2013-05-30 08:03:10 +00:00
|
|
|
+ (AtomApplication*)sharedApplication;
|
|
|
|
|
2018-02-05 07:13:35 +00:00
|
|
|
- (void)setShutdownHandler:(base::Callback<bool()>)handler;
|
|
|
|
|
2013-05-02 12:09:19 +00:00
|
|
|
// CrAppProtocol:
|
|
|
|
- (BOOL)isHandlingSendEvent;
|
|
|
|
|
|
|
|
// CrAppControlProtocol:
|
|
|
|
- (void)setHandlingSendEvent:(BOOL)handlingSendEvent;
|
|
|
|
|
2018-06-20 12:27:55 +00:00
|
|
|
- (NSUserActivity*)getCurrentActivity API_AVAILABLE(macosx(10.10));
|
2016-05-23 15:49:46 +00:00
|
|
|
- (void)setCurrentActivity:(NSString*)type
|
|
|
|
withUserInfo:(NSDictionary*)userInfo
|
|
|
|
withWebpageURL:(NSURL*)webpageURL;
|
2017-06-26 19:14:44 +00:00
|
|
|
- (void)invalidateCurrentActivity;
|
2017-09-14 07:12:34 +00:00
|
|
|
- (void)updateCurrentActivity:(NSString*)type
|
2017-06-26 19:14:44 +00:00
|
|
|
withUserInfo:(NSDictionary*)userInfo;
|
2016-05-03 21:57:16 +00:00
|
|
|
|
2013-05-02 12:09:19 +00:00
|
|
|
@end
|