1
0
Fork 0

More small fixes

master
Matthieu Lalonde 14 years ago
parent d3f915740d
commit 140c7a6bdd

@ -117,14 +117,14 @@
- (IBAction) refreshWanMenu:(id)sender; - (IBAction) refreshWanMenu:(id)sender;
- (void) wanRequestCallback:(NSData *)data; - (void) wanRequestCallback:(NSData *)data;
- (IBAction) refreshClientsMenu:(id)sender; - (IBAction) refreshClientsMenu:(id)sender;
- (void) cbClientsRequest:(NSData*)data; - (void) cbClientsRequest:(NSData *)data;
- (void) saveConfig:(id)sender; - (void) saveConfig:(id)sender;
- (void) updateThroughput:(NSTimer*)timer; - (void) updateThroughput:(NSTimer *)timer;
- (void) throughputCallback:(NSData *)data; - (void) throughputCallback:(NSData *)data;
- (void) doUpdateStatus:(NSData *)data; - (void) doUpdateStatus:(NSData *)data;
- (NSMenu*) createCopyMenuItem; - (NSMenu *) createCopyMenuItem;
- (IBAction) copyParentMenuTitle:(id)sender; - (IBAction) copyParentMenuTitle:(id)sender;
- (NSString *) stringFromSize:(uint64_t)theBytes; - (NSString *) stringFromSize:(uint64_t)theBytes;
- (NSString *) stringFromSpeed:(uint64_t)theBytes; - (NSString *) stringFromSpeed:(uint64_t)theBytes;

@ -24,8 +24,7 @@
defaults = [NSUserDefaults standardUserDefaults]; defaults = [NSUserDefaults standardUserDefaults];
// check if the app is configured yet // check if the app is configured yet
if (![defaults boolForKey:@"configured"]) if (![defaults boolForKey:@"configured"]) {
{
[self initDefaults]; [self initDefaults];
} else { } else {
[self initialize]; [self initialize];
@ -41,10 +40,7 @@
wrt_client = [[WRTStatusClient alloc] initWithHostname:hostname port:port protocol:protocol username:username password:password]; wrt_client = [[WRTStatusClient alloc] initWithHostname:hostname port:port protocol:protocol username:username password:password];
[wrt_client getConnectionStatus]; [wrt_client getConnectionStatus];
NSLog(@"Status %@ wan port: %@", ([wrt_client wrtReachable] ? @"Up" : @"Down"), [wrt_client getWanPort]); [self updateThroughput:nil];
_readTimer = [NSTimer scheduledTimerWithTimeInterval:refreshTime+1 target:self selector:@selector(updateThroughput:) userInfo:nil repeats:YES];
[_readTimer fire];
} }
- (void) deinitialize - (void) deinitialize
@ -333,9 +329,9 @@
[self hideConfigPanel:nil]; [self hideConfigPanel:nil];
} }
- (void) updateThroughput:(NSTimer*)timer - (void) updateThroughput:(NSTimer *)timer
{ {
NSLog(@"Status %@ wan port: %@", ([wrt_client wrtReachable] ? @"Up" : @"Down"), [wrt_client getWanPort]); //NSLog(@"Status %@ wan port: %@", ([wrt_client wrtReachable] ? @"Up" : @"Down"), [wrt_client getWanPort]);
if ([wrt_client wrtReachable] == true && _wrtReachable == false) { if ([wrt_client wrtReachable] == true && _wrtReachable == false) {
_wrtReachable = true; _wrtReachable = true;
if (showMenuIcon == true) { if (showMenuIcon == true) {
@ -351,41 +347,49 @@
if (_wrtReachable == true) { if (_wrtReachable == true) {
[wrt_client getStatusUpdate:[NSString stringWithFormat:@"fetchif.cgi?%@", [wrt_client getWanPort]] delegate:self callback:@selector(throughputCallback:)]; [wrt_client getStatusUpdate:[NSString stringWithFormat:@"fetchif.cgi?%@", [wrt_client getWanPort]] delegate:self callback:@selector(throughputCallback:)];
} }
if (_readTimer == nil) {
_readTimer = [NSTimer scheduledTimerWithTimeInterval:refreshTime+1 target:self selector:@selector(updateThroughput:) userInfo:nil repeats:YES];
[_readTimer fire];
}
} }
- (void) throughputCallback:(NSData *)data - (void) throughputCallback:(NSData *)data
{ {
NSString *stringData = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; NSString *stringData = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
NSString *key = [NSString stringWithFormat:@"%@:", [wrt_client getWanPort]]; NSString *key = [NSString stringWithFormat:@"%@:", [wrt_client getWanPort]];
stringData = [stringData substringFromIndex:([stringData rangeOfString:key].location + [key length])]; stringData = [stringData substringFromIndex:([stringData rangeOfString:key].location + [key length])];
NSArray *parts = [stringData componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; NSArray *parts = [stringData componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSArray *filteredArray = [parts filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"SELF != ''"]]; NSArray *filteredArray = [parts filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"SELF != ''"]];
stringData = [filteredArray componentsJoinedByString:@" "]; stringData = [filteredArray componentsJoinedByString:@" "];
NSArray *listItems = [stringData componentsSeparatedByString:@" "]; NSArray *listItems = [stringData componentsSeparatedByString:@" "];
uint64_t ifIn = strtoull([[listItems objectAtIndex:0] UTF8String], NULL, 0); uint64_t ifIn = strtoull([[listItems objectAtIndex:0] UTF8String], NULL, 0);
uint64_t ifOut = strtoull([[listItems objectAtIndex:8] UTF8String], NULL, 0); uint64_t ifOut = strtoull([[listItems objectAtIndex:8] UTF8String], NULL, 0);
if (_lastInThroughput != 0) { if (_lastInThroughput != 0) {
uint64_t diffIn = ifIn - _lastInThroughput; uint64_t diffIn = ifIn - _lastInThroughput;
uint64_t diffOut = ifOut - _lastOutThroughput; uint64_t diffOut = ifOut - _lastOutThroughput;
double timeDiff = fabs([_lastDateThroughput timeIntervalSinceNow]); double timeDiff = fabs([_lastDateThroughput timeIntervalSinceNow]);
_lastDateThroughput = [[NSDate date] retain]; _lastDateThroughput = [[NSDate date] retain];
if (timeDiff <= 0) timeDiff = 1; // avoid division by zero
if (timeDiff <= 0)
timeDiff = 1; // avoid division by zero
double speedIn = diffIn / timeDiff; double speedIn = diffIn / timeDiff;
double speedOut = diffOut / timeDiff; double speedOut = diffOut / timeDiff;
speedIn = round(2.2f * speedIn) / 2.2f; speedIn = round(2.2f * speedIn) / 2.2f;
speedOut = round(2.2f * speedOut) / 2.2f; speedOut = round(2.2f * speedOut) / 2.2f;
[ self setMenubarText:[NSString stringWithFormat:@"%@s\n%@s", [self stringFromSpeed:speedOut], [self stringFromSpeed:speedIn]] ]; [ self setMenubarText:[NSString stringWithFormat:@"%@s\n%@s", [self stringFromSpeed:speedOut], [self stringFromSpeed:speedIn]] ];
NSLog(@"In %llu Out %llu Last In %llu Last Out %llu diffIn %llu diffOut %llu In %f Out %f Interval %f", ifIn, ifOut, _lastInThroughput, //NSLog(@"In %llu Out %llu Last In %llu Last Out %llu diffIn %llu diffOut %llu In %f Out %f Interval %f", ifIn, ifOut, _lastInThroughput,
_lastOutThroughput, diffIn, diffOut, speedIn, speedOut, timeDiff); // _lastOutThroughput, diffIn, diffOut, speedIn, speedOut, timeDiff);
} }
_lastInThroughput = ifIn; _lastInThroughput = ifIn;
@ -398,16 +402,17 @@
NSString *stringData = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; NSString *stringData = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
NSString *ipconn = [wrt_client getKey:stringData key:@"ip_conntrack"]; NSString *ipconn = [wrt_client getKey:stringData key:@"ip_conntrack"];
[menuClientsConnections setTitle:[NSString stringWithFormat:@"%@ Connection%@", ipconn, ([ipconn isEqualToString:@"1"] ? @"" : @"s")]]; [menuClientsConnections setTitle:[NSString stringWithFormat:@"%@ Connection%@", ipconn, ([ipconn isEqualToString:@"1"] ? @"" : @"s")]];
NSString *wanip = [wrt_client getKey:stringData key:@"ipinfo"]; NSString *wanip = [wrt_client getKey:stringData key:@"ipinfo"];
NSRange startRange = [wanip rangeOfString:@" "]; NSRange startRange = [wanip rangeOfString:@" "];
wanip = [wanip substringFromIndex:(startRange.location+1)]; wanip = [wanip substringFromIndex:(startRange.location+1)];
[menuWanIP setTitle:wanip]; [menuWanIP setTitle:wanip];
NSString *uptime = [wrt_client getKey:stringData key:@"uptime"]; NSString *uptime = [wrt_client getKey:stringData key:@"uptime"];
NSString *loadSplit = @", load average: "; NSString *loadSplit = @", load average: ";
if ([uptime length] > 0) { if ([uptime length] > 0) {
NSString *load = [uptime substringFromIndex:[uptime rangeOfString:loadSplit].location+[loadSplit length]]; NSString *load = [uptime substringFromIndex:[uptime rangeOfString:loadSplit].location+[loadSplit length]];
uptime = [uptime substringToIndex:[uptime rangeOfString:@", load"].location]; // Cut the load uptime = [uptime substringToIndex:[uptime rangeOfString:@", load"].location]; // Cut the load
@ -441,8 +446,8 @@
memInfo = [filteredArray componentsJoinedByString:@""]; memInfo = [filteredArray componentsJoinedByString:@""];
NSArray *memData = [memInfo componentsSeparatedByString:@","]; NSArray *memData = [memInfo componentsSeparatedByString:@","];
unint32_t memTotal = strtoull([[memData objectAtIndex:17] UTF8String], NULL, 0); unint32_t memTotal = strtoull([[memData objectAtIndex:17] UTF8String], NULL, 0);
unint32_t memFree = strtoull([[memData objectAtIndex:21] UTF8String], NULL, 0); unint32_t memFree = strtoull([[memData objectAtIndex:21] UTF8String], NULL, 0);
*/ */
} }
@ -476,17 +481,17 @@
NSString *stringData = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; NSString *stringData = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
NSString *wanStatus = [wrt_client getKey:stringData key:@"wan_status"]; NSString *wanStatus = [wrt_client getKey:stringData key:@"wan_status"];
NSString *wanName = [wrt_client getKey:stringData key:@"wan_shortproto"]; NSString *wanName = [wrt_client getKey:stringData key:@"wan_shortproto"];
if ([wanName isEqualToString:@"pppoe"] == true) { if ([wanName isEqualToString:@"pppoe"] == true) {
wanName = @"PPPoE"; wanName = @"PPPoE";
} else if ([wanName isEqualToString:@"static"] == true) { } else if ([wanName isEqualToString:@"static"] == true) {
wanName = @"Static"; wanName = @"Static";
} else { } else {
wanName = [wanName uppercaseString]; wanName = [wanName uppercaseString];
} }
wanStatus = [wanStatus substringToIndex:[wanStatus rangeOfString:@"&"].location]; wanStatus = [wanStatus substringToIndex:[wanStatus rangeOfString:@"&"].location];
[menuWanStatus setTitle:[NSString stringWithFormat:@"%@ %@", wanName, wanStatus]]; [menuWanStatus setTitle:[NSString stringWithFormat:@"%@ %@", wanName, wanStatus]];
/* /*
@ -495,7 +500,7 @@
} }
*/ */
NSString *wanUptime = [wrt_client getKey:stringData key:@"wan_uptime"]; NSString *wanUptime = [wrt_client getKey:stringData key:@"wan_uptime"];
if ([wanStatus isEqualToString:@"Connected"] == true) { if ([wanStatus isEqualToString:@"Connected"] == true) {
[menuWanUptime setTitle:wanUptime]; [menuWanUptime setTitle:wanUptime];
[menuWanUptime setHidden:false]; [menuWanUptime setHidden:false];
@ -520,9 +525,9 @@
[menuWanTrafficIn setTitle:[NSString stringWithFormat:@"In: %@", trafficIn]]; [menuWanTrafficIn setTitle:[NSString stringWithFormat:@"In: %@", trafficIn]];
[menuWanTrafficOut setTitle:[NSString stringWithFormat:@"Out: %@", trafficOut]]; [menuWanTrafficOut setTitle:[NSString stringWithFormat:@"Out: %@", trafficOut]];
NSString *wanDNS0 = [wrt_client getKey:stringData key:@"wan_dns0"]; NSString *wanDNS0 = [wrt_client getKey:stringData key:@"wan_dns0"];
NSString *wanDNS1 = [wrt_client getKey:stringData key:@"wan_dns1"]; NSString *wanDNS1 = [wrt_client getKey:stringData key:@"wan_dns1"];
NSString *wanDNS2 = [wrt_client getKey:stringData key:@"wan_dns2"]; NSString *wanDNS2 = [wrt_client getKey:stringData key:@"wan_dns2"];
if ([wanDNS0 length] > 0) { if ([wanDNS0 length] > 0) {
[menuWanDNS setEnabled:true]; [menuWanDNS setEnabled:true];
@ -550,7 +555,7 @@
} }
- (void) cbClientsRequest:(NSData*)data - (void) cbClientsRequest:(NSData *)data
{ {
NSString * clientsStringData; NSString * clientsStringData;
@ -626,7 +631,7 @@
[_readTimer fire]; [_readTimer fire];
} }
- (NSMenu*) createCopyMenuItem - (NSMenu *) createCopyMenuItem
{ {
NSMenu *copyMenu = [[NSMenu alloc] init]; NSMenu *copyMenu = [[NSMenu alloc] init];
NSMenuItem *copyMenuItem = [[NSMenuItem alloc] initWithTitle:@"Copy" action:@selector(copyParentMenuTitle:) keyEquivalent:@""]; NSMenuItem *copyMenuItem = [[NSMenuItem alloc] initWithTitle:@"Copy" action:@selector(copyParentMenuTitle:) keyEquivalent:@""];
@ -666,32 +671,30 @@
- (NSString *) stringFromSpeed:(uint64_t)theBytes - (NSString *) stringFromSpeed:(uint64_t)theBytes
{ {
unsigned int minSize = /*(useBytes ? */1023/* : 999)*/;
unsigned int divSize = /*(useBytes ? */1024/* : 1000)*/;
NSString *suffix; NSString *suffix;
if (useBytes == false) { if (useBytes == false) {
theBytes *= 8; theBytes *= 8;
} }
double floatSize = theBytes; double floatSize = theBytes;
suffix = (useBytes ? @"B" : @"b"); suffix = (useBytes ? @"B" : @"b");
if (theBytes<minSize) if (theBytes<1023)
return([NSString stringWithFormat:@"%llu%@", theBytes, suffix]); return([NSString stringWithFormat:@"%llu%@", theBytes, suffix]);
floatSize = floatSize / divSize; floatSize = floatSize / 1024;
suffix = (useBytes ? @"KiB" : @"Kb"); suffix = (useBytes ? @"KiB" : @"Kb");
if (floatSize<minSize) if (floatSize<1023)
return([NSString stringWithFormat:@"%1.1f%@", floatSize, suffix]); return([NSString stringWithFormat:@"%1.1f%@", floatSize, suffix]);
floatSize = floatSize / divSize; floatSize = floatSize / 1024;
suffix = (useBytes ? @"MiB" : @"Mb"); suffix = (useBytes ? @"MiB" : @"Mb");
if (floatSize<minSize) if (floatSize<1023)
return([NSString stringWithFormat:@"%1.2f%@", floatSize, suffix]); return([NSString stringWithFormat:@"%1.2f%@", floatSize, suffix]);
floatSize = floatSize / divSize; floatSize = floatSize / 1024;
suffix = (useBytes ? @"GiB" : @"Gb"); suffix = (useBytes ? @"GiB" : @"Gb");
if (floatSize<minSize) if (floatSize<1023)
return([NSString stringWithFormat:@"%1.2f%@", floatSize, suffix]); return([NSString stringWithFormat:@"%1.2f%@", floatSize, suffix]);
floatSize = floatSize / divSize; floatSize = floatSize / 1024;
suffix = (useBytes ? @"TiB" : @"Tb"); suffix = (useBytes ? @"TiB" : @"Tb");
return([NSString stringWithFormat:@"%1.2f%@", floatSize, suffix]); return([NSString stringWithFormat:@"%1.2f%@", floatSize, suffix]);

@ -944,7 +944,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object> </object>
<object class="NSTextField" id="371817589"> <object class="NSTextField" id="371817589">
<reference key="NSNextResponder" ref="284387334"/> <reference key="NSNextResponder" ref="284387334"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">-2147483380</int>
<string key="NSFrame">{{156, 195}, {135, 17}}</string> <string key="NSFrame">{{156, 195}, {135, 17}}</string>
<reference key="NSSuperview" ref="284387334"/> <reference key="NSSuperview" ref="284387334"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>

@ -44,7 +44,7 @@
port, port,
uri]; uri];
NSLog(@"Building request form %@", urlAddress); //NSLog(@"Building request form %@", urlAddress);
NSURL *url = [NSURL URLWithString:urlAddress]; NSURL *url = [NSURL URLWithString:urlAddress];
@ -240,7 +240,7 @@
{ {
return YES; return YES;
} }
/*
-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge -(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{ {
NSLog(@"1"); NSLog(@"1");
@ -259,7 +259,7 @@
NSLog(@"Invalid Username or Password"); NSLog(@"Invalid Username or Password");
} }
} }
*/
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response -(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{ {
//NSLog(@"2"); //NSLog(@"2");
@ -273,7 +273,7 @@
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error -(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{ {
NSLog(@"4"); //NSLog(@"4");
//[connection release]; //[connection release];
//[receivedData release]; //[receivedData release];
//[theRequest release]; //[theRequest release];

Loading…
Cancel
Save