File: ScanResultsTableDataSource.cs

package info (click to toggle)
monodevelop 3.0.3.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 153,256 kB
  • sloc: cs: 1,020,242; xml: 751,053; makefile: 9,596; sh: 1,529; objc: 302; sql: 129; ansic: 96
file content (48 lines) | stat: -rw-r--r-- 1,491 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using System;
using MonoMac.Foundation;
namespace CoreWLANWirelessManager
{
	// Copyright Ashok Gelal (http://ashokgelal.com)
	
	partial class MainWindowController
	{
		private class ScanResultsTableDataSource : MonoMac.AppKit.NSTableViewDataSource
		{
			private MainWindowController MyController { get; set;}
			public ScanResultsTableDataSource (MainWindowController controller)
			{
				MyController = controller;
			}
			
			public override int GetRowCount (MonoMac.AppKit.NSTableView tableView)
			{
				return MyController == null ? 0 : MyController.ScanResults.Length;
			}
			
			public override MonoMac.Foundation.NSObject GetObjectValue (MonoMac.AppKit.NSTableView tableView, MonoMac.AppKit.NSTableColumn tableColumn, int row)
			{
				var valueKey = (NSString)tableColumn.Identifier.ToString ();
				var dataRow = MyController.ScanResults[row];
				
				switch (valueKey)
				{
					case "NETWORK_NAME":
						return (NSString)dataRow.Ssid;
					case "BSSID":
						return (NSString)dataRow.Bssid;
					case "CHANNEL":
						return (NSString)dataRow.Channel.StringValue;
					case "PHY_MODE":
						return (NSString)dataRow.PhyMode.StringValue;
					case "NETWORK_MODE":
						return (NSString)(dataRow.IsIBSS?"Yes":"No");
					case "RSSI":
						return (NSString)dataRow.Rssi.StringValue;
					case "SECURITY_MODE":
						return (NSString)dataRow.SecurityMode.StringValue;
				}
				throw new Exception(string.Format("Incorrect value requested '{0}'", valueKey));
			}
		}
	}
}