blob: f2b508cf6e8f7bc84965654ba336009cfa0c9c40 [file] [log] [blame]
Alexander Afanasyev88f0b3a2013-09-24 23:52:08 -07001/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil -*- */
2/*
3 * @copyright See LICENCE for copyright and license information.
4 *
5 * @author Alexander Afanasyev <alexander.afanasyev@ucla.edu>
6 * @author Ilya Moiseenko <iliamo@ucla.edu>
7 */
8
9#import <Cocoa/Cocoa.h>
Ilya Moiseenko1dc76da2013-09-30 11:53:36 -070010#import "preference-delegate.h"
Alexander Afanasyev88f0b3a2013-09-24 23:52:08 -070011
12@interface MenuDelegate : NSObject <NSApplicationDelegate>
13{
Ilya Moiseenko350b9b52013-09-25 16:38:41 -070014 NSStatusItem *statusItem;
15 NSImage *menuIcon;
16
17 IBOutlet NSPopover *statusPopover;
18
19 IBOutlet NSMenu *statusMenu;
20 IBOutlet NSMenuItem *connectionStatus;
21 IBOutlet NSMenuItem *startstopButton;
22 IBOutlet NSMenuItem *daemonStatus;
23 IBOutlet NSMenuItem *routingStatus;
24 IBOutlet NSMenuItem *trafficMap;
Ilya Moiseenko2dffcf52013-09-27 15:08:04 -070025 IBOutlet NSMenuItem *ndnPreferences;
Ilya Moiseenkoa10ef8d2013-09-25 17:23:05 -070026
27 BOOL daemonStarted;
Ilya Moiseenko90f40c92013-09-27 15:52:01 -070028 BOOL allowSoftwareUpdates;
29 BOOL enableHubDiscovery;
Ilya Moiseenko01264322013-09-26 15:34:21 -070030
31 IBOutlet NSView *daemonStatusView;
Ilya Moiseenko6d4086c2013-09-27 16:56:02 -070032 IBOutlet NSTextField *daemonStatusText;
Ilya Moiseenko01264322013-09-26 15:34:21 -070033
34 IBOutlet NSView *connectionStatusView;
35 IBOutlet NSTextField *connectionStatusText;
Ilya Moiseenko2dffcf52013-09-27 15:08:04 -070036
Ilya Moiseenko1dc76da2013-09-30 11:53:36 -070037 IBOutlet PreferenceDelegate *preferencesDelegate;
Ilya Moiseenkoe7058e72013-10-02 15:56:45 -070038
39 IBOutlet NSWindow *exitWindow;
Alexander Afanasyev88f0b3a2013-09-24 23:52:08 -070040}
Ilya Moiseenko350b9b52013-09-25 16:38:41 -070041
Ilya Moiseenko01264322013-09-26 15:34:21 -070042-(void)menu:(NSMenu *)menu willHighlightItem:(NSMenuItem *)item;
Ilya Moiseenko350b9b52013-09-25 16:38:41 -070043-(IBAction)openDaemonStatus:(id)sender;
Ilya Moiseenko350b9b52013-09-25 16:38:41 -070044
Ilya Moiseenkoe7058e72013-10-02 15:56:45 -070045-(IBAction)showExitConfirmationWindow:(id)sender;
46-(IBAction)confirmExit:(id)sender;
47-(IBAction)cancelExit:(id)sender;
Alexander Afanasyev88f0b3a2013-09-24 23:52:08 -070048@end