Added iPhone demo project
authorsnej@snej.local
Tue Dec 02 22:42:56 2008 -0800 (2008-12-02)
changeset 25a4875607a3a0
parent 24 ab88e3ee5726
child 26 cb9cdf247239
Added iPhone demo project
MYNetwork-iPhone.xcodeproj/project.pbxproj
TCP/TCPConnection.m
iPhone/Classes/HelloWorldAppDelegate.h
iPhone/Classes/HelloWorldAppDelegate.m
iPhone/Classes/MyViewController.h
iPhone/Classes/MyViewController.m
iPhone/Default.png
iPhone/HelloWorld.xib
iPhone/Icon.png
iPhone/Info.plist
iPhone/MYNetwork_iPhone_Prefix.pch
iPhone/MainWindow.xib
iPhone/main.m
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/MYNetwork-iPhone.xcodeproj/project.pbxproj	Tue Dec 02 22:42:56 2008 -0800
     1.3 @@ -0,0 +1,447 @@
     1.4 +// !$*UTF8*$!
     1.5 +{
     1.6 +	archiveVersion = 1;
     1.7 +	classes = {
     1.8 +	};
     1.9 +	objectVersion = 45;
    1.10 +	objects = {
    1.11 +
    1.12 +/* Begin PBXBuildFile section */
    1.13 +		1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
    1.14 +		1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
    1.15 +		1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
    1.16 +		270E9AC00EE61113003F17CA /* IPAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9AA20EE61113003F17CA /* IPAddress.m */; };
    1.17 +		270E9AC10EE61113003F17CA /* TCPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9AA50EE61113003F17CA /* TCPConnection.m */; };
    1.18 +		270E9AC20EE61113003F17CA /* TCPEndpoint.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9AA70EE61113003F17CA /* TCPEndpoint.m */; };
    1.19 +		270E9AC30EE61113003F17CA /* TCPListener.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9AA90EE61113003F17CA /* TCPListener.m */; };
    1.20 +		270E9AC40EE61113003F17CA /* TCPStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9AAB0EE61113003F17CA /* TCPStream.m */; };
    1.21 +		270E9AC50EE61113003F17CA /* TCPWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9AAD0EE61113003F17CA /* TCPWriter.m */; };
    1.22 +		270E9AC60EE61113003F17CA /* BLIPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9AB20EE61113003F17CA /* BLIPConnection.m */; };
    1.23 +		270E9AC70EE61113003F17CA /* BLIPDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9AB40EE61113003F17CA /* BLIPDispatcher.m */; };
    1.24 +		270E9AC80EE61113003F17CA /* BLIPMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9AB60EE61113003F17CA /* BLIPMessage.m */; };
    1.25 +		270E9AC90EE61113003F17CA /* BLIPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9AB80EE61113003F17CA /* BLIPRequest.m */; };
    1.26 +		270E9ACA0EE61113003F17CA /* BLIPProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9ABA0EE61113003F17CA /* BLIPProperties.m */; };
    1.27 +		270E9ACB0EE61113003F17CA /* BLIPReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9ABC0EE61113003F17CA /* BLIPReader.m */; };
    1.28 +		270E9ACC0EE61113003F17CA /* BLIPWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9ABE0EE61113003F17CA /* BLIPWriter.m */; };
    1.29 +		270E9ADF0EE6111A003F17CA /* CollectionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9AD10EE6111A003F17CA /* CollectionUtils.m */; };
    1.30 +		270E9AE00EE6111A003F17CA /* ExceptionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9AD30EE6111A003F17CA /* ExceptionUtils.m */; };
    1.31 +		270E9AE10EE6111A003F17CA /* Logging.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9AD50EE6111A003F17CA /* Logging.m */; };
    1.32 +		270E9AE20EE6111A003F17CA /* Target.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9AD70EE6111A003F17CA /* Target.m */; };
    1.33 +		270E9AE30EE6111A003F17CA /* Test.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9AD90EE6111A003F17CA /* Test.m */; };
    1.34 +		270E9AE40EE6111A003F17CA /* GTMNSData+zlib.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9ADD0EE6111A003F17CA /* GTMNSData+zlib.m */; };
    1.35 +		270E9AE90EE61167003F17CA /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 270E9AE80EE61167003F17CA /* libz.dylib */; };
    1.36 +		270E9B4F0EE63F8F003F17CA /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 270E9B4E0EE63F8F003F17CA /* CFNetwork.framework */; };
    1.37 +		270E9B950EE64B3C003F17CA /* HelloWorld.xib in Resources */ = {isa = PBXBuildFile; fileRef = 270E9B940EE64B3C003F17CA /* HelloWorld.xib */; };
    1.38 +		270E9B990EE64B45003F17CA /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 270E9B960EE64B45003F17CA /* Default.png */; };
    1.39 +		270E9B9A0EE64B45003F17CA /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 270E9B970EE64B45003F17CA /* Icon.png */; };
    1.40 +		270E9BA10EE64B4E003F17CA /* HelloWorldAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9B9E0EE64B4E003F17CA /* HelloWorldAppDelegate.m */; };
    1.41 +		270E9BA20EE64B4E003F17CA /* MyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 270E9BA00EE64B4E003F17CA /* MyViewController.m */; };
    1.42 +		280E754F0DD40C5E005A515E /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 280E754C0DD40C5E005A515E /* MainWindow.xib */; };
    1.43 +/* End PBXBuildFile section */
    1.44 +
    1.45 +/* Begin PBXFileReference section */
    1.46 +		1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
    1.47 +		1D6058910D05DD3D006BFB54 /* BLIPEcho.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BLIPEcho.app; sourceTree = BUILT_PRODUCTS_DIR; };
    1.48 +		1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
    1.49 +		270E9AA10EE61113003F17CA /* IPAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IPAddress.h; sourceTree = "<group>"; };
    1.50 +		270E9AA20EE61113003F17CA /* IPAddress.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IPAddress.m; sourceTree = "<group>"; };
    1.51 +		270E9AA40EE61113003F17CA /* TCPConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TCPConnection.h; sourceTree = "<group>"; };
    1.52 +		270E9AA50EE61113003F17CA /* TCPConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TCPConnection.m; sourceTree = "<group>"; };
    1.53 +		270E9AA60EE61113003F17CA /* TCPEndpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TCPEndpoint.h; sourceTree = "<group>"; };
    1.54 +		270E9AA70EE61113003F17CA /* TCPEndpoint.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TCPEndpoint.m; sourceTree = "<group>"; };
    1.55 +		270E9AA80EE61113003F17CA /* TCPListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TCPListener.h; sourceTree = "<group>"; };
    1.56 +		270E9AA90EE61113003F17CA /* TCPListener.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TCPListener.m; sourceTree = "<group>"; };
    1.57 +		270E9AAA0EE61113003F17CA /* TCPStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TCPStream.h; sourceTree = "<group>"; };
    1.58 +		270E9AAB0EE61113003F17CA /* TCPStream.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TCPStream.m; sourceTree = "<group>"; };
    1.59 +		270E9AAC0EE61113003F17CA /* TCPWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TCPWriter.h; sourceTree = "<group>"; };
    1.60 +		270E9AAD0EE61113003F17CA /* TCPWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TCPWriter.m; sourceTree = "<group>"; };
    1.61 +		270E9AAE0EE61113003F17CA /* TCP_Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TCP_Internal.h; sourceTree = "<group>"; };
    1.62 +		270E9AB00EE61113003F17CA /* BLIP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIP.h; sourceTree = "<group>"; };
    1.63 +		270E9AB10EE61113003F17CA /* BLIPConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPConnection.h; sourceTree = "<group>"; };
    1.64 +		270E9AB20EE61113003F17CA /* BLIPConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPConnection.m; sourceTree = "<group>"; };
    1.65 +		270E9AB30EE61113003F17CA /* BLIPDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPDispatcher.h; sourceTree = "<group>"; };
    1.66 +		270E9AB40EE61113003F17CA /* BLIPDispatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPDispatcher.m; sourceTree = "<group>"; };
    1.67 +		270E9AB50EE61113003F17CA /* BLIPMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPMessage.h; sourceTree = "<group>"; };
    1.68 +		270E9AB60EE61113003F17CA /* BLIPMessage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPMessage.m; sourceTree = "<group>"; };
    1.69 +		270E9AB70EE61113003F17CA /* BLIPRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPRequest.h; sourceTree = "<group>"; };
    1.70 +		270E9AB80EE61113003F17CA /* BLIPRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPRequest.m; sourceTree = "<group>"; };
    1.71 +		270E9AB90EE61113003F17CA /* BLIPProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPProperties.h; sourceTree = "<group>"; };
    1.72 +		270E9ABA0EE61113003F17CA /* BLIPProperties.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPProperties.m; sourceTree = "<group>"; };
    1.73 +		270E9ABB0EE61113003F17CA /* BLIPReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPReader.h; sourceTree = "<group>"; };
    1.74 +		270E9ABC0EE61113003F17CA /* BLIPReader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPReader.m; sourceTree = "<group>"; };
    1.75 +		270E9ABD0EE61113003F17CA /* BLIPWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPWriter.h; sourceTree = "<group>"; };
    1.76 +		270E9ABE0EE61113003F17CA /* BLIPWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPWriter.m; sourceTree = "<group>"; };
    1.77 +		270E9ABF0EE61113003F17CA /* BLIP_Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIP_Internal.h; sourceTree = "<group>"; };
    1.78 +		270E9ACE0EE6111A003F17CA /* MYUtilitiesTest_main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MYUtilitiesTest_main.m; sourceTree = "<group>"; };
    1.79 +		270E9ACF0EE6111A003F17CA /* MYUtilities_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MYUtilities_Prefix.pch; sourceTree = "<group>"; };
    1.80 +		270E9AD00EE6111A003F17CA /* CollectionUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CollectionUtils.h; sourceTree = "<group>"; };
    1.81 +		270E9AD10EE6111A003F17CA /* CollectionUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CollectionUtils.m; sourceTree = "<group>"; };
    1.82 +		270E9AD20EE6111A003F17CA /* ExceptionUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExceptionUtils.h; sourceTree = "<group>"; };
    1.83 +		270E9AD30EE6111A003F17CA /* ExceptionUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ExceptionUtils.m; sourceTree = "<group>"; };
    1.84 +		270E9AD40EE6111A003F17CA /* Logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Logging.h; sourceTree = "<group>"; };
    1.85 +		270E9AD50EE6111A003F17CA /* Logging.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Logging.m; sourceTree = "<group>"; };
    1.86 +		270E9AD60EE6111A003F17CA /* Target.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Target.h; sourceTree = "<group>"; };
    1.87 +		270E9AD70EE6111A003F17CA /* Target.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Target.m; sourceTree = "<group>"; };
    1.88 +		270E9AD80EE6111A003F17CA /* Test.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Test.h; sourceTree = "<group>"; };
    1.89 +		270E9AD90EE6111A003F17CA /* Test.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Test.m; sourceTree = "<group>"; };
    1.90 +		270E9ADB0EE6111A003F17CA /* GTMDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMDefines.h; sourceTree = "<group>"; };
    1.91 +		270E9ADC0EE6111A003F17CA /* GTMNSData+zlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "GTMNSData+zlib.h"; sourceTree = "<group>"; };
    1.92 +		270E9ADD0EE6111A003F17CA /* GTMNSData+zlib.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "GTMNSData+zlib.m"; sourceTree = "<group>"; };
    1.93 +		270E9AE80EE61167003F17CA /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
    1.94 +		270E9B4E0EE63F8F003F17CA /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
    1.95 +		270E9B940EE64B3C003F17CA /* HelloWorld.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HelloWorld.xib; sourceTree = "<group>"; };
    1.96 +		270E9B960EE64B45003F17CA /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = "<group>"; };
    1.97 +		270E9B970EE64B45003F17CA /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = "<group>"; };
    1.98 +		270E9B9D0EE64B4E003F17CA /* HelloWorldAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HelloWorldAppDelegate.h; sourceTree = "<group>"; };
    1.99 +		270E9B9E0EE64B4E003F17CA /* HelloWorldAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HelloWorldAppDelegate.m; sourceTree = "<group>"; };
   1.100 +		270E9B9F0EE64B4E003F17CA /* MyViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyViewController.h; sourceTree = "<group>"; };
   1.101 +		270E9BA00EE64B4E003F17CA /* MyViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyViewController.m; sourceTree = "<group>"; };
   1.102 +		280E754C0DD40C5E005A515E /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; };
   1.103 +		29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = iPhone/main.m; sourceTree = "<group>"; };
   1.104 +		8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
   1.105 +/* End PBXFileReference section */
   1.106 +
   1.107 +/* Begin PBXFrameworksBuildPhase section */
   1.108 +		1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
   1.109 +			isa = PBXFrameworksBuildPhase;
   1.110 +			buildActionMask = 2147483647;
   1.111 +			files = (
   1.112 +				1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
   1.113 +				1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
   1.114 +				270E9AE90EE61167003F17CA /* libz.dylib in Frameworks */,
   1.115 +				270E9B4F0EE63F8F003F17CA /* CFNetwork.framework in Frameworks */,
   1.116 +			);
   1.117 +			runOnlyForDeploymentPostprocessing = 0;
   1.118 +		};
   1.119 +/* End PBXFrameworksBuildPhase section */
   1.120 +
   1.121 +/* Begin PBXGroup section */
   1.122 +		19C28FACFE9D520D11CA2CBB /* Products */ = {
   1.123 +			isa = PBXGroup;
   1.124 +			children = (
   1.125 +				1D6058910D05DD3D006BFB54 /* BLIPEcho.app */,
   1.126 +			);
   1.127 +			name = Products;
   1.128 +			sourceTree = "<group>";
   1.129 +		};
   1.130 +		270E9A9B0EE61091003F17CA /* iPhone */ = {
   1.131 +			isa = PBXGroup;
   1.132 +			children = (
   1.133 +				270E9B9C0EE64B4E003F17CA /* Classes */,
   1.134 +				29B97317FDCFA39411CA2CEA /* Resources */,
   1.135 +			);
   1.136 +			path = iPhone;
   1.137 +			sourceTree = "<group>";
   1.138 +			tabWidth = 4;
   1.139 +		};
   1.140 +		270E9AA00EE61113003F17CA /* MYNetwork */ = {
   1.141 +			isa = PBXGroup;
   1.142 +			children = (
   1.143 +				270E9AA10EE61113003F17CA /* IPAddress.h */,
   1.144 +				270E9AA20EE61113003F17CA /* IPAddress.m */,
   1.145 +				270E9AA30EE61113003F17CA /* TCP */,
   1.146 +				270E9AAF0EE61113003F17CA /* BLIP */,
   1.147 +			);
   1.148 +			name = MYNetwork;
   1.149 +			sourceTree = "<group>";
   1.150 +		};
   1.151 +		270E9AA30EE61113003F17CA /* TCP */ = {
   1.152 +			isa = PBXGroup;
   1.153 +			children = (
   1.154 +				270E9AA40EE61113003F17CA /* TCPConnection.h */,
   1.155 +				270E9AA50EE61113003F17CA /* TCPConnection.m */,
   1.156 +				270E9AA60EE61113003F17CA /* TCPEndpoint.h */,
   1.157 +				270E9AA70EE61113003F17CA /* TCPEndpoint.m */,
   1.158 +				270E9AA80EE61113003F17CA /* TCPListener.h */,
   1.159 +				270E9AA90EE61113003F17CA /* TCPListener.m */,
   1.160 +				270E9AAA0EE61113003F17CA /* TCPStream.h */,
   1.161 +				270E9AAB0EE61113003F17CA /* TCPStream.m */,
   1.162 +				270E9AAC0EE61113003F17CA /* TCPWriter.h */,
   1.163 +				270E9AAD0EE61113003F17CA /* TCPWriter.m */,
   1.164 +				270E9AAE0EE61113003F17CA /* TCP_Internal.h */,
   1.165 +			);
   1.166 +			path = TCP;
   1.167 +			sourceTree = "<group>";
   1.168 +		};
   1.169 +		270E9AAF0EE61113003F17CA /* BLIP */ = {
   1.170 +			isa = PBXGroup;
   1.171 +			children = (
   1.172 +				270E9AB00EE61113003F17CA /* BLIP.h */,
   1.173 +				270E9AB10EE61113003F17CA /* BLIPConnection.h */,
   1.174 +				270E9AB20EE61113003F17CA /* BLIPConnection.m */,
   1.175 +				270E9AB30EE61113003F17CA /* BLIPDispatcher.h */,
   1.176 +				270E9AB40EE61113003F17CA /* BLIPDispatcher.m */,
   1.177 +				270E9AB50EE61113003F17CA /* BLIPMessage.h */,
   1.178 +				270E9AB60EE61113003F17CA /* BLIPMessage.m */,
   1.179 +				270E9AB70EE61113003F17CA /* BLIPRequest.h */,
   1.180 +				270E9AB80EE61113003F17CA /* BLIPRequest.m */,
   1.181 +				270E9AB90EE61113003F17CA /* BLIPProperties.h */,
   1.182 +				270E9ABA0EE61113003F17CA /* BLIPProperties.m */,
   1.183 +				270E9ABB0EE61113003F17CA /* BLIPReader.h */,
   1.184 +				270E9ABC0EE61113003F17CA /* BLIPReader.m */,
   1.185 +				270E9ABD0EE61113003F17CA /* BLIPWriter.h */,
   1.186 +				270E9ABE0EE61113003F17CA /* BLIPWriter.m */,
   1.187 +				270E9ABF0EE61113003F17CA /* BLIP_Internal.h */,
   1.188 +			);
   1.189 +			path = BLIP;
   1.190 +			sourceTree = "<group>";
   1.191 +		};
   1.192 +		270E9ACD0EE6111A003F17CA /* MYUtilities */ = {
   1.193 +			isa = PBXGroup;
   1.194 +			children = (
   1.195 +				270E9ACE0EE6111A003F17CA /* MYUtilitiesTest_main.m */,
   1.196 +				270E9ACF0EE6111A003F17CA /* MYUtilities_Prefix.pch */,
   1.197 +				270E9AD00EE6111A003F17CA /* CollectionUtils.h */,
   1.198 +				270E9AD10EE6111A003F17CA /* CollectionUtils.m */,
   1.199 +				270E9AD20EE6111A003F17CA /* ExceptionUtils.h */,
   1.200 +				270E9AD30EE6111A003F17CA /* ExceptionUtils.m */,
   1.201 +				270E9AD40EE6111A003F17CA /* Logging.h */,
   1.202 +				270E9AD50EE6111A003F17CA /* Logging.m */,
   1.203 +				270E9AD60EE6111A003F17CA /* Target.h */,
   1.204 +				270E9AD70EE6111A003F17CA /* Target.m */,
   1.205 +				270E9AD80EE6111A003F17CA /* Test.h */,
   1.206 +				270E9AD90EE6111A003F17CA /* Test.m */,
   1.207 +				270E9ADA0EE6111A003F17CA /* GoogleToolboxSubset */,
   1.208 +			);
   1.209 +			name = MYUtilities;
   1.210 +			path = ../MYUtilities;
   1.211 +			sourceTree = SOURCE_ROOT;
   1.212 +		};
   1.213 +		270E9ADA0EE6111A003F17CA /* GoogleToolboxSubset */ = {
   1.214 +			isa = PBXGroup;
   1.215 +			children = (
   1.216 +				270E9ADB0EE6111A003F17CA /* GTMDefines.h */,
   1.217 +				270E9ADC0EE6111A003F17CA /* GTMNSData+zlib.h */,
   1.218 +				270E9ADD0EE6111A003F17CA /* GTMNSData+zlib.m */,
   1.219 +			);
   1.220 +			path = GoogleToolboxSubset;
   1.221 +			sourceTree = "<group>";
   1.222 +		};
   1.223 +		270E9B9C0EE64B4E003F17CA /* Classes */ = {
   1.224 +			isa = PBXGroup;
   1.225 +			children = (
   1.226 +				270E9B9D0EE64B4E003F17CA /* HelloWorldAppDelegate.h */,
   1.227 +				270E9B9E0EE64B4E003F17CA /* HelloWorldAppDelegate.m */,
   1.228 +				270E9B9F0EE64B4E003F17CA /* MyViewController.h */,
   1.229 +				270E9BA00EE64B4E003F17CA /* MyViewController.m */,
   1.230 +			);
   1.231 +			path = Classes;
   1.232 +			sourceTree = "<group>";
   1.233 +		};
   1.234 +		29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
   1.235 +			isa = PBXGroup;
   1.236 +			children = (
   1.237 +				270E9AA00EE61113003F17CA /* MYNetwork */,
   1.238 +				270E9ACD0EE6111A003F17CA /* MYUtilities */,
   1.239 +				270E9A9B0EE61091003F17CA /* iPhone */,
   1.240 +				29B97315FDCFA39411CA2CEA /* Other Sources */,
   1.241 +				29B97323FDCFA39411CA2CEA /* Frameworks */,
   1.242 +				19C28FACFE9D520D11CA2CBB /* Products */,
   1.243 +			);
   1.244 +			name = CustomTemplate;
   1.245 +			sourceTree = "<group>";
   1.246 +		};
   1.247 +		29B97315FDCFA39411CA2CEA /* Other Sources */ = {
   1.248 +			isa = PBXGroup;
   1.249 +			children = (
   1.250 +				29B97316FDCFA39411CA2CEA /* main.m */,
   1.251 +			);
   1.252 +			name = "Other Sources";
   1.253 +			sourceTree = "<group>";
   1.254 +		};
   1.255 +		29B97317FDCFA39411CA2CEA /* Resources */ = {
   1.256 +			isa = PBXGroup;
   1.257 +			children = (
   1.258 +				270E9B940EE64B3C003F17CA /* HelloWorld.xib */,
   1.259 +				280E754C0DD40C5E005A515E /* MainWindow.xib */,
   1.260 +				8D1107310486CEB800E47090 /* Info.plist */,
   1.261 +				270E9B960EE64B45003F17CA /* Default.png */,
   1.262 +				270E9B970EE64B45003F17CA /* Icon.png */,
   1.263 +			);
   1.264 +			name = Resources;
   1.265 +			sourceTree = "<group>";
   1.266 +		};
   1.267 +		29B97323FDCFA39411CA2CEA /* Frameworks */ = {
   1.268 +			isa = PBXGroup;
   1.269 +			children = (
   1.270 +				1D30AB110D05D00D00671497 /* Foundation.framework */,
   1.271 +				270E9B4E0EE63F8F003F17CA /* CFNetwork.framework */,
   1.272 +				270E9AE80EE61167003F17CA /* libz.dylib */,
   1.273 +				1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
   1.274 +			);
   1.275 +			name = Frameworks;
   1.276 +			sourceTree = "<group>";
   1.277 +		};
   1.278 +/* End PBXGroup section */
   1.279 +
   1.280 +/* Begin PBXNativeTarget section */
   1.281 +		1D6058900D05DD3D006BFB54 /* MYNetwork-iPhone */ = {
   1.282 +			isa = PBXNativeTarget;
   1.283 +			buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "MYNetwork-iPhone" */;
   1.284 +			buildPhases = (
   1.285 +				1D60588D0D05DD3D006BFB54 /* Resources */,
   1.286 +				1D60588E0D05DD3D006BFB54 /* Sources */,
   1.287 +				1D60588F0D05DD3D006BFB54 /* Frameworks */,
   1.288 +			);
   1.289 +			buildRules = (
   1.290 +			);
   1.291 +			dependencies = (
   1.292 +			);
   1.293 +			name = "MYNetwork-iPhone";
   1.294 +			productName = "MYNetwork-iPhone";
   1.295 +			productReference = 1D6058910D05DD3D006BFB54 /* BLIPEcho.app */;
   1.296 +			productType = "com.apple.product-type.application";
   1.297 +		};
   1.298 +/* End PBXNativeTarget section */
   1.299 +
   1.300 +/* Begin PBXProject section */
   1.301 +		29B97313FDCFA39411CA2CEA /* Project object */ = {
   1.302 +			isa = PBXProject;
   1.303 +			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "MYNetwork-iPhone" */;
   1.304 +			compatibilityVersion = "Xcode 3.1";
   1.305 +			hasScannedForEncodings = 1;
   1.306 +			knownRegions = (
   1.307 +				English,
   1.308 +				Japanese,
   1.309 +				French,
   1.310 +				German,
   1.311 +				en,
   1.312 +			);
   1.313 +			mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
   1.314 +			projectDirPath = "";
   1.315 +			projectRoot = "";
   1.316 +			targets = (
   1.317 +				1D6058900D05DD3D006BFB54 /* MYNetwork-iPhone */,
   1.318 +			);
   1.319 +		};
   1.320 +/* End PBXProject section */
   1.321 +
   1.322 +/* Begin PBXResourcesBuildPhase section */
   1.323 +		1D60588D0D05DD3D006BFB54 /* Resources */ = {
   1.324 +			isa = PBXResourcesBuildPhase;
   1.325 +			buildActionMask = 2147483647;
   1.326 +			files = (
   1.327 +				280E754F0DD40C5E005A515E /* MainWindow.xib in Resources */,
   1.328 +				270E9B950EE64B3C003F17CA /* HelloWorld.xib in Resources */,
   1.329 +				270E9B990EE64B45003F17CA /* Default.png in Resources */,
   1.330 +				270E9B9A0EE64B45003F17CA /* Icon.png in Resources */,
   1.331 +			);
   1.332 +			runOnlyForDeploymentPostprocessing = 0;
   1.333 +		};
   1.334 +/* End PBXResourcesBuildPhase section */
   1.335 +
   1.336 +/* Begin PBXSourcesBuildPhase section */
   1.337 +		1D60588E0D05DD3D006BFB54 /* Sources */ = {
   1.338 +			isa = PBXSourcesBuildPhase;
   1.339 +			buildActionMask = 2147483647;
   1.340 +			files = (
   1.341 +				1D60589B0D05DD56006BFB54 /* main.m in Sources */,
   1.342 +				270E9AC00EE61113003F17CA /* IPAddress.m in Sources */,
   1.343 +				270E9AC10EE61113003F17CA /* TCPConnection.m in Sources */,
   1.344 +				270E9AC20EE61113003F17CA /* TCPEndpoint.m in Sources */,
   1.345 +				270E9AC30EE61113003F17CA /* TCPListener.m in Sources */,
   1.346 +				270E9AC40EE61113003F17CA /* TCPStream.m in Sources */,
   1.347 +				270E9AC50EE61113003F17CA /* TCPWriter.m in Sources */,
   1.348 +				270E9AC60EE61113003F17CA /* BLIPConnection.m in Sources */,
   1.349 +				270E9AC70EE61113003F17CA /* BLIPDispatcher.m in Sources */,
   1.350 +				270E9AC80EE61113003F17CA /* BLIPMessage.m in Sources */,
   1.351 +				270E9AC90EE61113003F17CA /* BLIPRequest.m in Sources */,
   1.352 +				270E9ACA0EE61113003F17CA /* BLIPProperties.m in Sources */,
   1.353 +				270E9ACB0EE61113003F17CA /* BLIPReader.m in Sources */,
   1.354 +				270E9ACC0EE61113003F17CA /* BLIPWriter.m in Sources */,
   1.355 +				270E9ADF0EE6111A003F17CA /* CollectionUtils.m in Sources */,
   1.356 +				270E9AE00EE6111A003F17CA /* ExceptionUtils.m in Sources */,
   1.357 +				270E9AE10EE6111A003F17CA /* Logging.m in Sources */,
   1.358 +				270E9AE20EE6111A003F17CA /* Target.m in Sources */,
   1.359 +				270E9AE30EE6111A003F17CA /* Test.m in Sources */,
   1.360 +				270E9AE40EE6111A003F17CA /* GTMNSData+zlib.m in Sources */,
   1.361 +				270E9BA10EE64B4E003F17CA /* HelloWorldAppDelegate.m in Sources */,
   1.362 +				270E9BA20EE64B4E003F17CA /* MyViewController.m in Sources */,
   1.363 +			);
   1.364 +			runOnlyForDeploymentPostprocessing = 0;
   1.365 +		};
   1.366 +/* End PBXSourcesBuildPhase section */
   1.367 +
   1.368 +/* Begin XCBuildConfiguration section */
   1.369 +		1D6058940D05DD3E006BFB54 /* Debug */ = {
   1.370 +			isa = XCBuildConfiguration;
   1.371 +			buildSettings = {
   1.372 +				ALWAYS_SEARCH_USER_PATHS = NO;
   1.373 +				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Jens Alfke";
   1.374 +				COPY_PHASE_STRIP = NO;
   1.375 +				GCC_DYNAMIC_NO_PIC = NO;
   1.376 +				GCC_OPTIMIZATION_LEVEL = 0;
   1.377 +				GCC_PRECOMPILE_PREFIX_HEADER = YES;
   1.378 +				GCC_PREFIX_HEADER = iPhone/MYNetwork_iPhone_Prefix.pch;
   1.379 +				INFOPLIST_FILE = iPhone/Info.plist;
   1.380 +				PRODUCT_NAME = BLIPEcho;
   1.381 +				PROVISIONING_PROFILE = "166C8314-D005-438F-841B-B20D42F71712";
   1.382 +			};
   1.383 +			name = Debug;
   1.384 +		};
   1.385 +		1D6058950D05DD3E006BFB54 /* Release */ = {
   1.386 +			isa = XCBuildConfiguration;
   1.387 +			buildSettings = {
   1.388 +				ALWAYS_SEARCH_USER_PATHS = NO;
   1.389 +				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Jens Alfke";
   1.390 +				COPY_PHASE_STRIP = YES;
   1.391 +				GCC_PRECOMPILE_PREFIX_HEADER = YES;
   1.392 +				GCC_PREFIX_HEADER = iPhone/MYNetwork_iPhone_Prefix.pch;
   1.393 +				INFOPLIST_FILE = iPhone/Info.plist;
   1.394 +				PRODUCT_NAME = BLIPEcho;
   1.395 +				PROVISIONING_PROFILE = "166C8314-D005-438F-841B-B20D42F71712";
   1.396 +			};
   1.397 +			name = Release;
   1.398 +		};
   1.399 +		C01FCF4F08A954540054247B /* Debug */ = {
   1.400 +			isa = XCBuildConfiguration;
   1.401 +			buildSettings = {
   1.402 +				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
   1.403 +				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
   1.404 +				GCC_C_LANGUAGE_STANDARD = c99;
   1.405 +				GCC_WARN_ABOUT_RETURN_TYPE = YES;
   1.406 +				GCC_WARN_UNUSED_VARIABLE = YES;
   1.407 +				ONLY_ACTIVE_ARCH = YES;
   1.408 +				PREBINDING = NO;
   1.409 +				SDKROOT = iphonesimulator2.0;
   1.410 +			};
   1.411 +			name = Debug;
   1.412 +		};
   1.413 +		C01FCF5008A954540054247B /* Release */ = {
   1.414 +			isa = XCBuildConfiguration;
   1.415 +			buildSettings = {
   1.416 +				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
   1.417 +				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
   1.418 +				GCC_C_LANGUAGE_STANDARD = c99;
   1.419 +				GCC_WARN_ABOUT_RETURN_TYPE = YES;
   1.420 +				GCC_WARN_UNUSED_VARIABLE = YES;
   1.421 +				PREBINDING = NO;
   1.422 +				SDKROOT = iphonesimulator2.0;
   1.423 +			};
   1.424 +			name = Release;
   1.425 +		};
   1.426 +/* End XCBuildConfiguration section */
   1.427 +
   1.428 +/* Begin XCConfigurationList section */
   1.429 +		1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "MYNetwork-iPhone" */ = {
   1.430 +			isa = XCConfigurationList;
   1.431 +			buildConfigurations = (
   1.432 +				1D6058940D05DD3E006BFB54 /* Debug */,
   1.433 +				1D6058950D05DD3E006BFB54 /* Release */,
   1.434 +			);
   1.435 +			defaultConfigurationIsVisible = 0;
   1.436 +			defaultConfigurationName = Release;
   1.437 +		};
   1.438 +		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "MYNetwork-iPhone" */ = {
   1.439 +			isa = XCConfigurationList;
   1.440 +			buildConfigurations = (
   1.441 +				C01FCF4F08A954540054247B /* Debug */,
   1.442 +				C01FCF5008A954540054247B /* Release */,
   1.443 +			);
   1.444 +			defaultConfigurationIsVisible = 0;
   1.445 +			defaultConfigurationName = Release;
   1.446 +		};
   1.447 +/* End XCConfigurationList section */
   1.448 +	};
   1.449 +	rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
   1.450 +}
     2.1 --- a/TCP/TCPConnection.m	Tue Jul 15 09:37:15 2008 -0700
     2.2 +++ b/TCP/TCPConnection.m	Tue Dec 02 22:42:56 2008 -0800
     2.3 @@ -14,7 +14,7 @@
     2.4  #import "ExceptionUtils.h"
     2.5  
     2.6  
     2.7 -#if (TARGET_OS_IPHONE && !(TARGET_OS_MAC || TARGET_OS_EMBEDDED))
     2.8 +#if TARGET_OS_IPHONE && TARGET_OS_EMBEDDED
     2.9  // SecureTransport.h is missing on iPhone, with its SSL constants:
    2.10  enum{
    2.11      errSSLClosedAbort 			= -9806,	/* connection closed via error */
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/iPhone/Classes/HelloWorldAppDelegate.h	Tue Dec 02 22:42:56 2008 -0800
     3.3 @@ -0,0 +1,65 @@
     3.4 +/*
     3.5 +
     3.6 +File: HelloWorldAppDelegate.h
     3.7 +Abstract: Responsible for creating the view controller and adding its view to
     3.8 +the window.
     3.9 + 
    3.10 + See the ReadMe file for pointers to additional resources about iPhone
    3.11 +development.
    3.12 +
    3.13 +Version: 1.7
    3.14 +
    3.15 +Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple Inc.
    3.16 +("Apple") in consideration of your agreement to the following terms, and your
    3.17 +use, installation, modification or redistribution of this Apple software
    3.18 +constitutes acceptance of these terms.  If you do not agree with these terms,
    3.19 +please do not use, install, modify or redistribute this Apple software.
    3.20 +
    3.21 +In consideration of your agreement to abide by the following terms, and subject
    3.22 +to these terms, Apple grants you a personal, non-exclusive license, under
    3.23 +Apple's copyrights in this original Apple software (the "Apple Software"), to
    3.24 +use, reproduce, modify and redistribute the Apple Software, with or without
    3.25 +modifications, in source and/or binary forms; provided that if you redistribute
    3.26 +the Apple Software in its entirety and without modifications, you must retain
    3.27 +this notice and the following text and disclaimers in all such redistributions
    3.28 +of the Apple Software.
    3.29 +Neither the name, trademarks, service marks or logos of Apple Inc. may be used
    3.30 +to endorse or promote products derived from the Apple Software without specific
    3.31 +prior written permission from Apple.  Except as expressly stated in this notice,
    3.32 +no other rights or licenses, express or implied, are granted by Apple herein,
    3.33 +including but not limited to any patent rights that may be infringed by your
    3.34 +derivative works or by other works in which the Apple Software may be
    3.35 +incorporated.
    3.36 +
    3.37 +The Apple Software is provided by Apple on an "AS IS" basis.  APPLE MAKES NO
    3.38 +WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
    3.39 +WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    3.40 +PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
    3.41 +COMBINATION WITH YOUR PRODUCTS.
    3.42 +
    3.43 +IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
    3.44 +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    3.45 +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    3.46 +ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR
    3.47 +DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF
    3.48 +CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF
    3.49 +APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    3.50 +
    3.51 +Copyright (C) 2008 Apple Inc. All Rights Reserved.
    3.52 +
    3.53 +*/
    3.54 +
    3.55 +#import <UIKit/UIKit.h>
    3.56 +
    3.57 +@class MyViewController;
    3.58 +
    3.59 +@interface HelloWorldAppDelegate : NSObject <UIApplicationDelegate> {
    3.60 +	
    3.61 +	IBOutlet UIWindow *window;
    3.62 +	MyViewController *myViewController;
    3.63 +}
    3.64 +
    3.65 +@property (nonatomic, retain) UIWindow *window;
    3.66 +@property (nonatomic, retain) MyViewController *myViewController;
    3.67 +
    3.68 +@end
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/iPhone/Classes/HelloWorldAppDelegate.m	Tue Dec 02 22:42:56 2008 -0800
     4.3 @@ -0,0 +1,84 @@
     4.4 +/*
     4.5 +
     4.6 +File: HelloWorldAppDelegate.m
     4.7 +Abstract: Responsible for creating the view controller and adding its view to
     4.8 +the window.
     4.9 + 
    4.10 + See the ReadMe file for pointers to additional resources about iPhone
    4.11 +development.
    4.12 +
    4.13 +Version: 1.7
    4.14 +
    4.15 +Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple Inc.
    4.16 +("Apple") in consideration of your agreement to the following terms, and your
    4.17 +use, installation, modification or redistribution of this Apple software
    4.18 +constitutes acceptance of these terms.  If you do not agree with these terms,
    4.19 +please do not use, install, modify or redistribute this Apple software.
    4.20 +
    4.21 +In consideration of your agreement to abide by the following terms, and subject
    4.22 +to these terms, Apple grants you a personal, non-exclusive license, under
    4.23 +Apple's copyrights in this original Apple software (the "Apple Software"), to
    4.24 +use, reproduce, modify and redistribute the Apple Software, with or without
    4.25 +modifications, in source and/or binary forms; provided that if you redistribute
    4.26 +the Apple Software in its entirety and without modifications, you must retain
    4.27 +this notice and the following text and disclaimers in all such redistributions
    4.28 +of the Apple Software.
    4.29 +Neither the name, trademarks, service marks or logos of Apple Inc. may be used
    4.30 +to endorse or promote products derived from the Apple Software without specific
    4.31 +prior written permission from Apple.  Except as expressly stated in this notice,
    4.32 +no other rights or licenses, express or implied, are granted by Apple herein,
    4.33 +including but not limited to any patent rights that may be infringed by your
    4.34 +derivative works or by other works in which the Apple Software may be
    4.35 +incorporated.
    4.36 +
    4.37 +The Apple Software is provided by Apple on an "AS IS" basis.  APPLE MAKES NO
    4.38 +WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
    4.39 +WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    4.40 +PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
    4.41 +COMBINATION WITH YOUR PRODUCTS.
    4.42 +
    4.43 +IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
    4.44 +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    4.45 +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    4.46 +ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR
    4.47 +DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF
    4.48 +CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF
    4.49 +APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    4.50 +
    4.51 +Copyright (C) 2008 Apple Inc. All Rights Reserved.
    4.52 +
    4.53 +*/
    4.54 +
    4.55 +#import "HelloWorldAppDelegate.h"
    4.56 +#import "MyViewController.h"
    4.57 +
    4.58 +
    4.59 +@implementation HelloWorldAppDelegate
    4.60 +
    4.61 +@synthesize window;
    4.62 +@synthesize myViewController;
    4.63 +
    4.64 +
    4.65 +- (void)applicationDidFinishLaunching:(UIApplication *)application {
    4.66 +	
    4.67 +	// Set up the view controller
    4.68 +	MyViewController *aViewController = [[MyViewController alloc] initWithNibName:@"HelloWorld" bundle:[NSBundle mainBundle]];
    4.69 +	self.myViewController = aViewController;
    4.70 +	[aViewController release];
    4.71 +    
    4.72 +    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque];
    4.73 +	
    4.74 +	// Add the view controller's view as a subview of the window
    4.75 +	UIView *controllersView = [myViewController view];
    4.76 +	[window addSubview:controllersView];
    4.77 +	[window makeKeyAndVisible];
    4.78 +}
    4.79 +
    4.80 +
    4.81 +- (void)dealloc {
    4.82 +	[myViewController release];
    4.83 +	[window release];
    4.84 +	[super dealloc];
    4.85 +}
    4.86 +
    4.87 +@end
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/iPhone/Classes/MyViewController.h	Tue Dec 02 22:42:56 2008 -0800
     5.3 @@ -0,0 +1,68 @@
     5.4 +/*
     5.5 +
     5.6 +File: MyViewController.h
     5.7 +Abstract: A view controller responsible for managing the Hello World view.
     5.8 +
     5.9 +Version: 1.7
    5.10 +
    5.11 +Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple Inc.
    5.12 +("Apple") in consideration of your agreement to the following terms, and your
    5.13 +use, installation, modification or redistribution of this Apple software
    5.14 +constitutes acceptance of these terms.  If you do not agree with these terms,
    5.15 +please do not use, install, modify or redistribute this Apple software.
    5.16 +
    5.17 +In consideration of your agreement to abide by the following terms, and subject
    5.18 +to these terms, Apple grants you a personal, non-exclusive license, under
    5.19 +Apple's copyrights in this original Apple software (the "Apple Software"), to
    5.20 +use, reproduce, modify and redistribute the Apple Software, with or without
    5.21 +modifications, in source and/or binary forms; provided that if you redistribute
    5.22 +the Apple Software in its entirety and without modifications, you must retain
    5.23 +this notice and the following text and disclaimers in all such redistributions
    5.24 +of the Apple Software.
    5.25 +Neither the name, trademarks, service marks or logos of Apple Inc. may be used
    5.26 +to endorse or promote products derived from the Apple Software without specific
    5.27 +prior written permission from Apple.  Except as expressly stated in this notice,
    5.28 +no other rights or licenses, express or implied, are granted by Apple herein,
    5.29 +including but not limited to any patent rights that may be infringed by your
    5.30 +derivative works or by other works in which the Apple Software may be
    5.31 +incorporated.
    5.32 +
    5.33 +The Apple Software is provided by Apple on an "AS IS" basis.  APPLE MAKES NO
    5.34 +WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
    5.35 +WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    5.36 +PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
    5.37 +COMBINATION WITH YOUR PRODUCTS.
    5.38 +
    5.39 +IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
    5.40 +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    5.41 +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    5.42 +ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR
    5.43 +DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF
    5.44 +CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF
    5.45 +APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    5.46 +
    5.47 +Copyright (C) 2008 Apple Inc. All Rights Reserved.
    5.48 +
    5.49 +*/
    5.50 +
    5.51 +#import <UIKit/UIKit.h>
    5.52 +#import "BLIPConnection.h"
    5.53 +
    5.54 +@interface MyViewController : UIViewController <UITextFieldDelegate, 
    5.55 +                                                TCPListenerDelegate,
    5.56 +                                                BLIPConnectionDelegate> {
    5.57 +	
    5.58 +	IBOutlet UITextField *textField;
    5.59 +	IBOutlet UILabel *label;
    5.60 +	NSString *string;
    5.61 +    BLIPListener *_listener;
    5.62 +}
    5.63 +
    5.64 +@property (nonatomic, retain) UITextField *textField;
    5.65 +@property (nonatomic, retain) UILabel *label;
    5.66 +@property (nonatomic, copy) NSString *string;
    5.67 +
    5.68 +- (void)updateString;
    5.69 +
    5.70 +@end
    5.71 +
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/iPhone/Classes/MyViewController.m	Tue Dec 02 22:42:56 2008 -0800
     6.3 @@ -0,0 +1,153 @@
     6.4 +/*
     6.5 +
     6.6 +File: MyViewController.m
     6.7 +Abstract: A view controller responsible for managing the Hello World view.
     6.8 +
     6.9 +Version: 1.7
    6.10 +
    6.11 +Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple Inc.
    6.12 +("Apple") in consideration of your agreement to the following terms, and your
    6.13 +use, installation, modification or redistribution of this Apple software
    6.14 +constitutes acceptance of these terms.  If you do not agree with these terms,
    6.15 +please do not use, install, modify or redistribute this Apple software.
    6.16 +
    6.17 +In consideration of your agreement to abide by the following terms, and subject
    6.18 +to these terms, Apple grants you a personal, non-exclusive license, under
    6.19 +Apple's copyrights in this original Apple software (the "Apple Software"), to
    6.20 +use, reproduce, modify and redistribute the Apple Software, with or without
    6.21 +modifications, in source and/or binary forms; provided that if you redistribute
    6.22 +the Apple Software in its entirety and without modifications, you must retain
    6.23 +this notice and the following text and disclaimers in all such redistributions
    6.24 +of the Apple Software.
    6.25 +Neither the name, trademarks, service marks or logos of Apple Inc. may be used
    6.26 +to endorse or promote products derived from the Apple Software without specific
    6.27 +prior written permission from Apple.  Except as expressly stated in this notice,
    6.28 +no other rights or licenses, express or implied, are granted by Apple herein,
    6.29 +including but not limited to any patent rights that may be infringed by your
    6.30 +derivative works or by other works in which the Apple Software may be
    6.31 +incorporated.
    6.32 +
    6.33 +The Apple Software is provided by Apple on an "AS IS" basis.  APPLE MAKES NO
    6.34 +WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
    6.35 +WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    6.36 +PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
    6.37 +COMBINATION WITH YOUR PRODUCTS.
    6.38 +
    6.39 +IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
    6.40 +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    6.41 +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    6.42 +ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR
    6.43 +DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF
    6.44 +CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF
    6.45 +APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    6.46 +
    6.47 +Copyright (C) 2008 Apple Inc. All Rights Reserved.
    6.48 +
    6.49 +*/
    6.50 +
    6.51 +#import "MyViewController.h"
    6.52 +#import "BLIP.h"
    6.53 +
    6.54 +
    6.55 +@implementation MyViewController
    6.56 +
    6.57 +@synthesize textField;
    6.58 +@synthesize label;
    6.59 +@synthesize string;
    6.60 +
    6.61 +- (void)viewDidLoad {
    6.62 +    // When the user starts typing, show the clear button in the text field.
    6.63 +    textField.clearButtonMode = UITextFieldViewModeWhileEditing;
    6.64 +    
    6.65 +    label.text = @"Opening listener socket...";
    6.66 +
    6.67 +    _listener = [[BLIPListener alloc] initWithPort: 12345];
    6.68 +    _listener.delegate = self;
    6.69 +    _listener.pickAvailablePort = YES;
    6.70 +    _listener.bonjourServiceType = @"_blipecho._tcp";
    6.71 +    [_listener open];
    6.72 +}
    6.73 +
    6.74 +
    6.75 +- (void)updateString {
    6.76 +	
    6.77 +	// Store the text of the text field in the 'string' instance variable.
    6.78 +	self.string = textField.text;
    6.79 +    // Set the text of the label to the value of the 'string' instance variable.
    6.80 +	label.text = self.string;
    6.81 +}
    6.82 +
    6.83 +
    6.84 +- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
    6.85 +	// When the user presses return, take focus away from the text field so that the keyboard is dismissed.
    6.86 +	if (theTextField == textField) {
    6.87 +		[textField resignFirstResponder];
    6.88 +        // Invoke the method that changes the greeting.
    6.89 +        [self updateString];
    6.90 +	}
    6.91 +	return YES;
    6.92 +}
    6.93 +
    6.94 +
    6.95 +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    6.96 +{
    6.97 +    // Dismiss the keyboard when the view outside the text field is touched.
    6.98 +    [textField resignFirstResponder];
    6.99 +    // Revert the text field to the previous value.
   6.100 +    [super touchesBegan:touches withEvent:event];
   6.101 +}
   6.102 +
   6.103 +
   6.104 +- (void)dealloc {
   6.105 +	[textField release];
   6.106 +	[label release];
   6.107 +    
   6.108 +    [_listener close];
   6.109 +    [_listener release];
   6.110 +
   6.111 +	[super dealloc];
   6.112 +}
   6.113 +
   6.114 +
   6.115 +#pragma mark BLIP Listener Delegate:
   6.116 +
   6.117 +
   6.118 +- (void) listenerDidOpen: (TCPListener*)listener
   6.119 +{
   6.120 +    label.text = [NSString stringWithFormat: @"Listening on port %i",listener.port];
   6.121 +}
   6.122 +
   6.123 +- (void) listener: (TCPListener*)listener failedToOpen: (NSError*)error
   6.124 +{
   6.125 +    label.text = [NSString stringWithFormat: @"Failed to open listener on port %i: %@",
   6.126 +                  listener.port,error];
   6.127 +}
   6.128 +
   6.129 +- (void) listener: (TCPListener*)listener didAcceptConnection: (TCPConnection*)connection
   6.130 +{
   6.131 +    label.text = [NSString stringWithFormat: @"Accepted connection from %@",
   6.132 +                  connection.address];
   6.133 +    connection.delegate = self;
   6.134 +}
   6.135 +
   6.136 +- (void) connection: (TCPConnection*)connection failedToOpen: (NSError*)error
   6.137 +{
   6.138 +    label.text = [NSString stringWithFormat: @"Failed to open connection from %@: %@",
   6.139 +                  connection.address,error];
   6.140 +}
   6.141 +
   6.142 +- (void) connection: (BLIPConnection*)connection receivedRequest: (BLIPRequest*)request
   6.143 +{
   6.144 +    NSString *message = [[NSString alloc] initWithData: request.body encoding: NSUTF8StringEncoding];
   6.145 +    label.text = [NSString stringWithFormat: @"Echoed:\n“%@”",message];
   6.146 +    [request respondWithData: request.body contentType: request.contentType];
   6.147 +}
   6.148 +
   6.149 +- (void) connectionDidClose: (TCPConnection*)connection;
   6.150 +{
   6.151 +    label.text = [NSString stringWithFormat: @"Connection closed from %@",
   6.152 +                  connection.address];
   6.153 +}
   6.154 +
   6.155 +
   6.156 +@end
     7.1 Binary file iPhone/Default.png has changed
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/iPhone/HelloWorld.xib	Tue Dec 02 22:42:56 2008 -0800
     8.3 @@ -0,0 +1,262 @@
     8.4 +<?xml version="1.0" encoding="UTF-8"?>
     8.5 +<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.02">
     8.6 +	<data>
     8.7 +		<int key="IBDocument.SystemTarget">512</int>
     8.8 +		<string key="IBDocument.SystemVersion">9F33</string>
     8.9 +		<string key="IBDocument.InterfaceBuilderVersion">670</string>
    8.10 +		<string key="IBDocument.AppKitVersion">949.34</string>
    8.11 +		<string key="IBDocument.HIToolboxVersion">352.00</string>
    8.12 +		<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
    8.13 +			<bool key="EncodedWithXMLCoder">YES</bool>
    8.14 +			<integer value="24"/>
    8.15 +		</object>
    8.16 +		<object class="NSArray" key="IBDocument.PluginDependencies">
    8.17 +			<bool key="EncodedWithXMLCoder">YES</bool>
    8.18 +			<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
    8.19 +		</object>
    8.20 +		<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
    8.21 +			<bool key="EncodedWithXMLCoder">YES</bool>
    8.22 +			<object class="IBProxyObject" id="372490531">
    8.23 +				<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
    8.24 +			</object>
    8.25 +			<object class="IBProxyObject" id="223494288">
    8.26 +				<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
    8.27 +			</object>
    8.28 +			<object class="IBUIView" id="980997749">
    8.29 +				<reference key="NSNextResponder"/>
    8.30 +				<int key="NSvFlags">288</int>
    8.31 +				<object class="NSMutableArray" key="NSSubviews">
    8.32 +					<bool key="EncodedWithXMLCoder">YES</bool>
    8.33 +					<object class="IBUIImageView" id="873065569">
    8.34 +						<reference key="NSNextResponder" ref="980997749"/>
    8.35 +						<int key="NSvFlags">292</int>
    8.36 +						<string key="NSFrameSize">{320, 480}</string>
    8.37 +						<reference key="NSSuperview" ref="980997749"/>
    8.38 +						<bool key="IBUIOpaque">NO</bool>
    8.39 +						<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
    8.40 +						<int key="IBUIContentMode">4</int>
    8.41 +						<bool key="IBUIUserInteractionEnabled">NO</bool>
    8.42 +						<object class="NSCustomResource" key="IBUIImage">
    8.43 +							<string key="NSClassName">NSImage</string>
    8.44 +							<string key="NSResourceName">Default.png</string>
    8.45 +						</object>
    8.46 +					</object>
    8.47 +					<object class="IBUILabel" id="449159811">
    8.48 +						<reference key="NSNextResponder" ref="980997749"/>
    8.49 +						<int key="NSvFlags">268</int>
    8.50 +						<string key="NSFrame">{{20, 48}, {280, 115}}</string>
    8.51 +						<reference key="NSSuperview" ref="980997749"/>
    8.52 +						<object class="NSColor" key="IBUIBackgroundColor">
    8.53 +							<int key="NSColorSpace">3</int>
    8.54 +							<bytes key="NSWhite">MC43NSAwLjIyAA</bytes>
    8.55 +							<object class="NSColorSpace" key="NSCustomColorSpace" id="232880016">
    8.56 +								<int key="NSID">2</int>
    8.57 +							</object>
    8.58 +						</object>
    8.59 +						<bool key="IBUIOpaque">NO</bool>
    8.60 +						<bool key="IBUIClipsSubviews">YES</bool>
    8.61 +						<bool key="IBUIUserInteractionEnabled">NO</bool>
    8.62 +						<string key="IBUIText"/>
    8.63 +						<object class="NSFont" key="IBUIFont">
    8.64 +							<string key="NSName">Helvetica</string>
    8.65 +							<double key="NSSize">2.400000e+01</double>
    8.66 +							<int key="NSfFlags">16</int>
    8.67 +						</object>
    8.68 +						<object class="NSColor" key="IBUITextColor">
    8.69 +							<int key="NSColorSpace">3</int>
    8.70 +							<bytes key="NSWhite">MC43NDU5Njc2OSAwLjk5MDAwMDAxAA</bytes>
    8.71 +						</object>
    8.72 +						<nil key="IBUIHighlightedColor"/>
    8.73 +						<int key="IBUIBaselineAdjustment">1</int>
    8.74 +						<float key="IBUIMinimumFontSize">2.000000e+01</float>
    8.75 +						<int key="IBUINumberOfLines">4</int>
    8.76 +						<int key="IBUITextAlignment">1</int>
    8.77 +					</object>
    8.78 +					<object class="IBUILabel" id="949304106">
    8.79 +						<reference key="NSNextResponder" ref="980997749"/>
    8.80 +						<int key="NSvFlags">292</int>
    8.81 +						<string key="NSFrame">{{39, 288}, {241, 57}}</string>
    8.82 +						<reference key="NSSuperview" ref="980997749"/>
    8.83 +						<bool key="IBUIOpaque">NO</bool>
    8.84 +						<bool key="IBUIClipsSubviews">YES</bool>
    8.85 +						<bool key="IBUIUserInteractionEnabled">NO</bool>
    8.86 +						<string key="IBUIText">BLIP Echo</string>
    8.87 +						<object class="NSFont" key="IBUIFont">
    8.88 +							<string key="NSName">Helvetica-Bold</string>
    8.89 +							<double key="NSSize">4.800000e+01</double>
    8.90 +							<int key="NSfFlags">16</int>
    8.91 +						</object>
    8.92 +						<object class="NSColor" key="IBUITextColor">
    8.93 +							<int key="NSColorSpace">1</int>
    8.94 +							<bytes key="NSRGB">MCAwIDAAA</bytes>
    8.95 +						</object>
    8.96 +						<nil key="IBUIHighlightedColor"/>
    8.97 +						<int key="IBUIBaselineAdjustment">1</int>
    8.98 +						<float key="IBUIMinimumFontSize">1.000000e+01</float>
    8.99 +						<int key="IBUITextAlignment">1</int>
   8.100 +					</object>
   8.101 +				</object>
   8.102 +				<string key="NSFrameSize">{320, 480}</string>
   8.103 +				<reference key="NSSuperview"/>
   8.104 +				<object class="NSColor" key="IBUIBackgroundColor">
   8.105 +					<int key="NSColorSpace">3</int>
   8.106 +					<bytes key="NSWhite">MC41AA</bytes>
   8.107 +					<reference key="NSCustomColorSpace" ref="232880016"/>
   8.108 +				</object>
   8.109 +				<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
   8.110 +			</object>
   8.111 +		</object>
   8.112 +		<object class="IBObjectContainer" key="IBDocument.Objects">
   8.113 +			<object class="NSMutableArray" key="connectionRecords">
   8.114 +				<bool key="EncodedWithXMLCoder">YES</bool>
   8.115 +				<object class="IBConnectionRecord">
   8.116 +					<object class="IBCocoaTouchOutletConnection" key="connection">
   8.117 +						<string key="label">view</string>
   8.118 +						<reference key="source" ref="372490531"/>
   8.119 +						<reference key="destination" ref="980997749"/>
   8.120 +					</object>
   8.121 +					<int key="connectionID">35</int>
   8.122 +				</object>
   8.123 +				<object class="IBConnectionRecord">
   8.124 +					<object class="IBCocoaTouchOutletConnection" key="connection">
   8.125 +						<string key="label">label</string>
   8.126 +						<reference key="source" ref="372490531"/>
   8.127 +						<reference key="destination" ref="449159811"/>
   8.128 +					</object>
   8.129 +					<int key="connectionID">52</int>
   8.130 +				</object>
   8.131 +			</object>
   8.132 +			<object class="IBMutableOrderedSet" key="objectRecords">
   8.133 +				<object class="NSArray" key="orderedObjects">
   8.134 +					<bool key="EncodedWithXMLCoder">YES</bool>
   8.135 +					<object class="IBObjectRecord">
   8.136 +						<int key="objectID">0</int>
   8.137 +						<object class="NSArray" key="object" id="360949347">
   8.138 +							<bool key="EncodedWithXMLCoder">YES</bool>
   8.139 +						</object>
   8.140 +						<reference key="children" ref="1000"/>
   8.141 +						<nil key="parent"/>
   8.142 +					</object>
   8.143 +					<object class="IBObjectRecord">
   8.144 +						<int key="objectID">-1</int>
   8.145 +						<reference key="object" ref="372490531"/>
   8.146 +						<reference key="parent" ref="360949347"/>
   8.147 +						<string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
   8.148 +					</object>
   8.149 +					<object class="IBObjectRecord">
   8.150 +						<int key="objectID">24</int>
   8.151 +						<reference key="object" ref="980997749"/>
   8.152 +						<object class="NSMutableArray" key="children">
   8.153 +							<bool key="EncodedWithXMLCoder">YES</bool>
   8.154 +							<reference ref="449159811"/>
   8.155 +							<reference ref="873065569"/>
   8.156 +							<reference ref="949304106"/>
   8.157 +						</object>
   8.158 +						<reference key="parent" ref="360949347"/>
   8.159 +					</object>
   8.160 +					<object class="IBObjectRecord">
   8.161 +						<int key="objectID">-2</int>
   8.162 +						<reference key="object" ref="223494288"/>
   8.163 +						<reference key="parent" ref="360949347"/>
   8.164 +					</object>
   8.165 +					<object class="IBObjectRecord">
   8.166 +						<int key="objectID">40</int>
   8.167 +						<reference key="object" ref="449159811"/>
   8.168 +						<reference key="parent" ref="980997749"/>
   8.169 +					</object>
   8.170 +					<object class="IBObjectRecord">
   8.171 +						<int key="objectID">55</int>
   8.172 +						<reference key="object" ref="873065569"/>
   8.173 +						<reference key="parent" ref="980997749"/>
   8.174 +					</object>
   8.175 +					<object class="IBObjectRecord">
   8.176 +						<int key="objectID">61</int>
   8.177 +						<reference key="object" ref="949304106"/>
   8.178 +						<reference key="parent" ref="980997749"/>
   8.179 +					</object>
   8.180 +				</object>
   8.181 +			</object>
   8.182 +			<object class="NSMutableDictionary" key="flattenedProperties">
   8.183 +				<bool key="EncodedWithXMLCoder">YES</bool>
   8.184 +				<object class="NSMutableArray" key="dict.sortedKeys">
   8.185 +					<bool key="EncodedWithXMLCoder">YES</bool>
   8.186 +					<string>-1.CustomClassName</string>
   8.187 +					<string>-2.CustomClassName</string>
   8.188 +					<string>24.IBEditorWindowLastContentRect</string>
   8.189 +					<string>24.IBPluginDependency</string>
   8.190 +					<string>40.IBPluginDependency</string>
   8.191 +					<string>55.IBPluginDependency</string>
   8.192 +					<string>61.IBPluginDependency</string>
   8.193 +				</object>
   8.194 +				<object class="NSMutableArray" key="dict.values">
   8.195 +					<bool key="EncodedWithXMLCoder">YES</bool>
   8.196 +					<string>MyViewController</string>
   8.197 +					<string>UIResponder</string>
   8.198 +					<string>{{474, 260}, {320, 480}}</string>
   8.199 +					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
   8.200 +					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
   8.201 +					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
   8.202 +					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
   8.203 +				</object>
   8.204 +			</object>
   8.205 +			<object class="NSMutableDictionary" key="unlocalizedProperties">
   8.206 +				<bool key="EncodedWithXMLCoder">YES</bool>
   8.207 +				<object class="NSArray" key="dict.sortedKeys">
   8.208 +					<bool key="EncodedWithXMLCoder">YES</bool>
   8.209 +				</object>
   8.210 +				<object class="NSMutableArray" key="dict.values">
   8.211 +					<bool key="EncodedWithXMLCoder">YES</bool>
   8.212 +				</object>
   8.213 +			</object>
   8.214 +			<nil key="activeLocalization"/>
   8.215 +			<object class="NSMutableDictionary" key="localizations">
   8.216 +				<bool key="EncodedWithXMLCoder">YES</bool>
   8.217 +				<object class="NSArray" key="dict.sortedKeys">
   8.218 +					<bool key="EncodedWithXMLCoder">YES</bool>
   8.219 +				</object>
   8.220 +				<object class="NSMutableArray" key="dict.values">
   8.221 +					<bool key="EncodedWithXMLCoder">YES</bool>
   8.222 +				</object>
   8.223 +			</object>
   8.224 +			<nil key="sourceID"/>
   8.225 +			<int key="maxID">61</int>
   8.226 +		</object>
   8.227 +		<object class="IBClassDescriber" key="IBDocument.Classes">
   8.228 +			<object class="NSMutableArray" key="referencedPartialClassDescriptions">
   8.229 +				<bool key="EncodedWithXMLCoder">YES</bool>
   8.230 +				<object class="IBPartialClassDescription">
   8.231 +					<string key="className">MyViewController</string>
   8.232 +					<string key="superclassName">UIViewController</string>
   8.233 +					<object class="NSMutableDictionary" key="outlets">
   8.234 +						<bool key="EncodedWithXMLCoder">YES</bool>
   8.235 +						<object class="NSMutableArray" key="dict.sortedKeys">
   8.236 +							<bool key="EncodedWithXMLCoder">YES</bool>
   8.237 +							<string>label</string>
   8.238 +							<string>textField</string>
   8.239 +						</object>
   8.240 +						<object class="NSMutableArray" key="dict.values">
   8.241 +							<bool key="EncodedWithXMLCoder">YES</bool>
   8.242 +							<string>UILabel</string>
   8.243 +							<string>UITextField</string>
   8.244 +						</object>
   8.245 +					</object>
   8.246 +					<object class="IBClassDescriptionSource" key="sourceIdentifier">
   8.247 +						<string key="majorKey">IBProjectSource</string>
   8.248 +						<string key="minorKey">iPhone/Classes/MyViewController.h</string>
   8.249 +					</object>
   8.250 +				</object>
   8.251 +				<object class="IBPartialClassDescription">
   8.252 +					<string key="className">MyViewController</string>
   8.253 +					<string key="superclassName">UIViewController</string>
   8.254 +					<object class="IBClassDescriptionSource" key="sourceIdentifier">
   8.255 +						<string key="majorKey">IBUserSource</string>
   8.256 +						<string key="minorKey"/>
   8.257 +					</object>
   8.258 +				</object>
   8.259 +			</object>
   8.260 +		</object>
   8.261 +		<int key="IBDocument.localizationMode">0</int>
   8.262 +		<string key="IBDocument.LastKnownRelativeProjectPath">../MYNetwork-iPhone.xcodeproj</string>
   8.263 +		<int key="IBDocument.defaultPropertyAccessControl">3</int>
   8.264 +	</data>
   8.265 +</archive>
     9.1 Binary file iPhone/Icon.png has changed
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/iPhone/Info.plist	Tue Dec 02 22:42:56 2008 -0800
    10.3 @@ -0,0 +1,30 @@
    10.4 +<?xml version="1.0" encoding="UTF-8"?>
    10.5 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    10.6 +<plist version="1.0">
    10.7 +<dict>
    10.8 +	<key>CFBundleDevelopmentRegion</key>
    10.9 +	<string>en</string>
   10.10 +	<key>CFBundleDisplayName</key>
   10.11 +	<string>BLIP Echo</string>
   10.12 +	<key>LSRequiresIPhoneOS</key>
   10.13 +	<true/>
   10.14 +	<key>CFBundleExecutable</key>
   10.15 +	<string>${EXECUTABLE_NAME}</string>
   10.16 +	<key>CFBundleIconFile</key>
   10.17 +	<string>icon.png</string>
   10.18 +	<key>CFBundleIdentifier</key>
   10.19 +	<string>com.yourcompany.${PRODUCT_NAME:identifier}</string>
   10.20 +	<key>CFBundleInfoDictionaryVersion</key>
   10.21 +	<string>6.0</string>
   10.22 +	<key>CFBundleName</key>
   10.23 +	<string>${PRODUCT_NAME}</string>
   10.24 +	<key>CFBundlePackageType</key>
   10.25 +	<string>APPL</string>
   10.26 +	<key>CFBundleSignature</key>
   10.27 +	<string>????</string>
   10.28 +	<key>CFBundleVersion</key>
   10.29 +	<string>1.7</string>
   10.30 +	<key>NSMainNibFile</key>
   10.31 +	<string>MainWindow</string>
   10.32 +</dict>
   10.33 +</plist>
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/iPhone/MYNetwork_iPhone_Prefix.pch	Tue Dec 02 22:42:56 2008 -0800
    11.3 @@ -0,0 +1,8 @@
    11.4 +//
    11.5 +// Prefix header for all source files of the 'MYNetwork-iPhone' target in the 'MYNetwork-iPhone' project
    11.6 +//
    11.7 +
    11.8 +#ifdef __OBJC__
    11.9 +#import <Foundation/Foundation.h>
   11.10 +#import <UIKit/UIKit.h>
   11.11 +#endif
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/iPhone/MainWindow.xib	Tue Dec 02 22:42:56 2008 -0800
    12.3 @@ -0,0 +1,199 @@
    12.4 +<?xml version="1.0" encoding="UTF-8"?>
    12.5 +<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.02">
    12.6 +	<data>
    12.7 +		<int key="IBDocument.SystemTarget">512</int>
    12.8 +		<string key="IBDocument.SystemVersion">9F33</string>
    12.9 +		<string key="IBDocument.InterfaceBuilderVersion">670</string>
   12.10 +		<string key="IBDocument.AppKitVersion">949.34</string>
   12.11 +		<string key="IBDocument.HIToolboxVersion">352.00</string>
   12.12 +		<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
   12.13 +			<bool key="EncodedWithXMLCoder">YES</bool>
   12.14 +			<integer value="2"/>
   12.15 +		</object>
   12.16 +		<object class="NSArray" key="IBDocument.PluginDependencies">
   12.17 +			<bool key="EncodedWithXMLCoder">YES</bool>
   12.18 +			<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
   12.19 +		</object>
   12.20 +		<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
   12.21 +			<bool key="EncodedWithXMLCoder">YES</bool>
   12.22 +			<object class="IBProxyObject" id="841351856">
   12.23 +				<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
   12.24 +			</object>
   12.25 +			<object class="IBProxyObject" id="748124593">
   12.26 +				<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
   12.27 +			</object>
   12.28 +			<object class="IBUICustomObject" id="987256611"/>
   12.29 +			<object class="IBUIWindow" id="380026005">
   12.30 +				<reference key="NSNextResponder"/>
   12.31 +				<int key="NSvFlags">1292</int>
   12.32 +				<object class="NSMutableArray" key="NSSubviews">
   12.33 +					<bool key="EncodedWithXMLCoder">YES</bool>
   12.34 +					<object class="IBUIImageView" id="627919984">
   12.35 +						<reference key="NSNextResponder" ref="380026005"/>
   12.36 +						<int key="NSvFlags">1316</int>
   12.37 +						<string key="NSFrameSize">{320, 480}</string>
   12.38 +						<reference key="NSSuperview" ref="380026005"/>
   12.39 +						<bool key="IBUIOpaque">NO</bool>
   12.40 +						<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
   12.41 +						<int key="IBUIContentMode">4</int>
   12.42 +						<bool key="IBUIUserInteractionEnabled">NO</bool>
   12.43 +						<object class="NSCustomResource" key="IBUIImage">
   12.44 +							<string key="NSClassName">NSImage</string>
   12.45 +							<string key="NSResourceName">Default.png</string>
   12.46 +						</object>
   12.47 +					</object>
   12.48 +				</object>
   12.49 +				<object class="NSPSMatrix" key="NSFrameMatrix"/>
   12.50 +				<string key="NSFrameSize">{320, 480}</string>
   12.51 +				<reference key="NSSuperview"/>
   12.52 +				<object class="NSColor" key="IBUIBackgroundColor">
   12.53 +					<int key="NSColorSpace">1</int>
   12.54 +					<bytes key="NSRGB">MSAxIDEAA</bytes>
   12.55 +				</object>
   12.56 +				<bool key="IBUIOpaque">NO</bool>
   12.57 +				<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
   12.58 +			</object>
   12.59 +		</object>
   12.60 +		<object class="IBObjectContainer" key="IBDocument.Objects">
   12.61 +			<object class="NSMutableArray" key="connectionRecords">
   12.62 +				<bool key="EncodedWithXMLCoder">YES</bool>
   12.63 +				<object class="IBConnectionRecord">
   12.64 +					<object class="IBCocoaTouchOutletConnection" key="connection">
   12.65 +						<string key="label">delegate</string>
   12.66 +						<reference key="source" ref="841351856"/>
   12.67 +						<reference key="destination" ref="987256611"/>
   12.68 +					</object>
   12.69 +					<int key="connectionID">6</int>
   12.70 +				</object>
   12.71 +				<object class="IBConnectionRecord">
   12.72 +					<object class="IBCocoaTouchOutletConnection" key="connection">
   12.73 +						<string key="label">window</string>
   12.74 +						<reference key="source" ref="987256611"/>
   12.75 +						<reference key="destination" ref="380026005"/>
   12.76 +					</object>
   12.77 +					<int key="connectionID">7</int>
   12.78 +				</object>
   12.79 +			</object>
   12.80 +			<object class="IBMutableOrderedSet" key="objectRecords">
   12.81 +				<object class="NSArray" key="orderedObjects">
   12.82 +					<bool key="EncodedWithXMLCoder">YES</bool>
   12.83 +					<object class="IBObjectRecord">
   12.84 +						<int key="objectID">0</int>
   12.85 +						<object class="NSArray" key="object" id="957960031">
   12.86 +							<bool key="EncodedWithXMLCoder">YES</bool>
   12.87 +						</object>
   12.88 +						<reference key="children" ref="1000"/>
   12.89 +						<nil key="parent"/>
   12.90 +					</object>
   12.91 +					<object class="IBObjectRecord">
   12.92 +						<int key="objectID">2</int>
   12.93 +						<reference key="object" ref="380026005"/>
   12.94 +						<object class="NSMutableArray" key="children">
   12.95 +							<bool key="EncodedWithXMLCoder">YES</bool>
   12.96 +							<reference ref="627919984"/>
   12.97 +						</object>
   12.98 +						<reference key="parent" ref="957960031"/>
   12.99 +					</object>
  12.100 +					<object class="IBObjectRecord">
  12.101 +						<int key="objectID">-1</int>
  12.102 +						<reference key="object" ref="841351856"/>
  12.103 +						<reference key="parent" ref="957960031"/>
  12.104 +						<string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
  12.105 +					</object>
  12.106 +					<object class="IBObjectRecord">
  12.107 +						<int key="objectID">4</int>
  12.108 +						<reference key="object" ref="987256611"/>
  12.109 +						<reference key="parent" ref="957960031"/>
  12.110 +						<string key="objectName">HelloWorldAppDelegate</string>
  12.111 +					</object>
  12.112 +					<object class="IBObjectRecord">
  12.113 +						<int key="objectID">-2</int>
  12.114 +						<reference key="object" ref="748124593"/>
  12.115 +						<reference key="parent" ref="957960031"/>
  12.116 +					</object>
  12.117 +					<object class="IBObjectRecord">
  12.118 +						<int key="objectID">8</int>
  12.119 +						<reference key="object" ref="627919984"/>
  12.120 +						<reference key="parent" ref="380026005"/>
  12.121 +					</object>
  12.122 +				</object>
  12.123 +			</object>
  12.124 +			<object class="NSMutableDictionary" key="flattenedProperties">
  12.125 +				<bool key="EncodedWithXMLCoder">YES</bool>
  12.126 +				<object class="NSMutableArray" key="dict.sortedKeys">
  12.127 +					<bool key="EncodedWithXMLCoder">YES</bool>
  12.128 +					<string>-1.CustomClassName</string>
  12.129 +					<string>-2.CustomClassName</string>
  12.130 +					<string>2.IBAttributePlaceholdersKey</string>
  12.131 +					<string>2.IBEditorWindowLastContentRect</string>
  12.132 +					<string>2.IBPluginDependency</string>
  12.133 +					<string>2.UIWindow.visibleAtLaunch</string>
  12.134 +					<string>4.CustomClassName</string>
  12.135 +					<string>4.IBPluginDependency</string>
  12.136 +					<string>8.IBPluginDependency</string>
  12.137 +				</object>
  12.138 +				<object class="NSMutableArray" key="dict.values">
  12.139 +					<bool key="EncodedWithXMLCoder">YES</bool>
  12.140 +					<string>UIApplication</string>
  12.141 +					<string>UIResponder</string>
  12.142 +					<object class="NSMutableDictionary">
  12.143 +						<bool key="EncodedWithXMLCoder">YES</bool>
  12.144 +						<object class="NSArray" key="dict.sortedKeys">
  12.145 +							<bool key="EncodedWithXMLCoder">YES</bool>
  12.146 +						</object>
  12.147 +						<object class="NSMutableArray" key="dict.values">
  12.148 +							<bool key="EncodedWithXMLCoder">YES</bool>
  12.149 +						</object>
  12.150 +					</object>
  12.151 +					<string>{{474, 333}, {320, 480}}</string>
  12.152 +					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
  12.153 +					<integer value="1"/>
  12.154 +					<string>HelloWorldAppDelegate</string>
  12.155 +					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
  12.156 +					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
  12.157 +				</object>
  12.158 +			</object>
  12.159 +			<object class="NSMutableDictionary" key="unlocalizedProperties">
  12.160 +				<bool key="EncodedWithXMLCoder">YES</bool>
  12.161 +				<object class="NSArray" key="dict.sortedKeys">
  12.162 +					<bool key="EncodedWithXMLCoder">YES</bool>
  12.163 +				</object>
  12.164 +				<object class="NSMutableArray" key="dict.values">
  12.165 +					<bool key="EncodedWithXMLCoder">YES</bool>
  12.166 +				</object>
  12.167 +			</object>
  12.168 +			<nil key="activeLocalization"/>
  12.169 +			<object class="NSMutableDictionary" key="localizations">
  12.170 +				<bool key="EncodedWithXMLCoder">YES</bool>
  12.171 +				<object class="NSArray" key="dict.sortedKeys">
  12.172 +					<bool key="EncodedWithXMLCoder">YES</bool>
  12.173 +				</object>
  12.174 +				<object class="NSMutableArray" key="dict.values">
  12.175 +					<bool key="EncodedWithXMLCoder">YES</bool>
  12.176 +				</object>
  12.177 +			</object>
  12.178 +			<nil key="sourceID"/>
  12.179 +			<int key="maxID">8</int>
  12.180 +		</object>
  12.181 +		<object class="IBClassDescriber" key="IBDocument.Classes">
  12.182 +			<object class="NSMutableArray" key="referencedPartialClassDescriptions">
  12.183 +				<bool key="EncodedWithXMLCoder">YES</bool>
  12.184 +				<object class="IBPartialClassDescription">
  12.185 +					<string key="className">HelloWorldAppDelegate</string>
  12.186 +					<string key="superclassName">NSObject</string>
  12.187 +					<object class="NSMutableDictionary" key="outlets">
  12.188 +						<string key="NS.key.0">window</string>
  12.189 +						<string key="NS.object.0">UIWindow</string>
  12.190 +					</object>
  12.191 +					<object class="IBClassDescriptionSource" key="sourceIdentifier">
  12.192 +						<string key="majorKey">IBProjectSource</string>
  12.193 +						<string key="minorKey">iPhone/Classes/HelloWorldAppDelegate.h</string>
  12.194 +					</object>
  12.195 +				</object>
  12.196 +			</object>
  12.197 +		</object>
  12.198 +		<int key="IBDocument.localizationMode">0</int>
  12.199 +		<string key="IBDocument.LastKnownRelativeProjectPath">../MYNetwork-iPhone.xcodeproj</string>
  12.200 +		<int key="IBDocument.defaultPropertyAccessControl">3</int>
  12.201 +	</data>
  12.202 +</archive>
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/iPhone/main.m	Tue Dec 02 22:42:56 2008 -0800
    13.3 @@ -0,0 +1,56 @@
    13.4 +/*
    13.5 +
    13.6 +File: main.m
    13.7 +Abstract: Standard main file.
    13.8 +
    13.9 +Version: 1.7
   13.10 +
   13.11 +Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple Inc.
   13.12 +("Apple") in consideration of your agreement to the following terms, and your
   13.13 +use, installation, modification or redistribution of this Apple software
   13.14 +constitutes acceptance of these terms.  If you do not agree with these terms,
   13.15 +please do not use, install, modify or redistribute this Apple software.
   13.16 +
   13.17 +In consideration of your agreement to abide by the following terms, and subject
   13.18 +to these terms, Apple grants you a personal, non-exclusive license, under
   13.19 +Apple's copyrights in this original Apple software (the "Apple Software"), to
   13.20 +use, reproduce, modify and redistribute the Apple Software, with or without
   13.21 +modifications, in source and/or binary forms; provided that if you redistribute
   13.22 +the Apple Software in its entirety and without modifications, you must retain
   13.23 +this notice and the following text and disclaimers in all such redistributions
   13.24 +of the Apple Software.
   13.25 +Neither the name, trademarks, service marks or logos of Apple Inc. may be used
   13.26 +to endorse or promote products derived from the Apple Software without specific
   13.27 +prior written permission from Apple.  Except as expressly stated in this notice,
   13.28 +no other rights or licenses, express or implied, are granted by Apple herein,
   13.29 +including but not limited to any patent rights that may be infringed by your
   13.30 +derivative works or by other works in which the Apple Software may be
   13.31 +incorporated.
   13.32 +
   13.33 +The Apple Software is provided by Apple on an "AS IS" basis.  APPLE MAKES NO
   13.34 +WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
   13.35 +WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   13.36 +PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
   13.37 +COMBINATION WITH YOUR PRODUCTS.
   13.38 +
   13.39 +IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
   13.40 +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
   13.41 +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   13.42 +ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR
   13.43 +DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF
   13.44 +CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF
   13.45 +APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   13.46 +
   13.47 +Copyright (C) 2008 Apple Inc. All Rights Reserved.
   13.48 +
   13.49 +*/
   13.50 +
   13.51 +#import <UIKit/UIKit.h>
   13.52 +
   13.53 +int main(int argc, char *argv[])
   13.54 +{
   13.55 +    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
   13.56 +    int retVal = UIApplicationMain(argc, argv, nil, nil);
   13.57 +    [pool release];
   13.58 +    return retVal;
   13.59 +}