1
0
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ddwrt_monitor/DDWRT_MonitorAppDelegate.h

130 lines
3.1 KiB

//
// DDWRT_MonitorAppDelegate.h
// DDWRT-Monitor
//
// Created by Matthieu Lalonde & Spike Grobstein on 11-05-27.
// Copyleft 2011 Spurf CC BY-SH-NC. Some rights reserved.
//
#import <Cocoa/Cocoa.h>
#import<WebKit/WebKit.h>
#import "WRTStatusClient.h"
@interface DDWRT_MonitorAppDelegate : NSObject <NSApplicationDelegate> {
IBOutlet NSMenu *AppMenu;
IBOutlet NSPanel *ConfigPanel;
IBOutlet NSPanel *BandwidthViewer;
IBOutlet WebView* BandwidthViewerWebView;
IBOutlet id configFieldHostname;
IBOutlet NSMatrix *configFieldProtocol;
IBOutlet NSButtonCell *configFieldProtocolHTTP;
IBOutlet NSButtonCell *configFieldProtocolHTTPS;
IBOutlet id configFieldPort;
IBOutlet id configFieldRefresh;
IBOutlet id configLabelRefresh;
IBOutlet id configFieldUseBytes;
IBOutlet id configFieldShowIcon;
IBOutlet id configLabelStatus;
IBOutlet NSProgressIndicator *configStateStatus;
IBOutlet id configButtonSave;
IBOutlet id menuUptime;
IBOutlet id menuLoad;
IBOutlet id menuWanIP;
IBOutlet id menuWanStatus;
IBOutlet id menuWanUptime;
IBOutlet id menuWanTrafficIn;
IBOutlet id menuWanTrafficOut;
IBOutlet id menuWanSeparator;
IBOutlet id menuWanDNS;
IBOutlet id menuWanDNSItem0;
IBOutlet id menuWanDNSItem1;
IBOutlet id menuWanDNSItem2;
IBOutlet id menuWanBandwidthGraph;
IBOutlet id menuClients;
IBOutlet id menuClientsCount;
IBOutlet id menuClientsConnections;
IBOutlet id menuClientsSeparator;
NSUserDefaults *defaults;
// application prefs:
NSString *hostname;
NSString *protocol;
uint16_t port;
NSString *username;
NSString *password;
uint16_t refreshTime;
BOOL useBytes;
BOOL showMenuIcon;
// end app prefs
NSStatusItem *_appMenu;
WRTStatusClient *wrt_update_client;
WRTStatusClient *wrt_request_client;
NSTimer *_updateTimer;
NSDate *_lastDateThroughput;
uint64_t _lastInThroughput;
uint64_t _lastOutThroughput;
@private
uint8_t _statusDataRequestNumber;
NSString *_statusStringData;
}
# pragma mark Application Delegates:
- (void) terminate:(id)sender;
- (void) initialize;
- (void) deinitialize;
# pragma mark Menu Methods:
- (void) showMenubar;
- (void) hideMenubar;
- (void) showMenubarIcon:(BOOL)enabled;
- (void) hideMenubarIcon;
- (void) setMenubarText:(NSString *)menubarText;
# pragma mark Configs Methods:
- (void) initDefaults;
- (void) readDefaults;
- (void) writeDefaults;
- (IBAction) showConfigPanel:(id)sender;
- (IBAction) hideConfigPanel:(id)sender;
- (IBAction) setConfigProtocol:(id)sender;
- (IBAction) setConfigRefresh:(id)sender;
- (IBAction) saveConfig:(id)sender;
# pragma mark Request Handlers:
- (void) cbUpdateStatus;
- (void) getThroughput:(NSTimer *)timer;
- (void) cbThroughput:(NSData *)data;
- (void) getRouterData:(NSData *)data;
# pragma mark Menu Handlers:
- (IBAction) refreshMenu:(id)sender;
- (void) populateMenuMain;
- (void) populateMenuWan;
- (void) populateMenuClients;
- (NSMenu *) createCopyMenuItem;
# pragma mark Utilities:
- (IBAction) copyParentMenuTitle:(id)sender;
- (NSString *) stringFromSize:(uint64_t)theBytes;
- (NSString *) stringFromSpeed:(uint64_t)theBytes;
@end