blob: 16ccfc355d9161c4202a1cd491ba7982c09478f1 [file] [log] [blame]
Donald E Curtisa8736442015-08-05 15:48:13 -07001/*
2 * Copyright 2014 The WebRTC Project Authors. All rights reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#if !defined(__has_feature) || !__has_feature(objc_arc)
12#error "This file requires ARC support."
13#endif
14
15#import "APPRTCAppDelegate.h"
16
17#import "APPRTCViewController.h"
18#import "RTCPeerConnectionFactory.h"
19
20@interface APPRTCAppDelegate () <NSWindowDelegate>
21@end
22
23@implementation APPRTCAppDelegate {
24 APPRTCViewController* _viewController;
25 NSWindow* _window;
26}
27
28#pragma mark - NSApplicationDelegate
29
30- (void)applicationDidFinishLaunching:(NSNotification*)notification {
31 [RTCPeerConnectionFactory initializeSSL];
32 NSScreen* screen = [NSScreen mainScreen];
33 NSRect visibleRect = [screen visibleFrame];
34 NSRect windowRect = NSMakeRect(NSMidX(visibleRect),
35 NSMidY(visibleRect),
36 1320,
37 1140);
38 NSUInteger styleMask = NSTitledWindowMask | NSClosableWindowMask;
39 _window = [[NSWindow alloc] initWithContentRect:windowRect
40 styleMask:styleMask
41 backing:NSBackingStoreBuffered
42 defer:NO];
43 _window.delegate = self;
44 [_window makeKeyAndOrderFront:self];
45 [_window makeMainWindow];
46 _viewController = [[APPRTCViewController alloc] initWithNibName:nil
47 bundle:nil];
48 [_window setContentView:[_viewController view]];
49}
50
51#pragma mark - NSWindow
52
53- (void)windowWillClose:(NSNotification*)notification {
54 [_viewController windowWillClose:notification];
55 [RTCPeerConnectionFactory deinitializeSSL];
56 [NSApp terminate:self];
57}
58
59@end
60