1/*
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
61