|
|
1.1 root 1: #import "SCSIInspector.h"
2: #import "configKeys.h"
3:
4: #define MYNAME "AMDInspector"
5: #define NIB_TYPE "nib"
6:
7: @implementation AMDInspector
8:
9: /*
10: * Find and load our nib, put a localized title atop the connector
11: * box, and init buttons.
12: */
13: - init
14: {
15: char buffer[MAXPATHLEN];
16: NXBundle *myBundle = [NXBundle bundleForClass:[self class]];
17:
18: [super init];
19:
20: if (![myBundle getPath:buffer forResource:MYNAME ofType:NIB_TYPE]) {
21: [self free];
22: return nil;
23: }
24: if (![NXApp loadNibFile:buffer owner:self withNames:NO]) {
25: [self free];
26: return nil;
27: }
28: return self;
29: }
30:
31: /*
32: * Get current values of the buttons from the existing
33: * config table. If the current table has no entry for specified
34: * key, the associated button will be disabled.
35: */
36:
37: - (void)_initButton : button key : (const char *)key
38: {
39: const char *value;
40: int ival;
41:
42: value = [table valueForStringKey:key];
43: if(value == NULL) {
44: [button setState:0];
45: [button setEnabled:0];
46: return;
47: }
48: else if(strcmp(value, "YES") == 0) {
49: ival = 1;
50: }
51: else {
52: ival = 0;
53: }
54: [button setState:ival];
55: }
56:
57: - setTable:(NXStringTable *)instance
58: {
59:
60: [super setTable:instance];
61: [self setAccessoryView:boundingBox];
62: [self _initButton:syncButton key:SYNC_ENABLE];
63: [self _initButton:fastButton key:FAST_ENABLE];
64: [self _initButton:cmdQueueButton key:CMD_QUEUE_ENABLE];
65: return self;
66: }
67:
68:
69: - sync:sender
70: {
71: int syncEnable;
72: char *str;
73:
74: syncEnable = [sender state];
75: if(syncEnable) {
76: str = "YES";
77: }
78: else {
79: str = "NO";
80: }
81: [table insertKey:SYNC_ENABLE value:str];
82: return self;
83: }
84:
85: - fast:sender
86: {
87: int fastEnable;
88: char *str;
89:
90: fastEnable = [sender state];
91: if(fastEnable) {
92: str = "YES";
93: }
94: else {
95: str = "NO";
96: }
97: [table insertKey:FAST_ENABLE value:str];
98: return self;
99: }
100:
101: - cmdQueue:sender
102: {
103: int cmdQueueEnable;
104: char *str;
105:
106: cmdQueueEnable = [sender state];
107: if(cmdQueueEnable) {
108: str = "YES";
109: }
110: else {
111: str = "NO";
112: }
113: [table insertKey:CMD_QUEUE_ENABLE value:str];
114: return self;
115: }
116:
117: @end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.