commit
e05de6706a
@ -0,0 +1,3 @@
|
|||||||
|
build
|
||||||
|
*~
|
||||||
|
.DS_Store
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,275 @@
|
|||||||
|
// !$*UTF8*$!
|
||||||
|
{
|
||||||
|
089C165DFE840E0CC02AAC07 /* English */ = {
|
||||||
|
uiCtxt = {
|
||||||
|
sepNavIntBoundsRect = "{{0, 0}, {609, 391}}";
|
||||||
|
sepNavSelRange = "{0, 0}";
|
||||||
|
sepNavVisRange = "{0, 45}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
256AC3D80F4B6AC300CF3369 /* DDWRT_MonitorAppDelegate.h */ = {
|
||||||
|
uiCtxt = {
|
||||||
|
sepNavIntBoundsRect = "{{0, 0}, {720, 832}}";
|
||||||
|
sepNavSelRange = "{1513, 0}";
|
||||||
|
sepNavVisRange = "{163, 460}";
|
||||||
|
sepNavWindowFrame = "{{61, 275}, {992, 808}}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
256AC3D90F4B6AC300CF3369 /* DDWRT_MonitorAppDelegate.m */ = {
|
||||||
|
uiCtxt = {
|
||||||
|
sepNavIntBoundsRect = "{{0, 0}, {1047, 1781}}";
|
||||||
|
sepNavSelRange = "{2886, 0}";
|
||||||
|
sepNavVisRange = "{1451, 910}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
256AC3F00F4B6AF500CF3369 /* DDWRT_Monitor_Prefix.pch */ = {
|
||||||
|
uiCtxt = {
|
||||||
|
sepNavIntBoundsRect = "{{0, 0}, {698, 391}}";
|
||||||
|
sepNavSelRange = "{0, 0}";
|
||||||
|
sepNavVisRange = "{0, 157}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||||
|
activeArchitecturePreference = x86_64;
|
||||||
|
activeBuildConfigurationName = Debug;
|
||||||
|
activeExecutable = F2CB88B8139017C000C2B7BC /* DDWRT-Monitor */;
|
||||||
|
activeTarget = 8D1107260486CEB800E47090 /* DDWRT-Monitor */;
|
||||||
|
addToTargets = (
|
||||||
|
8D1107260486CEB800E47090 /* DDWRT-Monitor */,
|
||||||
|
);
|
||||||
|
breakpoints = (
|
||||||
|
);
|
||||||
|
codeSenseManager = F2CB88CB139017C500C2B7BC /* Code sense */;
|
||||||
|
executables = (
|
||||||
|
F2CB88B8139017C000C2B7BC /* DDWRT-Monitor */,
|
||||||
|
);
|
||||||
|
perUserDictionary = {
|
||||||
|
"PBXConfiguration.PBXBreakpointsDataSource.v1:1CA1AED706398EBD00589147" = {
|
||||||
|
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||||
|
PBXFileTableDataSourceColumnSortingKey = PBXBreakpointsDataSource_BreakpointID;
|
||||||
|
PBXFileTableDataSourceColumnWidthsKey = (
|
||||||
|
20,
|
||||||
|
20,
|
||||||
|
198,
|
||||||
|
20,
|
||||||
|
99,
|
||||||
|
99,
|
||||||
|
29,
|
||||||
|
20,
|
||||||
|
);
|
||||||
|
PBXFileTableDataSourceColumnsKey = (
|
||||||
|
PBXBreakpointsDataSource_ActionID,
|
||||||
|
PBXBreakpointsDataSource_TypeID,
|
||||||
|
PBXBreakpointsDataSource_BreakpointID,
|
||||||
|
PBXBreakpointsDataSource_UseID,
|
||||||
|
PBXBreakpointsDataSource_LocationID,
|
||||||
|
PBXBreakpointsDataSource_ConditionID,
|
||||||
|
PBXBreakpointsDataSource_IgnoreCountID,
|
||||||
|
PBXBreakpointsDataSource_ContinueID,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
|
||||||
|
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||||
|
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||||
|
PBXFileTableDataSourceColumnWidthsKey = (
|
||||||
|
20,
|
||||||
|
944,
|
||||||
|
20,
|
||||||
|
48,
|
||||||
|
43,
|
||||||
|
43,
|
||||||
|
20,
|
||||||
|
);
|
||||||
|
PBXFileTableDataSourceColumnsKey = (
|
||||||
|
PBXFileDataSource_FiletypeID,
|
||||||
|
PBXFileDataSource_Filename_ColumnID,
|
||||||
|
PBXFileDataSource_Built_ColumnID,
|
||||||
|
PBXFileDataSource_ObjectSize_ColumnID,
|
||||||
|
PBXFileDataSource_Errors_ColumnID,
|
||||||
|
PBXFileDataSource_Warnings_ColumnID,
|
||||||
|
PBXFileDataSource_Target_ColumnID,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
|
||||||
|
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||||
|
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||||
|
PBXFileTableDataSourceColumnWidthsKey = (
|
||||||
|
20,
|
||||||
|
904,
|
||||||
|
60,
|
||||||
|
20,
|
||||||
|
48,
|
||||||
|
43,
|
||||||
|
43,
|
||||||
|
);
|
||||||
|
PBXFileTableDataSourceColumnsKey = (
|
||||||
|
PBXFileDataSource_FiletypeID,
|
||||||
|
PBXFileDataSource_Filename_ColumnID,
|
||||||
|
PBXTargetDataSource_PrimaryAttribute,
|
||||||
|
PBXFileDataSource_Built_ColumnID,
|
||||||
|
PBXFileDataSource_ObjectSize_ColumnID,
|
||||||
|
PBXFileDataSource_Errors_ColumnID,
|
||||||
|
PBXFileDataSource_Warnings_ColumnID,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
PBXPerProjectTemplateStateSaveDate = 328231609;
|
||||||
|
PBXWorkspaceStateSaveDate = 328231609;
|
||||||
|
};
|
||||||
|
perUserProjectItems = {
|
||||||
|
F2511F2C139148970053990C /* PBXTextBookmark */ = F2511F2C139148970053990C /* PBXTextBookmark */;
|
||||||
|
F2511F6413914A6B0053990C /* PBXTextBookmark */ = F2511F6413914A6B0053990C /* PBXTextBookmark */;
|
||||||
|
F2511F8513914C350053990C /* PBXTextBookmark */ = F2511F8513914C350053990C /* PBXTextBookmark */;
|
||||||
|
F251207E13915EF40053990C /* PBXBookmark */ = F251207E13915EF40053990C /* PBXBookmark */;
|
||||||
|
F25120AD13918DE50053990C /* PBXBookmark */ = F25120AD13918DE50053990C /* PBXBookmark */;
|
||||||
|
F25120AE13918DE50053990C /* PlistBookmark */ = F25120AE13918DE50053990C /* PlistBookmark */;
|
||||||
|
F25121AB1392B72E0053990C /* PBXTextBookmark */ = F25121AB1392B72E0053990C /* PBXTextBookmark */;
|
||||||
|
F25121AC1392B72E0053990C /* PBXTextBookmark */ = F25121AC1392B72E0053990C /* PBXTextBookmark */;
|
||||||
|
F25121B21392D0610053990C /* PBXTextBookmark */ = F25121B21392D0610053990C /* PBXTextBookmark */;
|
||||||
|
};
|
||||||
|
sourceControlManager = F2CB88CA139017C500C2B7BC /* Source Control */;
|
||||||
|
userBuildSettings = {
|
||||||
|
};
|
||||||
|
};
|
||||||
|
29B97316FDCFA39411CA2CEA /* main.m */ = {
|
||||||
|
uiCtxt = {
|
||||||
|
sepNavIntBoundsRect = "{{0, 0}, {609, 391}}";
|
||||||
|
sepNavSelRange = "{264, 0}";
|
||||||
|
sepNavVisRange = "{0, 264}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
8D1107260486CEB800E47090 /* DDWRT-Monitor */ = {
|
||||||
|
activeExec = 0;
|
||||||
|
executables = (
|
||||||
|
F2CB88B8139017C000C2B7BC /* DDWRT-Monitor */,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
F2511F2C139148970053990C /* PBXTextBookmark */ = {
|
||||||
|
isa = PBXTextBookmark;
|
||||||
|
fRef = 089C165DFE840E0CC02AAC07 /* English */;
|
||||||
|
name = "InfoPlist.strings: 1";
|
||||||
|
rLen = 0;
|
||||||
|
rLoc = 0;
|
||||||
|
rType = 0;
|
||||||
|
vrLen = 45;
|
||||||
|
vrLoc = 0;
|
||||||
|
};
|
||||||
|
F2511F5B13914A120053990C /* MenuIcon.png */ = {
|
||||||
|
uiCtxt = {
|
||||||
|
sepNavWindowFrame = "{{15, 317}, {992, 808}}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
F2511F6413914A6B0053990C /* PBXTextBookmark */ = {
|
||||||
|
isa = PBXTextBookmark;
|
||||||
|
fRef = 29B97316FDCFA39411CA2CEA /* main.m */;
|
||||||
|
name = "main.m: 15";
|
||||||
|
rLen = 0;
|
||||||
|
rLoc = 264;
|
||||||
|
rType = 0;
|
||||||
|
vrLen = 264;
|
||||||
|
vrLoc = 0;
|
||||||
|
};
|
||||||
|
F2511F8513914C350053990C /* PBXTextBookmark */ = {
|
||||||
|
isa = PBXTextBookmark;
|
||||||
|
fRef = 256AC3F00F4B6AF500CF3369 /* DDWRT_Monitor_Prefix.pch */;
|
||||||
|
name = "DDWRT_Monitor_Prefix.pch: 1";
|
||||||
|
rLen = 0;
|
||||||
|
rLoc = 0;
|
||||||
|
rType = 0;
|
||||||
|
vrLen = 157;
|
||||||
|
vrLoc = 0;
|
||||||
|
};
|
||||||
|
F251207E13915EF40053990C /* PBXBookmark */ = {
|
||||||
|
isa = PBXBookmark;
|
||||||
|
fRef = F2511F5B13914A120053990C /* MenuIcon.png */;
|
||||||
|
};
|
||||||
|
F25120AD13918DE50053990C /* PBXBookmark */ = {
|
||||||
|
isa = PBXBookmark;
|
||||||
|
fRef = F25120A113918CD10053990C /* AppIcon.icns */;
|
||||||
|
};
|
||||||
|
F25120AE13918DE50053990C /* PlistBookmark */ = {
|
||||||
|
isa = PlistBookmark;
|
||||||
|
fRef = 8D1107310486CEB800E47090 /* DDWRT_Monitor-Info.plist */;
|
||||||
|
fallbackIsa = PBXBookmark;
|
||||||
|
isK = 0;
|
||||||
|
kPath = (
|
||||||
|
NSPrincipalClass,
|
||||||
|
);
|
||||||
|
name = "/Users/mlalonde/Documents/DDWRT-Monitor/DDWRT_Monitor-Info.plist";
|
||||||
|
rLen = 0;
|
||||||
|
rLoc = 9223372036854775807;
|
||||||
|
};
|
||||||
|
F25121AB1392B72E0053990C /* PBXTextBookmark */ = {
|
||||||
|
isa = PBXTextBookmark;
|
||||||
|
fRef = 256AC3D90F4B6AC300CF3369 /* DDWRT_MonitorAppDelegate.m */;
|
||||||
|
name = "DDWRT_MonitorAppDelegate.m: 115";
|
||||||
|
rLen = 0;
|
||||||
|
rLoc = 2417;
|
||||||
|
rType = 0;
|
||||||
|
vrLen = 562;
|
||||||
|
vrLoc = 2192;
|
||||||
|
};
|
||||||
|
F25121AC1392B72E0053990C /* PBXTextBookmark */ = {
|
||||||
|
isa = PBXTextBookmark;
|
||||||
|
fRef = 256AC3D80F4B6AC300CF3369 /* DDWRT_MonitorAppDelegate.h */;
|
||||||
|
name = "DDWRT_MonitorAppDelegate.h: 41";
|
||||||
|
rLen = 292;
|
||||||
|
rLoc = 1088;
|
||||||
|
rType = 0;
|
||||||
|
vrLen = 1064;
|
||||||
|
vrLoc = 100;
|
||||||
|
};
|
||||||
|
F25121B21392D0610053990C /* PBXTextBookmark */ = {
|
||||||
|
isa = PBXTextBookmark;
|
||||||
|
fRef = 256AC3D80F4B6AC300CF3369 /* DDWRT_MonitorAppDelegate.h */;
|
||||||
|
name = "DDWRT_MonitorAppDelegate.h: 46";
|
||||||
|
rLen = 0;
|
||||||
|
rLoc = 1215;
|
||||||
|
rType = 0;
|
||||||
|
vrLen = 1063;
|
||||||
|
vrLoc = 0;
|
||||||
|
};
|
||||||
|
F2CB88B8139017C000C2B7BC /* DDWRT-Monitor */ = {
|
||||||
|
isa = PBXExecutable;
|
||||||
|
activeArgIndices = (
|
||||||
|
);
|
||||||
|
argumentStrings = (
|
||||||
|
);
|
||||||
|
autoAttachOnCrash = 1;
|
||||||
|
breakpointsEnabled = 0;
|
||||||
|
configStateDict = {
|
||||||
|
};
|
||||||
|
customDataFormattersEnabled = 1;
|
||||||
|
dataTipCustomDataFormattersEnabled = 1;
|
||||||
|
dataTipShowTypeColumn = 1;
|
||||||
|
dataTipSortType = 0;
|
||||||
|
debuggerPlugin = GDBDebugging;
|
||||||
|
disassemblyDisplayState = 0;
|
||||||
|
dylibVariantSuffix = "";
|
||||||
|
enableDebugStr = 1;
|
||||||
|
environmentEntries = (
|
||||||
|
);
|
||||||
|
executableSystemSymbolLevel = 0;
|
||||||
|
executableUserSymbolLevel = 0;
|
||||||
|
libgmallocEnabled = 0;
|
||||||
|
name = "DDWRT-Monitor";
|
||||||
|
savedGlobals = {
|
||||||
|
};
|
||||||
|
showTypeColumn = 0;
|
||||||
|
sourceDirectories = (
|
||||||
|
);
|
||||||
|
};
|
||||||
|
F2CB88CA139017C500C2B7BC /* Source Control */ = {
|
||||||
|
isa = PBXSourceControlManager;
|
||||||
|
fallbackIsa = XCSourceControlManager;
|
||||||
|
isSCMEnabled = 0;
|
||||||
|
scmConfiguration = {
|
||||||
|
repositoryNamesForRoots = {
|
||||||
|
"" = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
F2CB88CB139017C500C2B7BC /* Code sense */ = {
|
||||||
|
isa = PBXCodeSenseManager;
|
||||||
|
indexTemplatePath = "";
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,318 @@
|
|||||||
|
// !$*UTF8*$!
|
||||||
|
{
|
||||||
|
archiveVersion = 1;
|
||||||
|
classes = {
|
||||||
|
};
|
||||||
|
objectVersion = 45;
|
||||||
|
objects = {
|
||||||
|
|
||||||
|
/* Begin PBXBuildFile section */
|
||||||
|
1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };
|
||||||
|
256AC3DA0F4B6AC300CF3369 /* DDWRT_MonitorAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* DDWRT_MonitorAppDelegate.m */; };
|
||||||
|
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
|
||||||
|
8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
|
||||||
|
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
|
||||||
|
96DEDE2A139486BB00EF8526 /* WRTStatusClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 96DEDE29139486BB00EF8526 /* WRTStatusClient.m */; };
|
||||||
|
F215851013930D1700853C55 /* WRTRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = F215850F13930D1700853C55 /* WRTRequest.m */; };
|
||||||
|
F215851213931CF000853C55 /* MenuIconDisabled.png in Resources */ = {isa = PBXBuildFile; fileRef = F215851113931CF000853C55 /* MenuIconDisabled.png */; };
|
||||||
|
F2511F5C13914A120053990C /* MenuIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = F2511F5B13914A120053990C /* MenuIcon.png */; };
|
||||||
|
F2511FFB1391543E0053990C /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F2511FFA1391543E0053990C /* WebKit.framework */; };
|
||||||
|
F25120A213918CD10053990C /* AppIcon.icns in Resources */ = {isa = PBXBuildFile; fileRef = F25120A113918CD10053990C /* AppIcon.icns */; };
|
||||||
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
|
/* Begin PBXFileReference section */
|
||||||
|
089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||||
|
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
|
||||||
|
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
|
||||||
|
1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||||
|
256AC3D80F4B6AC300CF3369 /* DDWRT_MonitorAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDWRT_MonitorAppDelegate.h; sourceTree = "<group>"; };
|
||||||
|
256AC3D90F4B6AC300CF3369 /* DDWRT_MonitorAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDWRT_MonitorAppDelegate.m; sourceTree = "<group>"; };
|
||||||
|
256AC3F00F4B6AF500CF3369 /* DDWRT_Monitor_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDWRT_Monitor_Prefix.pch; sourceTree = "<group>"; };
|
||||||
|
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||||
|
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
||||||
|
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||||
|
8D1107310486CEB800E47090 /* DDWRT_Monitor-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "DDWRT_Monitor-Info.plist"; sourceTree = "<group>"; };
|
||||||
|
8D1107320486CEB800E47090 /* DDWRT-Monitor.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DDWRT-Monitor.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
96DEDE28139486BB00EF8526 /* WRTStatusClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WRTStatusClient.h; sourceTree = "<group>"; };
|
||||||
|
96DEDE29139486BB00EF8526 /* WRTStatusClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WRTStatusClient.m; sourceTree = "<group>"; };
|
||||||
|
F215850E13930D1700853C55 /* WRTRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WRTRequest.h; sourceTree = "<group>"; };
|
||||||
|
F215850F13930D1700853C55 /* WRTRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WRTRequest.m; sourceTree = "<group>"; };
|
||||||
|
F215851113931CF000853C55 /* MenuIconDisabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = MenuIconDisabled.png; sourceTree = "<group>"; };
|
||||||
|
F2511F5B13914A120053990C /* MenuIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = MenuIcon.png; sourceTree = "<group>"; };
|
||||||
|
F2511FFA1391543E0053990C /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
|
||||||
|
F25120A113918CD10053990C /* AppIcon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = AppIcon.icns; sourceTree = "<group>"; };
|
||||||
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
8D11072E0486CEB800E47090 /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
|
||||||
|
F2511FFB1391543E0053990C /* WebKit.framework in Frameworks */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXGroup section */
|
||||||
|
080E96DDFE201D6D7F000001 /* Classes */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
256AC3D80F4B6AC300CF3369 /* DDWRT_MonitorAppDelegate.h */,
|
||||||
|
256AC3D90F4B6AC300CF3369 /* DDWRT_MonitorAppDelegate.m */,
|
||||||
|
96DEDE28139486BB00EF8526 /* WRTStatusClient.h */,
|
||||||
|
96DEDE29139486BB00EF8526 /* WRTStatusClient.m */,
|
||||||
|
F215850E13930D1700853C55 /* WRTRequest.h */,
|
||||||
|
F215850F13930D1700853C55 /* WRTRequest.m */,
|
||||||
|
);
|
||||||
|
name = Classes;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
|
||||||
|
);
|
||||||
|
name = "Linked Frameworks";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
29B97324FDCFA39411CA2CEA /* AppKit.framework */,
|
||||||
|
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,
|
||||||
|
29B97325FDCFA39411CA2CEA /* Foundation.framework */,
|
||||||
|
);
|
||||||
|
name = "Other Frameworks";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
19C28FACFE9D520D11CA2CBB /* Products */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
8D1107320486CEB800E47090 /* DDWRT-Monitor.app */,
|
||||||
|
);
|
||||||
|
name = Products;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
29B97314FDCFA39411CA2CEA /* DDWRT-Monitor */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
080E96DDFE201D6D7F000001 /* Classes */,
|
||||||
|
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
||||||
|
29B97317FDCFA39411CA2CEA /* Resources */,
|
||||||
|
29B97323FDCFA39411CA2CEA /* Frameworks */,
|
||||||
|
19C28FACFE9D520D11CA2CBB /* Products */,
|
||||||
|
);
|
||||||
|
name = "DDWRT-Monitor";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
256AC3F00F4B6AF500CF3369 /* DDWRT_Monitor_Prefix.pch */,
|
||||||
|
29B97316FDCFA39411CA2CEA /* main.m */,
|
||||||
|
);
|
||||||
|
name = "Other Sources";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
F215851113931CF000853C55 /* MenuIconDisabled.png */,
|
||||||
|
F25120A113918CD10053990C /* AppIcon.icns */,
|
||||||
|
F2511F5B13914A120053990C /* MenuIcon.png */,
|
||||||
|
8D1107310486CEB800E47090 /* DDWRT_Monitor-Info.plist */,
|
||||||
|
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
|
||||||
|
1DDD58140DA1D0A300B32029 /* MainMenu.xib */,
|
||||||
|
);
|
||||||
|
name = Resources;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
|
||||||
|
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
|
||||||
|
F2511FFA1391543E0053990C /* WebKit.framework */,
|
||||||
|
);
|
||||||
|
name = Frameworks;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
/* End PBXGroup section */
|
||||||
|
|
||||||
|
/* Begin PBXNativeTarget section */
|
||||||
|
8D1107260486CEB800E47090 /* DDWRT-Monitor */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "DDWRT-Monitor" */;
|
||||||
|
buildPhases = (
|
||||||
|
8D1107290486CEB800E47090 /* Resources */,
|
||||||
|
8D11072C0486CEB800E47090 /* Sources */,
|
||||||
|
8D11072E0486CEB800E47090 /* Frameworks */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = "DDWRT-Monitor";
|
||||||
|
productInstallPath = "$(HOME)/Applications";
|
||||||
|
productName = "DDWRT-Monitor";
|
||||||
|
productReference = 8D1107320486CEB800E47090 /* DDWRT-Monitor.app */;
|
||||||
|
productType = "com.apple.product-type.application";
|
||||||
|
};
|
||||||
|
/* End PBXNativeTarget section */
|
||||||
|
|
||||||
|
/* Begin PBXProject section */
|
||||||
|
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||||
|
isa = PBXProject;
|
||||||
|
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "DDWRT-Monitor" */;
|
||||||
|
compatibilityVersion = "Xcode 3.1";
|
||||||
|
developmentRegion = English;
|
||||||
|
hasScannedForEncodings = 1;
|
||||||
|
knownRegions = (
|
||||||
|
English,
|
||||||
|
Japanese,
|
||||||
|
French,
|
||||||
|
German,
|
||||||
|
en,
|
||||||
|
);
|
||||||
|
mainGroup = 29B97314FDCFA39411CA2CEA /* DDWRT-Monitor */;
|
||||||
|
projectDirPath = "";
|
||||||
|
projectRoot = "";
|
||||||
|
targets = (
|
||||||
|
8D1107260486CEB800E47090 /* DDWRT-Monitor */,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
/* End PBXProject section */
|
||||||
|
|
||||||
|
/* Begin PBXResourcesBuildPhase section */
|
||||||
|
8D1107290486CEB800E47090 /* Resources */ = {
|
||||||
|
isa = PBXResourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
|
||||||
|
1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,
|
||||||
|
F2511F5C13914A120053990C /* MenuIcon.png in Resources */,
|
||||||
|
F25120A213918CD10053990C /* AppIcon.icns in Resources */,
|
||||||
|
F215851213931CF000853C55 /* MenuIconDisabled.png in Resources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
|
8D11072C0486CEB800E47090 /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
8D11072D0486CEB800E47090 /* main.m in Sources */,
|
||||||
|
256AC3DA0F4B6AC300CF3369 /* DDWRT_MonitorAppDelegate.m in Sources */,
|
||||||
|
F215851013930D1700853C55 /* WRTRequest.m in Sources */,
|
||||||
|
96DEDE2A139486BB00EF8526 /* WRTStatusClient.m in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXSourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXVariantGroup section */
|
||||||
|
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
089C165DFE840E0CC02AAC07 /* English */,
|
||||||
|
);
|
||||||
|
name = InfoPlist.strings;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
1DDD58150DA1D0A300B32029 /* English */,
|
||||||
|
);
|
||||||
|
name = MainMenu.xib;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
/* End PBXVariantGroup section */
|
||||||
|
|
||||||
|
/* Begin XCBuildConfiguration section */
|
||||||
|
C01FCF4B08A954540054247B /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
||||||
|
GCC_MODEL_TUNING = G5;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
|
GCC_PREFIX_HEADER = DDWRT_Monitor_Prefix.pch;
|
||||||
|
INFOPLIST_FILE = "DDWRT_Monitor-Info.plist";
|
||||||
|
INSTALL_PATH = "$(HOME)/Applications";
|
||||||
|
PRODUCT_NAME = "DDWRT-Monitor";
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
C01FCF4C08A954540054247B /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
|
GCC_MODEL_TUNING = G5;
|
||||||
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
|
GCC_PREFIX_HEADER = DDWRT_Monitor_Prefix.pch;
|
||||||
|
INFOPLIST_FILE = "DDWRT_Monitor-Info.plist";
|
||||||
|
INSTALL_PATH = "$(HOME)/Applications";
|
||||||
|
PRODUCT_NAME = "DDWRT-Monitor";
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
C01FCF4F08A954540054247B /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
|
PREBINDING = NO;
|
||||||
|
SDKROOT = macosx10.6;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
C01FCF5008A954540054247B /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
PREBINDING = NO;
|
||||||
|
SDKROOT = macosx10.6;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
|
/* Begin XCConfigurationList section */
|
||||||
|
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "DDWRT-Monitor" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
C01FCF4B08A954540054247B /* Debug */,
|
||||||
|
C01FCF4C08A954540054247B /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "DDWRT-Monitor" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
C01FCF4F08A954540054247B /* Debug */,
|
||||||
|
C01FCF5008A954540054247B /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
/* End XCConfigurationList section */
|
||||||
|
};
|
||||||
|
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Workspace
|
||||||
|
version = "1.0">
|
||||||
|
<FileRef
|
||||||
|
location = "self:DDWRT-Monitor.xcodeproj">
|
||||||
|
</FileRef>
|
||||||
|
</Workspace>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Bucket
|
||||||
|
type = "1"
|
||||||
|
version = "1.0">
|
||||||
|
</Bucket>
|
@ -0,0 +1,76 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "8D1107260486CEB800E47090"
|
||||||
|
BuildableName = "DDWRT-Monitor.app"
|
||||||
|
BlueprintName = "DDWRT-Monitor"
|
||||||
|
ReferencedContainer = "container:DDWRT-Monitor.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||||
|
displayScaleIsEnabled = "NO"
|
||||||
|
displayScale = "1.00"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
<BuildableProductRunnable>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "8D1107260486CEB800E47090"
|
||||||
|
BuildableName = "DDWRT-Monitor.app"
|
||||||
|
BlueprintName = "DDWRT-Monitor"
|
||||||
|
ReferencedContainer = "container:DDWRT-Monitor.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
displayScaleIsEnabled = "NO"
|
||||||
|
displayScale = "1.00"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
buildConfiguration = "Release">
|
||||||
|
<BuildableProductRunnable>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "8D1107260486CEB800E47090"
|
||||||
|
BuildableName = "DDWRT-Monitor.app"
|
||||||
|
BlueprintName = "DDWRT-Monitor"
|
||||||
|
ReferencedContainer = "container:DDWRT-Monitor.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>SchemeUserState</key>
|
||||||
|
<dict>
|
||||||
|
<key>DDWRT-Monitor.xcscheme</key>
|
||||||
|
<dict>
|
||||||
|
<key>orderHint</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<key>SuppressBuildableAutocreation</key>
|
||||||
|
<dict>
|
||||||
|
<key>8D1107260486CEB800E47090</key>
|
||||||
|
<dict>
|
||||||
|
<key>primary</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Bucket
|
||||||
|
type = "1"
|
||||||
|
version = "1.0">
|
||||||
|
</Bucket>
|
@ -0,0 +1,76 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "8D1107260486CEB800E47090"
|
||||||
|
BuildableName = "DDWRT-Monitor.app"
|
||||||
|
BlueprintName = "DDWRT-Monitor"
|
||||||
|
ReferencedContainer = "container:DDWRT-Monitor.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||||
|
displayScaleIsEnabled = "NO"
|
||||||
|
displayScale = "1.00"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
<BuildableProductRunnable>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "8D1107260486CEB800E47090"
|
||||||
|
BuildableName = "DDWRT-Monitor.app"
|
||||||
|
BlueprintName = "DDWRT-Monitor"
|
||||||
|
ReferencedContainer = "container:DDWRT-Monitor.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
displayScaleIsEnabled = "NO"
|
||||||
|
displayScale = "1.00"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
buildConfiguration = "Release">
|
||||||
|
<BuildableProductRunnable>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "8D1107260486CEB800E47090"
|
||||||
|
BuildableName = "DDWRT-Monitor.app"
|
||||||
|
BlueprintName = "DDWRT-Monitor"
|
||||||
|
ReferencedContainer = "container:DDWRT-Monitor.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildableProductRunnable>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>SchemeUserState</key>
|
||||||
|
<dict>
|
||||||
|
<key>DDWRT-Monitor.xcscheme</key>
|
||||||
|
<dict>
|
||||||
|
<key>orderHint</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<key>SuppressBuildableAutocreation</key>
|
||||||
|
<dict>
|
||||||
|
<key>8D1107260486CEB800E47090</key>
|
||||||
|
<dict>
|
||||||
|
<key>primary</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
@ -0,0 +1,38 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>English</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string>AppIcon.icns</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>org.spurf.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>${PRODUCT_NAME}</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>LSApplicationCategoryType</key>
|
||||||
|
<string>public.app-category.utilities</string>
|
||||||
|
<key>LSMinimumSystemVersion</key>
|
||||||
|
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
|
||||||
|
<key>NSAppleScriptEnabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>NSMainNibFile</key>
|
||||||
|
<string>MainMenu</string>
|
||||||
|
<key>NSPrincipalClass</key>
|
||||||
|
<string>NSApplication</string>
|
||||||
|
<key>LSUIElement</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
@ -0,0 +1,105 @@
|
|||||||
|
//
|
||||||
|
// DDWRT_MonitorAppDelegate.h
|
||||||
|
// DDWRT-Monitor
|
||||||
|
//
|
||||||
|
// Created by Matthieu Lalonde on 11-05-27.
|
||||||
|
// Copyright 2011 __MyCompanyName__. All 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 id configFieldProtocol;
|
||||||
|
IBOutlet id configFieldProtocolHTTP;
|
||||||
|
IBOutlet id 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 menuConnections;
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
|
||||||
|
NSStatusItem *_appMenu;
|
||||||
|
NSAlert *modalWindow;
|
||||||
|
|
||||||
|
NSTimer *_readTimer;
|
||||||
|
NSTimeInterval _lastSpeedRead;
|
||||||
|
|
||||||
|
WRTStatusClient *wrt_client;
|
||||||
|
|
||||||
|
unsigned long long _lastInThroughput;
|
||||||
|
unsigned long long _lastOutThroughput;
|
||||||
|
|
||||||
|
BOOL _wrtReachable;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) terminate:(id)sender;
|
||||||
|
- (void) showConfigPanel:(id)sender;
|
||||||
|
- (void) hideConfigPanel:(id)sender;
|
||||||
|
- (void) showBandwidthViewer:(id)sender;
|
||||||
|
- (void) hideBandwidthViewer:(id)sender;
|
||||||
|
- (void) showMenubar;
|
||||||
|
- (void) hideMenubar;
|
||||||
|
- (void) showMenubarIcon:(BOOL)enabled;
|
||||||
|
- (void) hideMenubarIcon;
|
||||||
|
- (void) setMenubarText:(NSString *)menubarText;
|
||||||
|
|
||||||
|
- (void) setConfigHostname:(id)sender;
|
||||||
|
- (void) setConfigProtocol:(id)sender;
|
||||||
|
- (void) setConfigPort:(id)sender;
|
||||||
|
- (void) setConfigRefresh:(id)sender;
|
||||||
|
- (void) setConfigWan:(id)sender;
|
||||||
|
- (void) setConfigBytes:(id)sender;
|
||||||
|
- (void) setConfigIcon:(id)sender;
|
||||||
|
|
||||||
|
- (IBAction) refreshMenu:(id)sender;
|
||||||
|
- (IBAction) refreshSystemMenu:(id)sender;
|
||||||
|
- (IBAction) refreshWanMenu:(id)sender;
|
||||||
|
- (void) wanRequestCallback:(NSData *)data;
|
||||||
|
- (IBAction) refreshClientsMenu:(id)sender;
|
||||||
|
|
||||||
|
- (void) saveConfig:(id)sender;
|
||||||
|
- (void) updateThroughput;
|
||||||
|
- (void) throughputCallback:(NSData *)data;
|
||||||
|
- (void) doUpdateStatus:(NSData *)data;
|
||||||
|
- (void) configSaveRequestCallback:(NSData *)data;
|
||||||
|
- (NSString *) getKey:(NSString * )data key:(NSString *)key;
|
||||||
|
|
||||||
|
- (NSString *) stringFromFileSize:(unsigned long long)theSize;
|
||||||
|
//@property (assign) IBOutlet NSWindow *window;
|
||||||
|
|
||||||
|
- (void) connection:(NSURLConnection*)connection didReceiveData:(NSData*)data;
|
||||||
|
|
||||||
|
@end
|
@ -0,0 +1,481 @@
|
|||||||
|
//
|
||||||
|
// DDWRT_MonitorAppDelegate.m
|
||||||
|
// DDWRT-Monitor
|
||||||
|
//
|
||||||
|
// Created by Matthieu Lalonde on 11-05-27.
|
||||||
|
// Copyright 2011 __MyCompanyName__. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "DDWRT_MonitorAppDelegate.h"
|
||||||
|
#import "WRTRequest.h"
|
||||||
|
#import "WRTStatusClient.h"
|
||||||
|
|
||||||
|
@implementation DDWRT_MonitorAppDelegate
|
||||||
|
|
||||||
|
//@synthesize window;
|
||||||
|
|
||||||
|
//- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
|
||||||
|
- (void) awakeFromNib
|
||||||
|
{
|
||||||
|
NSLog(@"Spike debug start.");
|
||||||
|
|
||||||
|
wrt_client = [[WRTStatusClient alloc] initWithHostname:@"router" port:80 username:@"spike" password:@"aaaassss"];
|
||||||
|
|
||||||
|
[wrt_client getStatusUpdate:@"graph_if.svg?vlan2" delegate: self];
|
||||||
|
|
||||||
|
NSLog(@"Spike debug end.");
|
||||||
|
|
||||||
|
|
||||||
|
// Insert code here to initialize your application
|
||||||
|
[self showMenubar];
|
||||||
|
|
||||||
|
_wrtReachable = false;
|
||||||
|
|
||||||
|
// initialize defaults
|
||||||
|
NSString *hostname = [[NSUserDefaults standardUserDefaults] stringForKey:@"hostname"];
|
||||||
|
|
||||||
|
if (hostname == nil) // App first run: set up user defaults.
|
||||||
|
{
|
||||||
|
NSDictionary *appDefaults = [NSDictionary dictionaryWithObjectsAndKeys:nil];
|
||||||
|
|
||||||
|
NSLog(@"Creating new user defaults");
|
||||||
|
|
||||||
|
// do any other initialization you want to do here - e.g. the starting default values.
|
||||||
|
//[[NSUserDefaults standardUserDefaults] setObject:@"192.168.1.1" foKey:@"hostname"];
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"showMenuIcon"];
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"useBytes"];
|
||||||
|
[[NSUserDefaults standardUserDefaults] setInteger:80 forKey:@"port"];
|
||||||
|
[[NSUserDefaults standardUserDefaults] setInteger:4 forKey:@"refreshTime"];
|
||||||
|
|
||||||
|
// sync the defaults to disk
|
||||||
|
[[NSUserDefaults standardUserDefaults] registerDefaults:appDefaults];
|
||||||
|
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||||
|
|
||||||
|
// TODO: Add modal alert "First launch" here...
|
||||||
|
[self showConfigPanel:nil];
|
||||||
|
} else {
|
||||||
|
NSLog(@"Using existing user defaults");
|
||||||
|
|
||||||
|
//_readTimer = [NSTimer scheduledTimerWithTimeInterval:[[NSUserDefaults standardUserDefaults] integerForKey:@"refreshTime"] target:self selector:@selector(updateThroughput:) userInfo:nil repeats:YES];
|
||||||
|
//[_readTimer fire];
|
||||||
|
|
||||||
|
[self updateThroughput];
|
||||||
|
|
||||||
|
WRTRequest *wrtr = [[WRTRequest alloc] init];
|
||||||
|
|
||||||
|
[wrtr doRequest:self requestSelector:@selector(doUpdateStatus:) uri:@"Status_Router.live.asp"];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) dealloc {
|
||||||
|
//[_readTimer invalidate];
|
||||||
|
[AppMenu release];
|
||||||
|
[_appMenu release];
|
||||||
|
[ConfigPanel release];
|
||||||
|
[BandwidthViewer release];
|
||||||
|
[modalWindow release];
|
||||||
|
[super dealloc];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) terminate:(id)sender {
|
||||||
|
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||||
|
[self dealloc];
|
||||||
|
[[NSApplication sharedApplication] terminate:self];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) showMenubar
|
||||||
|
{
|
||||||
|
NSLog(@"Showing Menu Item");
|
||||||
|
|
||||||
|
NSStatusBar* bar = [NSStatusBar systemStatusBar];
|
||||||
|
_appMenu = [bar statusItemWithLength:NSVariableStatusItemLength];
|
||||||
|
[_appMenu retain];
|
||||||
|
|
||||||
|
//[self setMenubarText:@"000KB/s\n000KB/s"];
|
||||||
|
|
||||||
|
//BOOL showIcon = [[NSUserDefaults standardUserDefaults] boolForKey:@"showMenuIcon"];
|
||||||
|
//if (showIcon == true) {
|
||||||
|
[self showMenubarIcon:false];
|
||||||
|
//}
|
||||||
|
|
||||||
|
[_appMenu setHighlightMode:YES];
|
||||||
|
[_appMenu setMenu:AppMenu];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) hideMenubar
|
||||||
|
{
|
||||||
|
[_appMenu release];
|
||||||
|
_appMenu = nil;
|
||||||
|
[AppMenu release];
|
||||||
|
AppMenu = nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) showMenubarIcon:(BOOL)enabled
|
||||||
|
{
|
||||||
|
NSImage* icon = [NSImage imageNamed:(enabled == true ? @"MenuIcon" : @"MenuIconDisabled")];
|
||||||
|
[_appMenu setImage:icon];
|
||||||
|
[_appMenu setAlternateImage:nil];
|
||||||
|
[icon release];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) hideMenubarIcon
|
||||||
|
{
|
||||||
|
[_appMenu setImage:nil];
|
||||||
|
[_appMenu setAlternateImage:nil];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) setMenubarText:(NSString *)menubarText
|
||||||
|
{
|
||||||
|
|
||||||
|
// Todo set proper line height
|
||||||
|
NSFontManager *fontManager = [NSFontManager sharedFontManager];
|
||||||
|
NSFont *menuFont = [fontManager fontWithFamily:@"Lucida Grande" traits:NSBoldFontMask weight:10 size:8];
|
||||||
|
|
||||||
|
NSDictionary *titleAttributes = [[NSDictionary alloc] initWithObjectsAndKeys:menuFont, NSFontAttributeName,
|
||||||
|
[NSColor blackColor], NSForegroundColorAttributeName, nil];
|
||||||
|
NSAttributedString *menuTitle = [[NSAttributedString alloc] initWithString:menubarText attributes:titleAttributes];
|
||||||
|
|
||||||
|
[_appMenu setAttributedTitle:menuTitle];
|
||||||
|
|
||||||
|
[fontManager release];
|
||||||
|
[menuFont release];
|
||||||
|
[menuTitle release];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) showConfigPanel:(id)sender
|
||||||
|
{
|
||||||
|
[configFieldShowIcon setState:([[NSUserDefaults standardUserDefaults] boolForKey:@"showMenuIcon"] ? 1 : 0)];
|
||||||
|
[configFieldUseBytes setState:([[NSUserDefaults standardUserDefaults] boolForKey:@"useBytes"] ? 1 : 0)];
|
||||||
|
|
||||||
|
NSString *hostname = [[NSUserDefaults standardUserDefaults] stringForKey:@"hostname"];
|
||||||
|
if (hostname != nil) {
|
||||||
|
[configFieldHostname setStringValue:hostname];
|
||||||
|
}
|
||||||
|
|
||||||
|
[configFieldPort setIntValue:[[NSUserDefaults standardUserDefaults] integerForKey:@"port"]];
|
||||||
|
|
||||||
|
[configFieldRefresh setIntegerValue:[[NSUserDefaults standardUserDefaults] integerForKey:@"refreshTime"]];
|
||||||
|
|
||||||
|
[configLabelRefresh setStringValue:[NSString stringWithFormat:@"%d s", ([[NSUserDefaults standardUserDefaults] integerForKey:@"refreshTime"] + 1)]];
|
||||||
|
|
||||||
|
[ConfigPanel makeKeyAndOrderFront:nil];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) hideConfigPanel:(id)sender
|
||||||
|
{
|
||||||
|
NSString *hostname = [[NSUserDefaults standardUserDefaults] stringForKey:@"hostname"];
|
||||||
|
|
||||||
|
if (hostname == nil && [[sender title] isEqualToString:@"Cancel"]) {
|
||||||
|
// TODO: Add modal alert "will quit if not configured"
|
||||||
|
[self terminate:nil];
|
||||||
|
}
|
||||||
|
|
||||||
|
[ConfigPanel orderOut:nil];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) showBandwidthViewer:(id)sender
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// NSString *urlAddress = [NSString stringWithFormat:@"https://%@:%d/graph_if.svg?ppp1",
|
||||||
|
// [[NSUserDefaults standardUserDefaults] stringForKey:@"hostname"],
|
||||||
|
// [[NSUserDefaults standardUserDefaults] integerForKey:@"port"]];
|
||||||
|
// NSLog(@"%@", urlAddress);
|
||||||
|
//
|
||||||
|
|
||||||
|
[BandwidthViewer makeKeyAndOrderFront:nil];
|
||||||
|
|
||||||
|
NSURLRequest *request = [[wrt_client buildRequest:@"graph_if.svg?vlan2"] retain];
|
||||||
|
|
||||||
|
[ [BandwidthViewerWebView mainFrame] loadRequest: request ];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) hideBandwidthViewer:(id)sender
|
||||||
|
{
|
||||||
|
[BandwidthViewer orderOut:nil];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) setConfigHostname:(id)sender
|
||||||
|
{
|
||||||
|
NSLog(@"%@", [sender title]);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (IBAction) setConfigProtocol:(id)sender
|
||||||
|
{
|
||||||
|
NSLog(@"%@", [sender title]);
|
||||||
|
if ([sender state] == NSOnState) {
|
||||||
|
NSLog(@"Yes");
|
||||||
|
//NSLog(@"%s", [sender title]);
|
||||||
|
} else {
|
||||||
|
NSLog(@"No");
|
||||||
|
//NSLog(@"%s", [sender title]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) setConfigPort:(id)sender
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) setConfigRefresh:(id)sender
|
||||||
|
{
|
||||||
|
[configLabelRefresh setStringValue:[NSString stringWithFormat:@"%u s", ([sender integerValue] + 1)]];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) setConfigWan:(id)sender
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) setConfigBytes:(id)sender
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) setConfigIcon:(id)sender
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) saveConfig:(id)sender
|
||||||
|
{
|
||||||
|
[configStateStatus startAnimation:nil];
|
||||||
|
[configStateStatus setHidden:false];
|
||||||
|
|
||||||
|
WRTRequest *wrtr = [[WRTRequest alloc] init];
|
||||||
|
|
||||||
|
[wrtr doRequest:self requestSelector:@selector(configSaveRequestCallback:) uri:@"Status_Router.live.asp"];
|
||||||
|
}
|
||||||
|
|
||||||
|
-(NSString *)getKey:(NSString *)stringData key:(NSString *)key
|
||||||
|
{
|
||||||
|
NSString *keyString = [NSString stringWithFormat:@"%@::", key];
|
||||||
|
NSString *returnData;
|
||||||
|
NSRange formatValid = [stringData rangeOfString:@"}"];
|
||||||
|
|
||||||
|
if (formatValid.location != NSNotFound) {
|
||||||
|
NSRange startRange = [stringData rangeOfString:keyString];
|
||||||
|
|
||||||
|
if (startRange.location != NSNotFound) {
|
||||||
|
|
||||||
|
returnData = [NSString stringWithString:stringData];
|
||||||
|
returnData = [returnData substringFromIndex:(startRange.location + [keyString length])];
|
||||||
|
returnData = [returnData substringToIndex:[returnData rangeOfString:@"}"].location];
|
||||||
|
}
|
||||||
|
|
||||||
|
returnData = [returnData stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
|
||||||
|
}
|
||||||
|
|
||||||
|
//[keyString release];
|
||||||
|
|
||||||
|
return returnData;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)configSaveRequestCallback:(NSData *)data
|
||||||
|
{
|
||||||
|
// TODO check that the request is actually successful
|
||||||
|
|
||||||
|
NSString *hostname = [configFieldHostname stringValue];
|
||||||
|
[[NSUserDefaults standardUserDefaults] setObject:hostname forKey:@"hostname"];
|
||||||
|
|
||||||
|
NSString *port = [configFieldPort stringValue];
|
||||||
|
[[NSUserDefaults standardUserDefaults] setObject:port forKey:@"port"];
|
||||||
|
|
||||||
|
NSLog(@"Got %@", hostname);
|
||||||
|
|
||||||
|
//NSLog(@"%@", [configFieldProtocol str]);
|
||||||
|
|
||||||
|
[[NSUserDefaults standardUserDefaults] setInteger:[configFieldRefresh integerValue] forKey:@"refreshTime"];
|
||||||
|
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:([configFieldUseBytes state] == 1 ? true: false) forKey:@"useBytes"];
|
||||||
|
|
||||||
|
if ([configFieldShowIcon state] == NSOffState && [[NSUserDefaults standardUserDefaults] boolForKey:@"showMenuIcon"] == true) {
|
||||||
|
[self hideMenubarIcon];
|
||||||
|
} else if ([configFieldShowIcon state] == NSOnState && [[NSUserDefaults standardUserDefaults] boolForKey:@"showMenuIcon"] == false) {
|
||||||
|
[self showMenubarIcon:false];
|
||||||
|
}
|
||||||
|
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:([configFieldShowIcon state] == 1 ? true: false) forKey:@"showMenuIcon"];
|
||||||
|
|
||||||
|
[configStateStatus stopAnimation:nil];
|
||||||
|
[configStateStatus setHidden:true];
|
||||||
|
|
||||||
|
[self doUpdateStatus:data];
|
||||||
|
|
||||||
|
[self hideConfigPanel:nil];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) updateThroughput
|
||||||
|
{
|
||||||
|
|
||||||
|
WRTRequest *wrtr = [[WRTRequest alloc] init];
|
||||||
|
|
||||||
|
[wrtr doRequest:self requestSelector:@selector(throughputCallback:) uri:@"fetchif.cgi?ppp1"];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) throughputCallback:(NSData *)data
|
||||||
|
{
|
||||||
|
|
||||||
|
NSDate *start = [NSDate date];
|
||||||
|
NSTimeInterval timeInterval = [start timeIntervalSinceNow];
|
||||||
|
NSLog(@"%f", timeInterval);
|
||||||
|
|
||||||
|
NSString *stringData = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
|
||||||
|
stringData = [stringData substringFromIndex:([stringData rangeOfString:@":"].location + 1)];
|
||||||
|
NSArray *listItems = [stringData componentsSeparatedByString:@" "];
|
||||||
|
|
||||||
|
NSLog(@"%@", [listItems objectAtIndex:0]);
|
||||||
|
unsigned long long ifIn = [NSNumber numberWithString:[listItems objectAtIndex:0]];
|
||||||
|
unsigned long long ifOut = [NSNumber numberWithString:[listItems objectAtIndex:8]];
|
||||||
|
|
||||||
|
NSTimeInterval currentTime = [NSDate timeIntervalSinceReferenceDate];
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)doUpdateStatus:(NSData *)data
|
||||||
|
{
|
||||||
|
NSString *stringData = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
|
||||||
|
|
||||||
|
NSString *ipconn = [self getKey:stringData key:@"ip_conntrack"];
|
||||||
|
|
||||||
|
NSString *wanip = [self getKey:stringData key:@"ipinfo"];
|
||||||
|
wanip = [wanip substringFromIndex:([wanip rangeOfString:@" "].location+1)];
|
||||||
|
|
||||||
|
NSString *uptime = [self getKey:stringData key:@"uptime"];
|
||||||
|
NSString *loadSplit = @", load average: ";
|
||||||
|
NSString *load = [uptime substringFromIndex:[uptime rangeOfString:loadSplit].location+[loadSplit length]];
|
||||||
|
uptime = [uptime substringToIndex:[uptime rangeOfString:@", load"].location]; // Cut the load
|
||||||
|
uptime = [uptime substringFromIndex:[uptime rangeOfString:@" "].location+1]; // Trim
|
||||||
|
uptime = [uptime stringByReplacingCharactersInRange:NSMakeRange(0,1) withString:[[uptime substringToIndex:1] uppercaseString]]; // UCFirst
|
||||||
|
|
||||||
|
[menuWanIP setTitle:wanip];
|
||||||
|
[menuUptime setTitle:uptime];
|
||||||
|
[menuLoad setTitle:load];
|
||||||
|
[menuLoad setHidden:false];
|
||||||
|
[menuConnections setTitle:[NSString stringWithFormat:@"Connections: %@", ipconn]];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) refreshMenu:(id)sender
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) refreshSystemMenu:(id)sender
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) refreshWanMenu:(id)sender
|
||||||
|
{
|
||||||
|
NSLog(@"Refreshing Wan Menu");
|
||||||
|
WRTRequest *wrtr = [[WRTRequest alloc] init];
|
||||||
|
|
||||||
|
[wrtr doRequest:self requestSelector:@selector(wanRequestCallback:) uri:@"Status_Internet.live.asp"];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) wanRequestCallback:(NSData *)data
|
||||||
|
{
|
||||||
|
NSString *stringData = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
|
||||||
|
|
||||||
|
NSString *wanStatus = [self getKey:stringData key:@"wan_status"];
|
||||||
|
NSString *wanName = [self getKey:stringData key:@"wan_shortproto"];
|
||||||
|
if ([wanName isEqualToString:@"pppoe"] == true) {
|
||||||
|
wanName = @"PPPoE";
|
||||||
|
} else if ([wanName isEqualToString:@"static"] == true) {
|
||||||
|
wanName = @"Static";
|
||||||
|
} else {
|
||||||
|
wanName = [wanName uppercaseString];
|
||||||
|
}
|
||||||
|
|
||||||
|
wanStatus = [wanStatus substringToIndex:[wanStatus rangeOfString:@"&"].location];
|
||||||
|
[menuWanStatus setTitle:[NSString stringWithFormat:@"%@ %@", wanName, wanStatus]];
|
||||||
|
|
||||||
|
if ([_appMenu image] != nil) {
|
||||||
|
[self showMenubarIcon:[wanStatus isEqualToString:@"Connected"]];
|
||||||
|
}
|
||||||
|
|
||||||
|
NSString *wanUptime = [self getKey:stringData key:@"wan_uptime"];
|
||||||
|
if ([wanStatus isEqualToString:@"Connected"] == true) {
|
||||||
|
[menuWanUptime setTitle:wanUptime];
|
||||||
|
[menuWanUptime setHidden:false];
|
||||||
|
[menuWanSeparator setHidden:false];
|
||||||
|
[menuWanBandwidthGraph setEnabled:true];
|
||||||
|
[menuWanTrafficIn setHidden:false];
|
||||||
|
[menuWanTrafficOut setHidden:false];
|
||||||
|
|
||||||
|
} else {
|
||||||
|
[menuWanUptime setHidden:true];
|
||||||
|
[menuWanSeparator setHidden:true];
|
||||||
|
[menuWanBandwidthGraph setEnabled:false];
|
||||||
|
[menuWanTrafficIn setHidden:true];
|
||||||
|
[menuWanTrafficOut setHidden:true];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
NSString *trafficIn = [self getKey:stringData key:@"ttraff_in"];
|
||||||
|
NSString *trafficOut = [self getKey:stringData key:@"ttraff_out"];
|
||||||
|
trafficIn = [self stringFromFileSize:([trafficIn longLongValue] * 1024 * 1024)];
|
||||||
|
trafficOut = [self stringFromFileSize:([trafficOut longLongValue] * 1024 * 1024)];
|
||||||
|
|
||||||
|
[menuWanTrafficIn setTitle:[NSString stringWithFormat:@"In: %@", trafficIn]];
|
||||||
|
[menuWanTrafficOut setTitle:[NSString stringWithFormat:@"Out: %@", trafficOut]];
|
||||||
|
|
||||||
|
NSString *wanDNS0 = [self getKey:stringData key:@"wan_dns0"];
|
||||||
|
NSString *wanDNS1 = [self getKey:stringData key:@"wan_dns1"];
|
||||||
|
NSString *wanDNS2 = [self getKey:stringData key:@"wan_dns2"];
|
||||||
|
|
||||||
|
if ([wanDNS0 length] > 0) {
|
||||||
|
[menuWanDNS setEnabled:true];
|
||||||
|
[menuWanDNSItem0 setTitle: wanDNS0];
|
||||||
|
[menuWanDNSItem0 setHidden:false];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ([wanDNS1 length] > 0) {
|
||||||
|
[menuWanDNS setEnabled:true];
|
||||||
|
[menuWanDNSItem1 setTitle: wanDNS1];
|
||||||
|
[menuWanDNSItem1 setHidden:false];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ([wanDNS2 length] > 0) {
|
||||||
|
[menuWanDNS setEnabled:true];
|
||||||
|
[menuWanDNSItem2 setTitle: wanDNS2];
|
||||||
|
[menuWanDNSItem2 setHidden:false];
|
||||||
|
}
|
||||||
|
|
||||||
|
[stringData release];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) refreshClientsMenu:(id)sender
|
||||||
|
{
|
||||||
|
[self updateThroughput];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSString *) stringFromFileSize:(unsigned long long)theSize
|
||||||
|
{
|
||||||
|
|
||||||
|
double floatSize = theSize;
|
||||||
|
if (theSize<1023)
|
||||||
|
return([NSString stringWithFormat:@"%qx bytes",theSize]);
|
||||||
|
floatSize = floatSize / 1024;
|
||||||
|
if (floatSize<1023)
|
||||||
|
return([NSString stringWithFormat:@"%1.1f KiB",floatSize]);
|
||||||
|
floatSize = floatSize / 1024;
|
||||||
|
if (floatSize<1023)
|
||||||
|
return([NSString stringWithFormat:@"%1.1f MiB",floatSize]);
|
||||||
|
floatSize = floatSize / 1024;
|
||||||
|
if (floatSize<1023)
|
||||||
|
return([NSString stringWithFormat:@"%1.1f GiB",floatSize]);
|
||||||
|
floatSize = floatSize / 1024;
|
||||||
|
|
||||||
|
return([NSString stringWithFormat:@"%1.1f TiB",floatSize]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
- (void) connection:(NSURLConnection*)connection didReceiveData:(NSData*)data
|
||||||
|
{
|
||||||
|
NSLog(@"Delegate Received: %@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
@ -0,0 +1,7 @@
|
|||||||
|
//
|
||||||
|
// Prefix header for all source files of the 'DDWRT-Monitor' target in the 'DDWRT-Monitor' project
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifdef __OBJC__
|
||||||
|
#import <Cocoa/Cocoa.h>
|
||||||
|
#endif
|
@ -0,0 +1,2 @@
|
|||||||
|
/* Localized versions of Info.plist keys */
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>URL</key>
|
||||||
|
<string>http://www.opensecurityarchitecture.org/cms/library/icon-library</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 2.1 KiB |
@ -0,0 +1,35 @@
|
|||||||
|
//
|
||||||
|
// WRTRequest.h
|
||||||
|
// DDWRT-Monitor
|
||||||
|
//
|
||||||
|
// Created by Matthieu Lalonde on 11-05-29.
|
||||||
|
// Copyright 2011 __MyCompanyName__. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
|
||||||
|
@interface WRTRequest : NSObject {
|
||||||
|
BOOL wrtReachable;
|
||||||
|
@private
|
||||||
|
NSString *username;
|
||||||
|
NSString *password;
|
||||||
|
NSMutableData *receivedData;
|
||||||
|
NSURLRequest *theRequest;
|
||||||
|
NSURLConnection *theConnection;
|
||||||
|
id delegate;
|
||||||
|
SEL callback;
|
||||||
|
SEL errorCallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
@property(nonatomic, retain) NSString *username;
|
||||||
|
@property(nonatomic, retain) NSString *password;
|
||||||
|
@property(nonatomic, retain) NSMutableData *receivedData;
|
||||||
|
@property(nonatomic, retain) id delegate;
|
||||||
|
@property(nonatomic) SEL callback;
|
||||||
|
@property(nonatomic) SEL errorCallback;
|
||||||
|
|
||||||
|
-(void)doRequest:(id)requestDelegate requestSelector:(SEL)requestSelector uri:(NSString *)uri;
|
||||||
|
-(void)request:(NSURL *) url;
|
||||||
|
|
||||||
|
@end
|
@ -0,0 +1,127 @@
|
|||||||
|
//
|
||||||
|
// WRTRequest.m
|
||||||
|
// DDWRT-Monitor
|
||||||
|
//
|
||||||
|
// Created by Matthieu Lalonde on 11-05-29.
|
||||||
|
// Copyright 2011 __MyCompanyName__. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "WRTRequest.h"
|
||||||
|
|
||||||
|
|
||||||
|
@implementation WRTRequest
|
||||||
|
|
||||||
|
@synthesize username;
|
||||||
|
@synthesize password;
|
||||||
|
@synthesize receivedData;
|
||||||
|
@synthesize delegate;
|
||||||
|
@synthesize callback;
|
||||||
|
@synthesize errorCallback;
|
||||||
|
|
||||||
|
- (id)init
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
if (self) {
|
||||||
|
// Initialization code here.
|
||||||
|
wrtReachable = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[super dealloc];
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)doRequest:(id)requestDelegate requestSelector:(SEL)requestSelector uri:(NSString *)uri
|
||||||
|
{
|
||||||
|
self.delegate = requestDelegate;
|
||||||
|
self.callback = requestSelector;
|
||||||
|
|
||||||
|
NSString *urlAddress = [NSString stringWithFormat:@"https://%@:%d/%@",
|
||||||
|
[[NSUserDefaults standardUserDefaults] stringForKey:@"hostname"],
|
||||||
|
[[NSUserDefaults standardUserDefaults] integerForKey:@"port"],
|
||||||
|
uri];
|
||||||
|
|
||||||
|
NSURL *url = [NSURL URLWithString:urlAddress];
|
||||||
|
|
||||||
|
[self request:url];
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)request:(NSURL *) url
|
||||||
|
{
|
||||||
|
theRequest = [[NSMutableURLRequest alloc] initWithURL:url];
|
||||||
|
theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
|
||||||
|
|
||||||
|
if (theConnection) {
|
||||||
|
receivedData = [[NSMutableData data] retain];
|
||||||
|
} else {
|
||||||
|
// TODO return error
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
|
||||||
|
{
|
||||||
|
NSLog(@"1");
|
||||||
|
if ([challenge previousFailureCount] == 0) {
|
||||||
|
NSLog(@"1.1.1");
|
||||||
|
NSURLCredential *newCredential;
|
||||||
|
newCredential = [NSURLCredential credentialWithUser:@"user" password:@"password" persistence:NSURLCredentialPersistenceForSession];
|
||||||
|
|
||||||
|
NSLog(@"1.1.2");
|
||||||
|
[[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];
|
||||||
|
} else {
|
||||||
|
NSLog(@"1.2");
|
||||||
|
[[challenge sender] cancelAuthenticationChallenge:challenge];
|
||||||
|
// TODO Pop up authentication error
|
||||||
|
NSLog(@"Invalid Username or Password");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
|
||||||
|
{
|
||||||
|
NSLog(@"2");
|
||||||
|
[receivedData setLength:0];
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
|
||||||
|
{
|
||||||
|
NSLog(@"3");
|
||||||
|
[receivedData appendData:data];
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
|
||||||
|
{
|
||||||
|
NSLog(@"4");
|
||||||
|
[connection release];
|
||||||
|
[receivedData release];
|
||||||
|
[theRequest release];
|
||||||
|
|
||||||
|
//TODO Return alert
|
||||||
|
NSLog(@"Connection failed! Error - %@ %@", [error localizedDescription], [[error userInfo] objectForKey:NSErrorFailingURLStringKey]);
|
||||||
|
|
||||||
|
if (errorCallback) {
|
||||||
|
[delegate performSelector:errorCallback withObject:error];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
|
||||||
|
{
|
||||||
|
NSLog(@"5");
|
||||||
|
// TODO: Return the data
|
||||||
|
if (delegate && callback) {
|
||||||
|
if ([delegate respondsToSelector:self.callback]) {
|
||||||
|
[delegate performSelector:self.callback withObject:receivedData];
|
||||||
|
} else {
|
||||||
|
// TODO: Return no data
|
||||||
|
NSLog(@"No response data from delegate");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[theConnection release];
|
||||||
|
[receivedData release];
|
||||||
|
[theRequest release];
|
||||||
|
}
|
||||||
|
@end
|
@ -0,0 +1,48 @@
|
|||||||
|
//
|
||||||
|
// WRTStatusClient.h
|
||||||
|
// DDWRT-Monitor
|
||||||
|
//
|
||||||
|
// Created by Spike Grobstein on 5/30/11.
|
||||||
|
// Copyright 2011 Sadistech. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
|
||||||
|
@interface WRTStatusClient : NSObject {
|
||||||
|
BOOL wrtReachable;
|
||||||
|
@private
|
||||||
|
NSString *hostname;
|
||||||
|
NSInteger *port;
|
||||||
|
NSString *username;
|
||||||
|
NSString *password;
|
||||||
|
|
||||||
|
|
||||||
|
//NSMutableData *receivedData;
|
||||||
|
//NSURLRequest *theRequest;
|
||||||
|
//NSURLConnection *theConnection;
|
||||||
|
|
||||||
|
//id delegate;
|
||||||
|
//SEL callback;
|
||||||
|
//SEL errorCallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (id) initWithHostname:(NSString*)new_hostname port:(NSInteger*)new_port username:(NSString*)new_username password:(NSString*)new_password;
|
||||||
|
|
||||||
|
- (NSMutableURLRequest*) buildRequest:(NSString*)uri;
|
||||||
|
- (void) getStatusUpdate:(NSString*)uri delegate:(id)delegate;
|
||||||
|
|
||||||
|
- (NSString*) getHostname;
|
||||||
|
- (void) setHostname:(NSString*)new_hostname;
|
||||||
|
|
||||||
|
- (NSInteger*) getPort;
|
||||||
|
- (void) setPort:(NSInteger*)new_port;
|
||||||
|
|
||||||
|
- (NSString*) getUsername;
|
||||||
|
- (void) setUsername:(NSString*)new_username;
|
||||||
|
|
||||||
|
- (NSString*) getPassword;
|
||||||
|
- (void) setPassword:(NSString*)new_password;
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
@ -0,0 +1,111 @@
|
|||||||
|
//
|
||||||
|
// WRTStatusClient.m
|
||||||
|
// DDWRT-Monitor
|
||||||
|
//
|
||||||
|
// Created by Spike Grobstein on 5/30/11.
|
||||||
|
// Copyright 2011 Sadistech. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "WRTStatusClient.h"
|
||||||
|
|
||||||
|
|
||||||
|
@implementation WRTStatusClient
|
||||||
|
|
||||||
|
- (id) initWithHostname:(NSString*)new_hostname port:(NSInteger*)new_port username:(NSString*)new_username password:(NSString*)new_password
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
|
||||||
|
[self setHostname: new_hostname];
|
||||||
|
[self setPort: new_port];
|
||||||
|
[self setUsername: new_username];
|
||||||
|
[self setPassword: new_password];
|
||||||
|
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark -
|
||||||
|
|
||||||
|
- (NSMutableURLRequest*) buildRequest:(NSString*)uri
|
||||||
|
{
|
||||||
|
NSString *urlAddress = [NSString stringWithFormat:@"http://%@:%d/%@",
|
||||||
|
hostname,
|
||||||
|
port,
|
||||||
|
uri];
|
||||||
|
|
||||||
|
NSURL *url = [NSURL URLWithString:urlAddress];
|
||||||
|
|
||||||
|
//[self request:url]; // ---V
|
||||||
|
|
||||||
|
NSURLRequest *theRequest;
|
||||||
|
|
||||||
|
theRequest = [[NSMutableURLRequest alloc] initWithURL: url];
|
||||||
|
|
||||||
|
return [theRequest autorelease];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) getStatusUpdate:(NSString*)uri delegate:(id)delegate
|
||||||
|
{
|
||||||
|
|
||||||
|
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:[self buildRequest: uri] delegate:delegate];
|
||||||
|
|
||||||
|
[theConnection autorelease];
|
||||||
|
|
||||||
|
|
||||||
|
// this function returns immediately
|
||||||
|
// the delegate will receive a function call with the following signature upon completion:
|
||||||
|
// - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#pragma mark -
|
||||||
|
#pragma mark Accessors:
|
||||||
|
|
||||||
|
- (NSString*) getHostname
|
||||||
|
{
|
||||||
|
return hostname;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) setHostname:(NSString*)new_hostname
|
||||||
|
{
|
||||||
|
NSString *old_hostname = hostname;
|
||||||
|
hostname = [new_hostname retain];
|
||||||
|
[old_hostname autorelease];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSInteger*) getPort
|
||||||
|
{
|
||||||
|
return port;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) setPort:(NSInteger*)new_port
|
||||||
|
{
|
||||||
|
port = new_port;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSString*) getUsername
|
||||||
|
{
|
||||||
|
return username;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) setUsername:(NSString*)new_username
|
||||||
|
{
|
||||||
|
NSString *old_username = username;
|
||||||
|
username = [new_username retain];
|
||||||
|
[old_username autorelease];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSString*) getPassword
|
||||||
|
{
|
||||||
|
return password;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) setPassword:(NSString*)new_password
|
||||||
|
{
|
||||||
|
NSString *old_password = password;
|
||||||
|
password = [new_password retain];
|
||||||
|
[old_password autorelease];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
After Width: | Height: | Size: 10 KiB |
@ -0,0 +1,14 @@
|
|||||||
|
//
|
||||||
|
// main.m
|
||||||
|
// DDWRT-Monitor
|
||||||
|
//
|
||||||
|
// Created by Matthieu Lalonde on 11-05-27.
|
||||||
|
// Copyright 2011 __MyCompanyName__. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Cocoa/Cocoa.h>
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
return NSApplicationMain(argc, (const char **) argv);
|
||||||
|
}
|
After Width: | Height: | Size: 5.8 KiB |
Loading…
Reference in new issue