Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

AWS SDK for iOS 1.2.0

  • Loading branch information...
commit 50b1c1568261ebc3959317a6489be2befdb251c3 1 parent b06a779
amazonwebservices authored
Showing with 11,201 additions and 587 deletions.
  1. +51 −9 samples/AWSiOSDemo/AWSiOSDemo.xcodeproj/project.pbxproj
  2. +1 −0  samples/AWSiOSDemo/AWSiOSDemo/AWSiOSDemoViewController.h
  3. +13 −0 samples/AWSiOSDemo/AWSiOSDemo/AWSiOSDemoViewController.m
  4. +36 −0 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/AsyncImageDownloader.h
  5. +168 −0 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/AsyncImageDownloader.m
  6. +35 −0 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/AsyncImageUploader.h
  7. +167 −0 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/AsyncImageUploader.m
  8. +2 −2 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/S3AsyncViewController.h
  9. +10 −9 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/S3AsyncViewController.m
  10. +862 −0 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/S3NSOperationDemoView.xib
  11. +47 −0 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/S3NSOperationDemoViewController.h
  12. +125 −0 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/S3NSOperationDemoViewController.m
  13. +1 −1  samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/{S3RequestDelegate.h → S3ResponseHandler.h}
  14. +2 −2 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/{S3RequestDelegate.m → S3ResponseHandler.m}
  15. BIN  samples/AWSiOSDemo/AWSiOSDemo/Classes/image1.png
  16. BIN  samples/AWSiOSDemo/AWSiOSDemo/Classes/image2.png
  17. BIN  samples/AWSiOSDemo/AWSiOSDemo/Classes/image3.png
  18. +242 −208 samples/AWSiOSDemo/AWSiOSDemo/en.lproj/AWSiOSDemoViewController.xib
  19. +1 −1  samples/AWSiOSDemoTVM/AWSiOSDemoTVM/Classes/Constants.h
  20. +1 −1  samples/UserPreference/UserPreference/AmazonClientManager.m
  21. +1 −1  samples/UserPreference/UserPreference/Constants.h
  22. +34 −34 samples/UserPreference/UserPreference/DynamoDBManager.m
  23. +2 −2 samples/UserPreference/UserPreference/WelcomeViewController.m
  24. +21 −0 src/Amazon.AutoScaling/AmazonAutoScalingClient.m
  25. +4 −0 src/Amazon.AutoScaling/Model/AutoScalingActivity.m
  26. +5 −0 src/Amazon.AutoScaling/Model/AutoScalingActivityUnmarshaller.m
  27. +13 −0 src/Amazon.AutoScaling/Model/AutoScalingAutoScalingGroup.m
  28. +9 −0 src/Amazon.AutoScaling/Model/AutoScalingAutoScalingGroupUnmarshaller.m
  29. +13 −0 src/Amazon.AutoScaling/Model/AutoScalingCreateAutoScalingGroupRequest.m
  30. +33 −0 src/Amazon.AutoScaling/Model/AutoScalingCreateAutoScalingGroupRequestMarshaller.m
  31. +1 −1  src/Amazon.AutoScaling/Model/AutoScalingCreateLaunchConfigurationRequestMarshaller.m
  32. +66 −0 src/Amazon.AutoScaling/Model/AutoScalingCreateOrUpdateTagsRequest.m
  33. +71 −0 src/Amazon.AutoScaling/Model/AutoScalingCreateOrUpdateTagsRequestMarshaller.m
  34. +65 −0 src/Amazon.AutoScaling/Model/AutoScalingCreateOrUpdateTagsResponse.m
  35. +50 −0 src/Amazon.AutoScaling/Model/AutoScalingCreateOrUpdateTagsResponseUnmarshaller.m
  36. +1 −1  src/Amazon.AutoScaling/Model/AutoScalingDeleteAutoScalingGroupRequestMarshaller.m
  37. +66 −0 src/Amazon.AutoScaling/Model/AutoScalingDeleteTagsRequest.m
  38. +71 −0 src/Amazon.AutoScaling/Model/AutoScalingDeleteTagsRequestMarshaller.m
  39. +57 −0 src/Amazon.AutoScaling/Model/AutoScalingDeleteTagsResponse.m
  40. +50 −0 src/Amazon.AutoScaling/Model/AutoScalingDeleteTagsResponseUnmarshaller.m
  41. +74 −0 src/Amazon.AutoScaling/Model/AutoScalingDescribeTagsRequest.m
  42. +72 −0 src/Amazon.AutoScaling/Model/AutoScalingDescribeTagsRequestMarshaller.m
  43. +87 −0 src/Amazon.AutoScaling/Model/AutoScalingDescribeTagsResponse.m
  44. +80 −0 src/Amazon.AutoScaling/Model/AutoScalingDescribeTagsResponseUnmarshaller.m
  45. +1 −1  src/Amazon.AutoScaling/Model/AutoScalingExecutePolicyRequestMarshaller.m
  46. +70 −0 src/Amazon.AutoScaling/Model/AutoScalingFilter.m
  47. +1 −1  src/Amazon.AutoScaling/Model/AutoScalingSetDesiredCapacityRequestMarshaller.m
  48. +1 −1  src/Amazon.AutoScaling/Model/AutoScalingSetInstanceHealthRequestMarshaller.m
  49. +80 −0 src/Amazon.AutoScaling/Model/AutoScalingTag.m
  50. +80 −0 src/Amazon.AutoScaling/Model/AutoScalingTagDescription.m
  51. +91 −0 src/Amazon.AutoScaling/Model/AutoScalingTagDescriptionUnmarshaller.m
  52. +1 −1  src/Amazon.AutoScaling/Model/AutoScalingTerminateInstanceInAutoScalingGroupRequestMarshaller.m
  53. +1 −1  src/Amazon.CloudWatch/Model/CloudWatchPutMetricAlarmRequestMarshaller.m
  54. +1 −1  src/Amazon.DynamoDB/Model/DynamoDBDeleteItemRequestMarshaller.m
  55. +1 −1  src/Amazon.DynamoDB/Model/DynamoDBGetItemRequestMarshaller.m
  56. +1 −1  src/Amazon.DynamoDB/Model/DynamoDBPutItemRequestMarshaller.m
  57. +3 −3 src/Amazon.DynamoDB/Model/DynamoDBQueryRequestMarshaller.m
  58. +1 −1  src/Amazon.DynamoDB/Model/DynamoDBScanRequestMarshaller.m
  59. +1 −1  src/Amazon.DynamoDB/Model/DynamoDBUpdateItemRequestMarshaller.m
  60. +41 −6 src/Amazon.EC2/AmazonEC2Client.m
  61. +0 −1  src/Amazon.EC2/EC2ResponseUnmarshaller.m
  62. +1 −1  src/Amazon.EC2/Model/EC2ActivateLicenseRequestMarshaller.m
  63. +16 −4 src/Amazon.EC2/Model/EC2Address.m
  64. +15 −0 src/Amazon.EC2/Model/EC2AddressUnmarshaller.m
  65. +1 −1  src/Amazon.EC2/Model/EC2AllocateAddressRequestMarshaller.m
  66. +7 −3 src/Amazon.EC2/Model/EC2AssociateAddressRequest.m
  67. +6 −1 src/Amazon.EC2/Model/EC2AssociateAddressRequestMarshaller.m
  68. +1 −1  src/Amazon.EC2/Model/EC2AttachVolumeRequestMarshaller.m
  69. +1 −1  src/Amazon.EC2/Model/EC2AuthorizeSecurityGroupIngressRequestMarshaller.m
  70. +1 −1  src/Amazon.EC2/Model/EC2BundleInstanceRequestMarshaller.m
  71. +1 −1  src/Amazon.EC2/Model/EC2CancelBundleTaskRequestMarshaller.m
  72. +61 −0 src/Amazon.EC2/Model/EC2CancelConversionTaskRequest.m
  73. +48 −0 src/Amazon.EC2/Model/EC2CancelConversionTaskRequestMarshaller.m
  74. +57 −0 src/Amazon.EC2/Model/EC2CancelConversionTaskResponse.m
  75. +50 −0 src/Amazon.EC2/Model/EC2CancelConversionTaskResponseUnmarshaller.m
  76. +1 −1  src/Amazon.EC2/Model/EC2CancelSpotInstanceRequestsRequestMarshaller.m
  77. +1 −1  src/Amazon.EC2/Model/EC2ConfirmProductInstanceRequestMarshaller.m
  78. +90 −0 src/Amazon.EC2/Model/EC2ConversionTask.m
  79. +113 −0 src/Amazon.EC2/Model/EC2ConversionTaskUnmarshaller.m
  80. +2 −2 src/Amazon.EC2/Model/EC2CreateImageRequestMarshaller.m
  81. +1 −1  src/Amazon.EC2/Model/EC2CreateKeyPairRequestMarshaller.m
  82. +1 −1  src/Amazon.EC2/Model/EC2CreatePlacementGroupRequestMarshaller.m
  83. +1 −1  src/Amazon.EC2/Model/EC2CreateSecurityGroupRequestMarshaller.m
  84. +1 −1  src/Amazon.EC2/Model/EC2CreateSnapshotRequestMarshaller.m
  85. +1 −1  src/Amazon.EC2/Model/EC2CreateSpotDatafeedSubscriptionRequestMarshaller.m
  86. +1 −1  src/Amazon.EC2/Model/EC2CreateTagsRequestMarshaller.m
  87. +1 −1  src/Amazon.EC2/Model/EC2CreateVolumeRequestMarshaller.m
  88. +1 −1  src/Amazon.EC2/Model/EC2DeactivateLicenseRequestMarshaller.m
  89. +1 −1  src/Amazon.EC2/Model/EC2DeleteKeyPairRequestMarshaller.m
  90. +1 −1  src/Amazon.EC2/Model/EC2DeletePlacementGroupRequestMarshaller.m
  91. +1 −1  src/Amazon.EC2/Model/EC2DeleteSecurityGroupRequestMarshaller.m
  92. +1 −1  src/Amazon.EC2/Model/EC2DeleteSnapshotRequestMarshaller.m
  93. +1 −1  src/Amazon.EC2/Model/EC2DeleteSpotDatafeedSubscriptionRequestMarshaller.m
  94. +1 −1  src/Amazon.EC2/Model/EC2DeleteTagsRequestMarshaller.m
  95. +1 −1  src/Amazon.EC2/Model/EC2DeleteVolumeRequestMarshaller.m
  96. +1 −1  src/Amazon.EC2/Model/EC2DeregisterImageRequestMarshaller.m
  97. +1 −1  src/Amazon.EC2/Model/EC2DescribeAddressesRequestMarshaller.m
  98. +1 −1  src/Amazon.EC2/Model/EC2DescribeAvailabilityZonesRequestMarshaller.m
  99. +1 −1  src/Amazon.EC2/Model/EC2DescribeBundleTasksRequestMarshaller.m
  100. +79 −0 src/Amazon.EC2/Model/EC2DescribeConversionTasksRequest.m
  101. +73 −0 src/Amazon.EC2/Model/EC2DescribeConversionTasksRequestMarshaller.m
  102. +79 −0 src/Amazon.EC2/Model/EC2DescribeConversionTasksResponse.m
  103. +81 −0 src/Amazon.EC2/Model/EC2DescribeConversionTasksResponseUnmarshaller.m
  104. +1 −1  src/Amazon.EC2/Model/EC2DescribeImageAttributeRequestMarshaller.m
  105. +1 −1  src/Amazon.EC2/Model/EC2DescribeImagesRequestMarshaller.m
  106. +1 −1  src/Amazon.EC2/Model/EC2DescribeInstanceAttributeRequestMarshaller.m
  107. +3 −3 src/Amazon.EC2/Model/EC2DescribeInstanceStatusRequestMarshaller.m
  108. +1 −1  src/Amazon.EC2/Model/EC2DescribeInstancesRequestMarshaller.m
  109. +1 −1  src/Amazon.EC2/Model/EC2DescribeKeyPairsRequestMarshaller.m
  110. +1 −1  src/Amazon.EC2/Model/EC2DescribeLicensesRequestMarshaller.m
  111. +1 −1  src/Amazon.EC2/Model/EC2DescribePlacementGroupsRequestMarshaller.m
  112. +1 −1  src/Amazon.EC2/Model/EC2DescribeRegionsRequestMarshaller.m
  113. +1 −1  src/Amazon.EC2/Model/EC2DescribeReservedInstancesOfferingsRequestMarshaller.m
  114. +1 −1  src/Amazon.EC2/Model/EC2DescribeReservedInstancesRequestMarshaller.m
  115. +1 −1  src/Amazon.EC2/Model/EC2DescribeSecurityGroupsRequestMarshaller.m
  116. +1 −1  src/Amazon.EC2/Model/EC2DescribeSnapshotAttributeRequestMarshaller.m
  117. +1 −1  src/Amazon.EC2/Model/EC2DescribeSnapshotsRequestMarshaller.m
  118. +1 −1  src/Amazon.EC2/Model/EC2DescribeSpotDatafeedSubscriptionRequestMarshaller.m
  119. +1 −1  src/Amazon.EC2/Model/EC2DescribeSpotInstanceRequestsRequestMarshaller.m
  120. +1 −1  src/Amazon.EC2/Model/EC2DescribeSpotPriceHistoryRequestMarshaller.m
  121. +1 −1  src/Amazon.EC2/Model/EC2DescribeTagsRequestMarshaller.m
  122. +1 −1  src/Amazon.EC2/Model/EC2DescribeVolumesRequestMarshaller.m
  123. +2 −2 src/Amazon.EC2/Model/EC2DetachVolumeRequestMarshaller.m
  124. +1 −1  src/Amazon.EC2/Model/EC2DisassociateAddressRequestMarshaller.m
  125. +65 −0 src/Amazon.EC2/Model/EC2DiskImage.m
  126. +69 −0 src/Amazon.EC2/Model/EC2DiskImageDescription.m
  127. +92 −0 src/Amazon.EC2/Model/EC2DiskImageDescriptionUnmarshaller.m
  128. +65 −0 src/Amazon.EC2/Model/EC2DiskImageDetail.m
  129. +61 −0 src/Amazon.EC2/Model/EC2DiskImageVolumeDescription.m
  130. +82 −0 src/Amazon.EC2/Model/EC2DiskImageVolumeDescriptionUnmarshaller.m
  131. +1 −1  src/Amazon.EC2/Model/EC2GetConsoleOutputRequestMarshaller.m
  132. +1 −1  src/Amazon.EC2/Model/EC2GetPasswordDataRequestMarshaller.m
  133. +133 −0 src/Amazon.EC2/Model/EC2ImportInstanceLaunchSpecification.m
  134. +78 −0 src/Amazon.EC2/Model/EC2ImportInstanceRequest.m
  135. +205 −0 src/Amazon.EC2/Model/EC2ImportInstanceRequestMarshaller.m
  136. +73 −0 src/Amazon.EC2/Model/EC2ImportInstanceResponse.m
  137. +78 −0 src/Amazon.EC2/Model/EC2ImportInstanceResponseUnmarshaller.m
  138. +78 −0 src/Amazon.EC2/Model/EC2ImportInstanceTaskDetails.m
  139. +96 −0 src/Amazon.EC2/Model/EC2ImportInstanceTaskDetailsUnmarshaller.m
  140. +81 −0 src/Amazon.EC2/Model/EC2ImportInstanceVolumeDetailItem.m
  141. +109 −0 src/Amazon.EC2/Model/EC2ImportInstanceVolumeDetailItemUnmarshaller.m
  142. +1 −1  src/Amazon.EC2/Model/EC2ImportKeyPairRequestMarshaller.m
  143. +69 −0 src/Amazon.EC2/Model/EC2ImportVolumeRequest.m
  144. +74 −0 src/Amazon.EC2/Model/EC2ImportVolumeRequestMarshaller.m
  145. +73 −0 src/Amazon.EC2/Model/EC2ImportVolumeResponse.m
  146. +78 −0 src/Amazon.EC2/Model/EC2ImportVolumeResponseUnmarshaller.m
  147. +73 −0 src/Amazon.EC2/Model/EC2ImportVolumeTaskDetails.m
  148. +99 −0 src/Amazon.EC2/Model/EC2ImportVolumeTaskDetailsUnmarshaller.m
  149. +13 −0 src/Amazon.EC2/Model/EC2Instance.m
  150. +117 −0 src/Amazon.EC2/Model/EC2InstanceNetworkInterface.m
  151. +61 −0 src/Amazon.EC2/Model/EC2InstanceNetworkInterfaceAssociation.m
  152. +82 −0 src/Amazon.EC2/Model/EC2InstanceNetworkInterfaceAssociationUnmarshaller.m
  153. +80 −0 src/Amazon.EC2/Model/EC2InstanceNetworkInterfaceAttachment.m
  154. +97 −0 src/Amazon.EC2/Model/EC2InstanceNetworkInterfaceAttachmentUnmarshaller.m
  155. +97 −0 src/Amazon.EC2/Model/EC2InstanceNetworkInterfaceSpecification.m
  156. +111 −0 src/Amazon.EC2/Model/EC2InstanceNetworkInterfaceSpecificationUnmarshaller.m
  157. +138 −0 src/Amazon.EC2/Model/EC2InstanceNetworkInterfaceUnmarshaller.m
  158. +8 −0 src/Amazon.EC2/Model/EC2InstanceStatus.m
  159. +61 −0 src/Amazon.EC2/Model/EC2InstanceStatusDetails.m
  160. +82 −0 src/Amazon.EC2/Model/EC2InstanceStatusDetailsUnmarshaller.m
  161. +70 −0 src/Amazon.EC2/Model/EC2InstanceStatusSummary.m
  162. +86 −0 src/Amazon.EC2/Model/EC2InstanceStatusSummaryUnmarshaller.m
  163. +12 −0 src/Amazon.EC2/Model/EC2InstanceStatusUnmarshaller.m
  164. +9 −0 src/Amazon.EC2/Model/EC2InstanceUnmarshaller.m
  165. +13 −0 src/Amazon.EC2/Model/EC2LaunchSpecification.m
  166. +9 −0 src/Amazon.EC2/Model/EC2LaunchSpecificationUnmarshaller.m
  167. +1 −1  src/Amazon.EC2/Model/EC2ModifyImageAttributeRequestMarshaller.m
  168. +4 −4 src/Amazon.EC2/Model/EC2ModifyInstanceAttributeRequestMarshaller.m
  169. +1 −1  src/Amazon.EC2/Model/EC2ModifySnapshotAttributeRequestMarshaller.m
  170. +1 −1  src/Amazon.EC2/Model/EC2MonitorInstancesRequestMarshaller.m
  171. +1 −1  src/Amazon.EC2/Model/EC2PurchaseReservedInstancesOfferingRequestMarshaller.m
  172. +57 −0 src/Amazon.EC2/Model/EC2ReasonCode.m
  173. +1 −1  src/Amazon.EC2/Model/EC2RebootInstancesRequestMarshaller.m
  174. +2 −2 src/Amazon.EC2/Model/EC2RegisterImageRequestMarshaller.m
  175. +1 −1  src/Amazon.EC2/Model/EC2ReleaseAddressRequestMarshaller.m
  176. +95 −0 src/Amazon.EC2/Model/EC2ReportInstanceStatusRequest.m
  177. +82 −0 src/Amazon.EC2/Model/EC2ReportInstanceStatusRequestMarshaller.m
  178. +57 −0 src/Amazon.EC2/Model/EC2ReportInstanceStatusResponse.m
  179. +50 −0 src/Amazon.EC2/Model/EC2ReportInstanceStatusResponseUnmarshaller.m
  180. +52 −3 src/Amazon.EC2/Model/EC2RequestSpotInstancesRequestMarshaller.m
  181. +1 −1  src/Amazon.EC2/Model/EC2ResetImageAttributeRequestMarshaller.m
  182. +1 −1  src/Amazon.EC2/Model/EC2ResetInstanceAttributeRequestMarshaller.m
  183. +1 −1  src/Amazon.EC2/Model/EC2ResetSnapshotAttributeRequestMarshaller.m
  184. +1 −1  src/Amazon.EC2/Model/EC2RevokeSecurityGroupIngressRequestMarshaller.m
  185. +17 −0 src/Amazon.EC2/Model/EC2RunInstancesRequest.m
  186. +58 −4 src/Amazon.EC2/Model/EC2RunInstancesRequestMarshaller.m
  187. +1 −1  src/Amazon.EC2/Model/EC2StartInstancesRequestMarshaller.m
  188. +2 −2 src/Amazon.EC2/Model/EC2StopInstancesRequestMarshaller.m
  189. +1 −1  src/Amazon.EC2/Model/EC2TerminateInstancesRequestMarshaller.m
  190. +1 −1  src/Amazon.EC2/Model/EC2UnmonitorInstancesRequestMarshaller.m
  191. +57 −0 src/Amazon.EC2/Model/EC2VolumeDetail.m
  192. +5 −0 src/Amazon.Runtime/AmazonEndpoints.m
  193. +43 −0 src/Amazon.S3/AmazonS3Client.m
  194. +61 −0 src/Amazon.S3/Model/BucketWebsiteConfiguration.m
  195. +32 −0 src/Amazon.S3/Model/DeleteError.m
  196. +31 −0 src/Amazon.S3/Model/DeletedObject.m
  197. +48 −0 src/Amazon.S3/Model/S3BucketLifecycleConfiguration.m
  198. +72 −0 src/Amazon.S3/Model/S3BucketLifecycleConfigurationRule.m
  199. +79 −0 src/Amazon.S3/Model/S3BucketLifecycleConfigurationRuleUnmarshaller.m
  200. +51 −0 src/Amazon.S3/Model/S3BucketLifecycleConfigurationUnmarshaller.m
  201. +47 −0 src/Amazon.S3/Model/S3DeleteBucketLifecycleConfigurationRequest.m
  202. +20 −0 src/Amazon.S3/Model/S3DeleteBucketLifecycleConfigurationResponse.m
  203. +47 −0 src/Amazon.S3/Model/S3DeleteBucketWebsiteConfigurationRequest.m
  204. +20 −0 src/Amazon.S3/Model/S3DeleteBucketWebsiteConfigurationResponse.m
  205. +79 −0 src/Amazon.S3/Model/S3DeleteErrorUnmarshaller.m
  206. +83 −0 src/Amazon.S3/Model/S3DeleteObjectsRequest.m
  207. +46 −0 src/Amazon.S3/Model/S3DeleteObjectsResponse.m
  208. +74 −0 src/Amazon.S3/Model/S3DeleteObjectsResultUnmarshaller.m
  209. +79 −0 src/Amazon.S3/Model/S3DeletedObjectUnmarshaller.m
  210. +47 −0 src/Amazon.S3/Model/S3GetBucketLifecycleConfigurationRequest.m
  211. +37 −0 src/Amazon.S3/Model/S3GetBucketLifecycleConfigurationResponse.m
  212. +47 −0 src/Amazon.S3/Model/S3GetBucketWebsiteConfigurationRequest.m
  213. +37 −0 src/Amazon.S3/Model/S3GetBucketWebsiteConfigurationResponse.m
  214. +58 −0 src/Amazon.S3/Model/S3GetBucketWebsiteConfigurationResultUnmarshaller.m
  215. +6 −0 src/Amazon.S3/Model/S3GetPreSignedURLRequest.m
  216. +69 −0 src/Amazon.S3/Model/S3KeyVersion.m
  217. +78 −0 src/Amazon.S3/Model/S3SetBucketLifecycleConfigurationRequest.m
  218. +22 −0 src/Amazon.S3/Model/S3SetBucketLifecycleConfigurationResponse.m
  219. +73 −0 src/Amazon.S3/Model/S3SetBucketWebsiteConfigurationRequest.m
  220. +22 −0 src/Amazon.S3/Model/S3SetBucketWebsiteConfigurationResponse.m
  221. +50 −0 src/Amazon.STS/AmazonSecurityTokenServiceClient.m
  222. +81 −0 src/Amazon.STS/Model/SecurityTokenServiceCredentials.m
  223. +86 −0 src/Amazon.STS/Model/SecurityTokenServiceCredentialsUnmarshaller.m
  224. +71 −0 src/Amazon.STS/Model/SecurityTokenServiceFederatedUser.m
  225. +76 −0 src/Amazon.STS/Model/SecurityTokenServiceFederatedUserUnmarshaller.m
  226. +74 −0 src/Amazon.STS/Model/SecurityTokenServiceGetFederationTokenRequest.m
  227. +53 −0 src/Amazon.STS/Model/SecurityTokenServiceGetFederationTokenRequestMarshaller.m
  228. +89 −0 src/Amazon.STS/Model/SecurityTokenServiceGetFederationTokenResponse.m
  229. +83 −0 src/Amazon.STS/Model/SecurityTokenServiceGetFederationTokenResponseUnmarshaller.m
  230. +57 −0 src/Amazon.STS/Model/SecurityTokenServiceGetSessionTokenRequest.m
  231. +43 −0 src/Amazon.STS/Model/SecurityTokenServiceGetSessionTokenRequestMarshaller.m
  232. +73 −0 src/Amazon.STS/Model/SecurityTokenServiceGetSessionTokenResponse.m
  233. +72 −0 src/Amazon.STS/Model/SecurityTokenServiceGetSessionTokenResponseUnmarshaller.m
  234. +57 −0 src/Amazon.STS/Model/SecurityTokenServiceMalformedPolicyDocumentException.m
  235. +57 −0 src/Amazon.STS/Model/SecurityTokenServicePackedPolicyTooLargeException.m
  236. +21 −0 src/Amazon.STS/SecurityTokenServiceRequest.m
  237. +21 −0 src/Amazon.STS/SecurityTokenServiceResponse.m
  238. +20 −0 src/Amazon.STS/SecurityTokenServiceResponseUnmarshaller.m
  239. +1 −1  src/Amazon.SimpleDB/Model/SimpleDBBatchPutAttributesRequestMarshaller.m
  240. +1 −1  src/Amazon.SimpleDB/Model/SimpleDBDeleteAttributesRequestMarshaller.m
  241. +1 −1  src/Amazon.SimpleDB/Model/SimpleDBGetAttributesRequestMarshaller.m
  242. +2 −2 src/Amazon.SimpleDB/Model/SimpleDBPutAttributesRequestMarshaller.m
  243. +1 −1  src/Amazon.SimpleDB/Model/SimpleDBSelectRequestMarshaller.m
  244. BIN  src/include/.DS_Store
  245. +4 −3 src/include/AmazonEndpoints.h
  246. +1 −1  src/include/AmazonSDKUtil.h
  247. +139 −42 src/include/AutoScaling/AmazonAutoScalingClient.h
  248. +9 −0 src/include/AutoScaling/AutoScalingActivity.h
  249. +1 −1  src/include/AutoScaling/AutoScalingAlarm.h
  250. +1 −1  src/include/AutoScaling/AutoScalingAlreadyExistsException.h
  251. +23 −6 src/include/AutoScaling/AutoScalingAutoScalingGroup.h
  252. +2 −0  src/include/AutoScaling/AutoScalingAutoScalingGroupUnmarshaller.h
  253. +2 −2 src/include/AutoScaling/AutoScalingAutoScalingInstanceDetails.h
  254. +31 −8 src/include/AutoScaling/AutoScalingCreateAutoScalingGroupRequest.h
  255. +3 −0  src/include/AutoScaling/AutoScalingCreateAutoScalingGroupRequestMarshaller.h
  256. +14 −8 src/include/AutoScaling/AutoScalingCreateLaunchConfigurationRequest.h
  257. +78 −0 src/include/AutoScaling/AutoScalingCreateOrUpdateTagsRequest.h
  258. +34 −0 src/include/AutoScaling/AutoScalingCreateOrUpdateTagsRequestMarshaller.h
  259. +32 −0 src/include/AutoScaling/AutoScalingCreateOrUpdateTagsResponse.h
  260. +32 −0 src/include/AutoScaling/AutoScalingCreateOrUpdateTagsResponseUnmarshaller.h
  261. +1 −1  src/include/AutoScaling/AutoScalingDeletePolicyRequest.h
  262. +1 −1  src/include/AutoScaling/AutoScalingDeleteScheduledActionRequest.h
  263. +67 −0 src/include/AutoScaling/AutoScalingDeleteTagsRequest.h
  264. +34 −0 src/include/AutoScaling/AutoScalingDeleteTagsRequestMarshaller.h
  265. +30 −0 src/include/AutoScaling/AutoScalingDeleteTagsResponse.h
  266. +32 −0 src/include/AutoScaling/AutoScalingDeleteTagsResponseUnmarshaller.h
  267. +7 −2 src/include/AutoScaling/AutoScalingDescribeMetricCollectionTypesResponse.h
  268. +1 −1  src/include/AutoScaling/AutoScalingDescribePoliciesRequest.h
  269. +4 −4 src/include/AutoScaling/AutoScalingDescribeScalingActivitiesRequest.h
  270. +1 −1  src/include/AutoScaling/AutoScalingDescribeScheduledActionsRequest.h
  271. +85 −0 src/include/AutoScaling/AutoScalingDescribeTagsRequest.h
  272. +34 −0 src/include/AutoScaling/AutoScalingDescribeTagsRequestMarshaller.h
  273. +77 −0 src/include/AutoScaling/AutoScalingDescribeTagsResponse.h
  274. +40 −0 src/include/AutoScaling/AutoScalingDescribeTagsResponseUnmarshaller.h
  275. +2 −2 src/include/AutoScaling/AutoScalingEbs.h
  276. +1 −1  src/include/AutoScaling/AutoScalingEnableMetricsCollectionRequest.h
  277. +3 −3 src/include/AutoScaling/AutoScalingExecutePolicyRequest.h
  278. +71 −0 src/include/AutoScaling/AutoScalingFilter.h
  279. +2 −2 src/include/AutoScaling/AutoScalingInstance.h
  280. +1 −1  src/include/AutoScaling/AutoScalingInstanceMonitoring.h
  281. +6 −6 src/include/AutoScaling/AutoScalingLaunchConfiguration.h
  282. +1 −1  src/include/AutoScaling/AutoScalingPutNotificationConfigurationRequest.h
  283. +6 −6 src/include/AutoScaling/AutoScalingPutScalingPolicyRequest.h
  284. +16 −10 src/include/AutoScaling/AutoScalingPutScheduledUpdateGroupActionRequest.h
  285. +1 −1  src/include/AutoScaling/AutoScalingResourceInUseException.h
  286. +1 −1  src/include/AutoScaling/AutoScalingScalingActivityInProgressException.h
  287. +3 −3 src/include/AutoScaling/AutoScalingScalingPolicy.h
  288. +6 −2 src/include/AutoScaling/AutoScalingScheduledUpdateGroupAction.h
  289. +4 −4 src/include/AutoScaling/AutoScalingSetDesiredCapacityRequest.h
  290. +1 −1  src/include/AutoScaling/AutoScalingSetInstanceHealthRequest.h
  291. +99 −0 src/include/AutoScaling/AutoScalingTag.h
  292. +99 −0 src/include/AutoScaling/AutoScalingTagDescription.h
  293. +38 −0 src/include/AutoScaling/AutoScalingTagDescriptionUnmarshaller.h
  294. +1 −1  src/include/AutoScaling/AutoScalingTerminateInstanceInAutoScalingGroupRequest.h
  295. +1 −1  src/include/AutoScaling/AutoScalingTerminateInstanceInAutoScalingGroupResponse.h
  296. +6 −2 src/include/AutoScaling/AutoScalingUpdateAutoScalingGroupRequest.h
  297. +25 −8 src/include/DynamoDB/DynamoDBAttributeValue.h
  298. +18 −26 src/include/DynamoDB/DynamoDBAttributeValueUpdate.h
  299. +17 −29 src/include/DynamoDB/DynamoDBCreateTableRequest.h
  300. +10 −4 src/include/DynamoDB/DynamoDBDeleteItemRequest.h
Sorry, we could not display the entire diff because too many files (417) changed.
View
60 samples/AWSiOSDemo/AWSiOSDemo.xcodeproj/project.pbxproj
@@ -7,6 +7,13 @@
objects = {
/* Begin PBXBuildFile section */
+ CEFDDC3014D366920024CC3C /* S3NSOperationDemoView.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEFDDC2F14D366920024CC3C /* S3NSOperationDemoView.xib */; };
+ CEFDDC3314D36BA20024CC3C /* S3NSOperationDemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFDDC3214D36BA20024CC3C /* S3NSOperationDemoViewController.m */; };
+ CEFDDC3814D372740024CC3C /* image1.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFDDC3514D372740024CC3C /* image1.png */; };
+ CEFDDC3914D372740024CC3C /* image2.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFDDC3614D372740024CC3C /* image2.png */; };
+ CEFDDC3A14D372740024CC3C /* image3.png in Resources */ = {isa = PBXBuildFile; fileRef = CEFDDC3714D372740024CC3C /* image3.png */; };
+ CEFDDC3D14D377CB0024CC3C /* AsyncImageUploader.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFDDC3C14D377CA0024CC3C /* AsyncImageUploader.m */; };
+ CEFDDC4014D377DD0024CC3C /* AsyncImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = CEFDDC3F14D377DC0024CC3C /* AsyncImageDownloader.m */; };
D054DC7113E874820005B88E /* AmazonClientManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D054DC3113E874820005B88E /* AmazonClientManager.m */; };
D054DC7413E874820005B88E /* Constants.m in Sources */ = {isa = PBXBuildFile; fileRef = D054DC3713E874820005B88E /* Constants.m */; };
D054DC7513E874820005B88E /* AddBucketViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D054DC3A13E874820005B88E /* AddBucketViewController.m */; };
@@ -21,7 +28,7 @@
D054DC7E13E874820005B88E /* ObjectViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D054DC4713E874820005B88E /* ObjectViewController.xib */; };
D054DC7F13E874820005B88E /* S3AsyncViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D054DC4913E874820005B88E /* S3AsyncViewController.m */; };
D054DC8013E874820005B88E /* S3AsyncViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D054DC4A13E874820005B88E /* S3AsyncViewController.xib */; };
- D054DC8113E874820005B88E /* S3RequestDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D054DC4C13E874820005B88E /* S3RequestDelegate.m */; };
+ D054DC8113E874820005B88E /* S3ResponseHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = D054DC4C13E874820005B88E /* S3ResponseHandler.m */; };
D054DC8213E874820005B88E /* DomainList.m in Sources */ = {isa = PBXBuildFile; fileRef = D054DC4F13E874820005B88E /* DomainList.m */; };
D054DC8313E874820005B88E /* DomainList.xib in Resources */ = {isa = PBXBuildFile; fileRef = D054DC5013E874820005B88E /* DomainList.xib */; };
D054DC8413E874820005B88E /* ItemListing.m in Sources */ = {isa = PBXBuildFile; fileRef = D054DC5213E874820005B88E /* ItemListing.m */; };
@@ -57,6 +64,16 @@
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
+ CED7605114D74190004655FE /* S3NSOperationDemoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = S3NSOperationDemoViewController.h; sourceTree = "<group>"; };
+ CEFDDC2F14D366920024CC3C /* S3NSOperationDemoView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = S3NSOperationDemoView.xib; sourceTree = "<group>"; };
+ CEFDDC3214D36BA20024CC3C /* S3NSOperationDemoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = S3NSOperationDemoViewController.m; sourceTree = "<group>"; };
+ CEFDDC3514D372740024CC3C /* image1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image1.png; sourceTree = "<group>"; };
+ CEFDDC3614D372740024CC3C /* image2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image2.png; sourceTree = "<group>"; };
+ CEFDDC3714D372740024CC3C /* image3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image3.png; sourceTree = "<group>"; };
+ CEFDDC3B14D377CA0024CC3C /* AsyncImageUploader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AsyncImageUploader.h; sourceTree = "<group>"; };
+ CEFDDC3C14D377CA0024CC3C /* AsyncImageUploader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AsyncImageUploader.m; sourceTree = "<group>"; };
+ CEFDDC3E14D377DC0024CC3C /* AsyncImageDownloader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AsyncImageDownloader.h; sourceTree = "<group>"; };
+ CEFDDC3F14D377DC0024CC3C /* AsyncImageDownloader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AsyncImageDownloader.m; sourceTree = "<group>"; };
D054DC3013E874820005B88E /* AmazonClientManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AmazonClientManager.h; sourceTree = "<group>"; };
D054DC3113E874820005B88E /* AmazonClientManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AmazonClientManager.m; sourceTree = "<group>"; };
D054DC3613E874820005B88E /* Constants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Constants.h; sourceTree = "<group>"; };
@@ -76,11 +93,11 @@
D054DC4513E874820005B88E /* ObjectViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjectViewController.h; sourceTree = "<group>"; };
D054DC4613E874820005B88E /* ObjectViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ObjectViewController.m; sourceTree = "<group>"; };
D054DC4713E874820005B88E /* ObjectViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ObjectViewController.xib; sourceTree = "<group>"; };
- D054DC4813E874820005B88E /* S3AsyncViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = S3AsyncViewController.h; sourceTree = "<group>"; };
- D054DC4913E874820005B88E /* S3AsyncViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = S3AsyncViewController.m; sourceTree = "<group>"; };
+ D054DC4813E874820005B88E /* S3AsyncViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = S3AsyncViewController.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
+ D054DC4913E874820005B88E /* S3AsyncViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = S3AsyncViewController.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
D054DC4A13E874820005B88E /* S3AsyncViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = S3AsyncViewController.xib; sourceTree = "<group>"; };
- D054DC4B13E874820005B88E /* S3RequestDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = S3RequestDelegate.h; sourceTree = "<group>"; };
- D054DC4C13E874820005B88E /* S3RequestDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = S3RequestDelegate.m; sourceTree = "<group>"; };
+ D054DC4B13E874820005B88E /* S3ResponseHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = S3ResponseHandler.h; sourceTree = "<group>"; };
+ D054DC4C13E874820005B88E /* S3ResponseHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = S3ResponseHandler.m; sourceTree = "<group>"; };
D054DC4E13E874820005B88E /* DomainList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DomainList.h; sourceTree = "<group>"; };
D054DC4F13E874820005B88E /* DomainList.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DomainList.m; sourceTree = "<group>"; };
D054DC5013E874820005B88E /* DomainList.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DomainList.xib; sourceTree = "<group>"; };
@@ -146,6 +163,17 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
+ CEFDDC3414D371070024CC3C /* TestData */ = {
+ isa = PBXGroup;
+ children = (
+ D054DC7013E874820005B88E /* temp.txt */,
+ CEFDDC3514D372740024CC3C /* image1.png */,
+ CEFDDC3614D372740024CC3C /* image2.png */,
+ CEFDDC3714D372740024CC3C /* image3.png */,
+ );
+ name = TestData;
+ sourceTree = "<group>";
+ };
D054DC2F13E874820005B88E /* Classes */ = {
isa = PBXGroup;
children = (
@@ -157,7 +185,7 @@
D054DC4D13E874820005B88E /* SDB */,
D054DC5C13E874820005B88E /* SNS */,
D054DC6013E874820005B88E /* SQS */,
- D054DC7013E874820005B88E /* temp.txt */,
+ CEFDDC3414D371070024CC3C /* TestData */,
);
path = Classes;
sourceTree = "<group>";
@@ -183,8 +211,15 @@
D054DC4813E874820005B88E /* S3AsyncViewController.h */,
D054DC4913E874820005B88E /* S3AsyncViewController.m */,
D054DC4A13E874820005B88E /* S3AsyncViewController.xib */,
- D054DC4B13E874820005B88E /* S3RequestDelegate.h */,
- D054DC4C13E874820005B88E /* S3RequestDelegate.m */,
+ D054DC4B13E874820005B88E /* S3ResponseHandler.h */,
+ D054DC4C13E874820005B88E /* S3ResponseHandler.m */,
+ CEFDDC2F14D366920024CC3C /* S3NSOperationDemoView.xib */,
+ CED7605114D74190004655FE /* S3NSOperationDemoViewController.h */,
+ CEFDDC3214D36BA20024CC3C /* S3NSOperationDemoViewController.m */,
+ CEFDDC3B14D377CA0024CC3C /* AsyncImageUploader.h */,
+ CEFDDC3C14D377CA0024CC3C /* AsyncImageUploader.m */,
+ CEFDDC3E14D377DC0024CC3C /* AsyncImageDownloader.h */,
+ CEFDDC3F14D377DC0024CC3C /* AsyncImageDownloader.m */,
);
path = S3;
sourceTree = "<group>";
@@ -363,6 +398,10 @@
D054DC9413E874820005B88E /* QueueList.xib in Resources */,
D054DC9613E874820005B88E /* SendMessage.xib in Resources */,
D054DC9713E874820005B88E /* temp.txt in Resources */,
+ CEFDDC3014D366920024CC3C /* S3NSOperationDemoView.xib in Resources */,
+ CEFDDC3814D372740024CC3C /* image1.png in Resources */,
+ CEFDDC3914D372740024CC3C /* image2.png in Resources */,
+ CEFDDC3A14D372740024CC3C /* image3.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -384,7 +423,7 @@
D054DC7B13E874820005B88E /* ObjectListing.m in Sources */,
D054DC7D13E874820005B88E /* ObjectViewController.m in Sources */,
D054DC7F13E874820005B88E /* S3AsyncViewController.m in Sources */,
- D054DC8113E874820005B88E /* S3RequestDelegate.m in Sources */,
+ D054DC8113E874820005B88E /* S3ResponseHandler.m in Sources */,
D054DC8213E874820005B88E /* DomainList.m in Sources */,
D054DC8413E874820005B88E /* ItemListing.m in Sources */,
D054DC8613E874820005B88E /* ItemViewController.m in Sources */,
@@ -396,6 +435,9 @@
D054DC9113E874820005B88E /* MessageList.m in Sources */,
D054DC9313E874820005B88E /* QueueList.m in Sources */,
D054DC9513E874820005B88E /* SendMessage.m in Sources */,
+ CEFDDC3314D36BA20024CC3C /* S3NSOperationDemoViewController.m in Sources */,
+ CEFDDC3D14D377CB0024CC3C /* AsyncImageUploader.m in Sources */,
+ CEFDDC4014D377DD0024CC3C /* AsyncImageDownloader.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
View
1  samples/AWSiOSDemo/AWSiOSDemo/AWSiOSDemoViewController.h
@@ -23,6 +23,7 @@
-(IBAction)listQueues:(id)sender;
-(IBAction)listTopics:(id)sender;
-(IBAction)s3AsyncDemo:(id)sender;
+-(IBAction)s3NSOperationDemo:(id)sender;
-(IBAction)sdbAsyncDemo:(id)sender;
@end
View
13 samples/AWSiOSDemo/AWSiOSDemo/AWSiOSDemoViewController.m
@@ -21,6 +21,7 @@
#import "TopicList.h"
#import "S3AsyncViewController.h"
#import "SdbAsyncViewController.h"
+#import "S3NSOperationDemoViewController.h"
@implementation AWSiOSDemoViewController
@@ -94,6 +95,18 @@ -(IBAction)s3AsyncDemo:(id)sender
}
}
+-(IBAction)s3NSOperationDemo:(id)sender
+{
+ if (![AmazonClientManager hasCredentials]) {
+ [[Constants credentialsAlert] show];
+ }
+ else {
+ S3NSOperationDemoViewController *s3Async2 = [[S3NSOperationDemoViewController alloc] initWithNibName:@"S3NSOperationDemoView" bundle:nil];
+ [self presentModalViewController:s3Async2 animated:YES];
+ [s3Async2 release];
+ }
+}
+
-(IBAction)sdbAsyncDemo:(id)sender
{
if (![AmazonClientManager hasCredentials]) {
View
36 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/AsyncImageDownloader.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2010-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License").
+ * You may not use this file except in compliance with the License.
+ * A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file is distributed
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+
+#import <Foundation/Foundation.h>
+#import <AWSiOSSDK/AmazonServiceRequest.h>
+
+@interface AsyncImageDownloader:NSOperation<AmazonServiceRequestDelegate>
+{
+ int imageNo;
+ UIProgressView *progressView;
+ UIImageView *imageView;
+
+ BOOL isExecuting;
+ BOOL isFinished;
+}
+
+-(id)initWithImageNo:(int)theImageNo progressView:(UIProgressView *)theProgressView imageview:(UIImageView *)theImageView;
+-(void)finish;
+-(void)initialize;
+-(void)updateProgressView:(NSNumber *)theProgress;
+-(void)hideProgressView;
+-(void)setImage:(UIImage *)theImage;
+
+@end
View
168 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/AsyncImageDownloader.m
@@ -0,0 +1,168 @@
+/*
+ * Copyright 2010-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License").
+ * You may not use this file except in compliance with the License.
+ * A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file is distributed
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+
+#import "AsyncImageDownloader.h"
+#import "AmazonClientManager.h"
+
+@implementation AsyncImageDownloader
+
+#pragma mark - Class Lifecycle
+
+-(id)initWithImageNo:(int)theImageNo progressView:(UIProgressView *)theProgressView imageview:(UIImageView *)theImageView
+{
+ self = [super init];
+ if (self)
+ {
+ imageNo = theImageNo;
+ progressView = [theProgressView retain];
+ imageView = [theImageView retain];
+
+ isExecuting = NO;
+ isFinished = NO;
+ }
+
+ return self;
+}
+
+-(void)dealloc
+{
+ [progressView release];
+ [imageView release];
+
+ [super dealloc];
+}
+
+#pragma mark - Overwriding NSOperation Methods
+
+/*
+ * For concurrent operations, you need to override the following methods:
+ * start, isConcurrent, isExecuting and isFinished.
+ *
+ * Please refer to the NSOperation documentation for more details.
+ * http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/NSOperation_class/Reference/Reference.html
+ */
+
+-(void)start
+{
+ // Makes sure that start method always runs on the main thread.
+ if (![NSThread isMainThread])
+ {
+ [self performSelectorOnMainThread:@selector(start) withObject:nil waitUntilDone:NO];
+ return;
+ }
+
+ [self willChangeValueForKey:@"isExecuting"];
+ isExecuting = YES;
+ [self didChangeValueForKey:@"isExecuting"];
+
+ [self performSelectorOnMainThread:@selector(initialize) withObject:nil waitUntilDone:NO];
+
+ NSString *bucketName = [NSString stringWithFormat:@"s3-async-demo2-ios-for-%@", [ACCESS_KEY_ID lowercaseString]];
+ NSString *keyName = [NSString stringWithFormat:@"image%d", imageNo];
+
+ // Puts the file as an object in the bucket.
+ S3GetObjectRequest *getObjectRequest = [[[S3GetObjectRequest alloc] initWithKey:keyName withBucket:bucketName] autorelease];
+ getObjectRequest.delegate = self;
+
+ [[AmazonClientManager s3] getObject:getObjectRequest];
+}
+
+-(BOOL)isConcurrent
+{
+ return YES;
+}
+
+-(BOOL)isExecuting
+{
+ return isExecuting;
+}
+
+-(BOOL)isFinished
+{
+ return isFinished;
+}
+
+#pragma mark - AmazonServiceRequestDelegate Implementations
+
+-(void)request:(AmazonServiceRequest *)request didCompleteWithResponse:(AmazonServiceResponse *)response
+{
+ [self performSelectorOnMainThread:@selector(hideProgressView) withObject:nil waitUntilDone:NO];
+
+ UIImage *image = [UIImage imageWithData:response.body];
+ [self performSelectorOnMainThread:@selector(setImage:) withObject:image waitUntilDone:NO];
+
+ [self finish];
+}
+
+-(void)request:(AmazonServiceRequest *)request didReceiveData:(NSData *)data
+{
+ // The progress bar for downlaod is just an estimate. In order to accurately reflect the progress bar, you need to first retrieve the file size.
+ [self performSelectorOnMainThread:@selector(updateProgressView:) withObject:[NSNumber numberWithFloat:[data length] / 150 / 1024] waitUntilDone:NO];
+}
+
+-(void)request:(AmazonServiceRequest *)request didFailWithError:(NSError *)error
+{
+ NSLog(@"%@", error);
+
+ [self finish];
+}
+
+-(void)request:(AmazonServiceRequest *)request didFailWithServiceException:(NSException *)exception
+{
+ NSLog(@"%@", exception);
+
+ [self finish];
+}
+
+#pragma mark - Helper Methods
+
+-(void)finish
+{
+ [self willChangeValueForKey:@"isExecuting"];
+ [self willChangeValueForKey:@"isFinished"];
+
+ isExecuting = NO;
+ isFinished = YES;
+
+ [self didChangeValueForKey:@"isExecuting"];
+ [self didChangeValueForKey:@"isFinished"];
+}
+
+-(void)initialize
+{
+ progressView.hidden = NO;
+ progressView.progress = 0.0;
+
+ imageView.image = nil;
+}
+
+-(void)updateProgressView:(NSNumber *)theProgress
+{
+ progressView.progress = [theProgress floatValue];
+}
+
+-(void)hideProgressView
+{
+ progressView.hidden = YES;
+}
+
+-(void)setImage:(UIImage *)theImage
+{
+ imageView.image = theImage;
+}
+
+#pragma mark -
+
+@end
View
35 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/AsyncImageUploader.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2010-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License").
+ * You may not use this file except in compliance with the License.
+ * A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file is distributed
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+
+#import <Foundation/Foundation.h>
+#import <AWSiOSSDK/AmazonServiceRequest.h>
+
+@interface AsyncImageUploader:NSOperation<AmazonServiceRequestDelegate>
+{
+ int imageNo;
+ UIProgressView *progressView;
+
+ BOOL isExecuting;
+ BOOL isFinished;
+}
+
+-(id)initWithImageNo:(int)theImageNo progressView:(UIProgressView *)theProgressView;
+
+-(void)finish;
+-(void)initializeProgressView;
+-(void)updateProgressView:(NSNumber *)theProgress;
+-(void)hideProgressView;
+
+@end
View
167 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/AsyncImageUploader.m
@@ -0,0 +1,167 @@
+/*
+ * Copyright 2010-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License").
+ * You may not use this file except in compliance with the License.
+ * A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file is distributed
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+
+#import "AsyncImageUploader.h"
+#import "AmazonClientManager.h"
+
+@implementation AsyncImageUploader
+
+#pragma mark - Class Lifecycle
+
+-(id)initWithImageNo:(int)theImageNo progressView:(UIProgressView *)theProgressView
+{
+ self = [super init];
+ if (self)
+ {
+ imageNo = theImageNo;
+ progressView = [theProgressView retain];
+
+ isExecuting = NO;
+ isFinished = NO;
+ }
+
+ return self;
+}
+
+-(void)dealloc
+{
+ [progressView release];
+
+ [super dealloc];
+}
+
+#pragma mark - Overwriding NSOperation Methods
+
+/*
+ * For concurrent operations, you need to override the following methods:
+ * start, isConcurrent, isExecuting and isFinished.
+ *
+ * Please refer to the NSOperation documentation for more details.
+ * http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/NSOperation_class/Reference/Reference.html
+ */
+
+-(void)start
+{
+ // Makes sure that start method always runs on the main thread.
+ if (![NSThread isMainThread])
+ {
+ [self performSelectorOnMainThread:@selector(start) withObject:nil waitUntilDone:NO];
+ return;
+ }
+
+ [self willChangeValueForKey:@"isExecuting"];
+ isExecuting = YES;
+ [self didChangeValueForKey:@"isExecuting"];
+
+ [self performSelectorOnMainThread:@selector(initializeProgressView) withObject:nil waitUntilDone:NO];
+
+ NSString *bucketName = [NSString stringWithFormat:@"s3-async-demo2-ios-for-%@", [ACCESS_KEY_ID lowercaseString]];
+ NSString *keyName = [NSString stringWithFormat:@"image%d", imageNo];
+ NSString *filename = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"image%d", imageNo] ofType:@"png"];
+
+ // Creates the Bucket to put the Object.
+ @try
+ {
+ [[AmazonClientManager s3] createBucketWithName:bucketName];
+ }
+ @catch (NSException *e)
+ {
+ NSLog(@"%@", e);
+ }
+
+ // Puts the file as an object in the bucket.
+ S3PutObjectRequest *putObjectRequest = [[[S3PutObjectRequest alloc] initWithKey:keyName inBucket:bucketName] autorelease];
+ putObjectRequest.filename = filename;
+ putObjectRequest.delegate = self;
+
+ [[AmazonClientManager s3] putObject:putObjectRequest];
+}
+
+-(BOOL)isConcurrent
+{
+ return YES;
+}
+
+-(BOOL)isExecuting
+{
+ return isExecuting;
+}
+
+-(BOOL)isFinished
+{
+ return isFinished;
+}
+
+#pragma mark - AmazonServiceRequestDelegate Implementations
+
+-(void)request:(AmazonServiceRequest *)request didCompleteWithResponse:(AmazonServiceResponse *)response
+{
+ [self performSelectorOnMainThread:@selector(hideProgressView) withObject:nil waitUntilDone:NO];
+
+ [self finish];
+}
+
+-(void)request:(AmazonServiceRequest *)request didSendData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite
+{
+ [self performSelectorOnMainThread:@selector(updateProgressView:) withObject:[NSNumber numberWithFloat:totalBytesWritten / totalBytesExpectedToWrite] waitUntilDone:NO];
+}
+
+-(void)request:(AmazonServiceRequest *)request didFailWithError:(NSError *)error
+{
+ NSLog(@"%@", error);
+
+ [self finish];
+}
+
+-(void)request:(AmazonServiceRequest *)request didFailWithServiceException:(NSException *)exception
+{
+ NSLog(@"%@", exception);
+
+ [self finish];
+}
+
+#pragma mark - Helper Methods
+
+-(void)finish
+{
+ [self willChangeValueForKey:@"isExecuting"];
+ [self willChangeValueForKey:@"isFinished"];
+
+ isExecuting = NO;
+ isFinished = YES;
+
+ [self didChangeValueForKey:@"isExecuting"];
+ [self didChangeValueForKey:@"isFinished"];
+}
+
+-(void)initializeProgressView
+{
+ progressView.hidden = NO;
+ progressView.progress = 0.0;
+}
+
+-(void)updateProgressView:(NSNumber *)theProgress
+{
+ progressView.progress = [theProgress floatValue];
+}
+
+-(void)hideProgressView
+{
+ progressView.hidden = YES;
+}
+
+#pragma mark -
+
+@end
View
4 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/S3AsyncViewController.h
@@ -15,13 +15,13 @@
#import <UIKit/UIKit.h>
-#import "S3RequestDelegate.h"
+#import "S3ResponseHandler.h"
#import "AmazonClientManager.h"
@interface S3AsyncViewController:UIViewController {
IBOutlet UILabel *bytesIn;
IBOutlet UILabel *bytesOut;
- S3RequestDelegate *s3Delegate;
+ S3ResponseHandler *s3ResponseHandler;
S3PutObjectRequest *putObjectRequest;
S3GetObjectRequest *getObjectRequest;
View
19 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/S3AsyncViewController.m
@@ -26,17 +26,17 @@ @implementation S3AsyncViewController
-(id)init
{
// Create the S3 Request Delegate
- s3Delegate = [[S3RequestDelegate alloc] init];
- putObjectRequest = nil;
- getObjectRequest = nil;
+ s3ResponseHandler = [[S3ResponseHandler alloc] init];
+ putObjectRequest = nil;
+ getObjectRequest = nil;
return [super initWithNibName:@"S3AsyncViewController" bundle:nil];
}
-(void)viewWillAppear:(BOOL)animated
{
- s3Delegate.bytesIn = bytesIn;
- s3Delegate.bytesOut = bytesOut;
+ s3ResponseHandler.bytesIn = bytesIn;
+ s3ResponseHandler.bytesOut = bytesOut;
}
-(IBAction)start:(id)sender
@@ -71,7 +71,8 @@ -(void)putObject
NSString *filename = [[NSBundle mainBundle] pathForResource:@"temp" ofType:@"txt"];
// Create the Bucket to put the Object.
- @try {
+ @try
+ {
[[AmazonClientManager s3] createBucketWithName:bucketName];
}
@catch (NSException *e) {
@@ -82,7 +83,7 @@ -(void)putObject
// Put the file as an object in the bucket.
putObjectRequest = [[S3PutObjectRequest alloc] initWithKey:keyName inBucket:bucketName];
putObjectRequest.filename = filename;
- [putObjectRequest setDelegate:s3Delegate];
+ [putObjectRequest setDelegate:s3ResponseHandler];
// When using delegates the return is nil.
[[AmazonClientManager s3] putObject:putObjectRequest];
@@ -95,7 +96,7 @@ -(void)getObject
// Get the object from the bucket.
getObjectRequest = [[S3GetObjectRequest alloc] initWithKey:keyName withBucket:bucketName];
- [getObjectRequest setDelegate:s3Delegate];
+ [getObjectRequest setDelegate:s3ResponseHandler];
// When using delegates the return is nil.
[[AmazonClientManager s3] getObject:getObjectRequest];
@@ -103,7 +104,7 @@ -(void)getObject
-(void)dealloc
{
- [s3Delegate dealloc];
+ [s3ResponseHandler dealloc];
[putObjectRequest release];
[getObjectRequest release];
[super dealloc];
View
862 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/S3NSOperationDemoView.xib
@@ -0,0 +1,862 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
+ <data>
+ <int key="IBDocument.SystemTarget">1280</int>
+ <string key="IBDocument.SystemVersion">10K549</string>
+ <string key="IBDocument.InterfaceBuilderVersion">1938</string>
+ <string key="IBDocument.AppKitVersion">1038.36</string>
+ <string key="IBDocument.HIToolboxVersion">461.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">933</string>
+ </object>
+ <array key="IBDocument.IntegratedClassDependencies">
+ <string>IBProxyObject</string>
+ <string>IBUIBarButtonItem</string>
+ <string>IBUIImageView</string>
+ <string>IBUIProgressView</string>
+ <string>IBUIButton</string>
+ <string>IBUILabel</string>
+ <string>IBUINavigationBar</string>
+ <string>IBUINavigationItem</string>
+ <string>IBUIView</string>
+ </array>
+ <array key="IBDocument.PluginDependencies">
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </array>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+ <integer value="1" key="NS.object.0"/>
+ </object>
+ <array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <object class="IBProxyObject" id="372490531">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="975951072">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIView" id="191373211">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">274</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="IBUIImageView" id="813252392">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">283</int>
+ <string key="NSFrame">{{20, 62}, {70, 70}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="104183332"/>
+ <object class="NSColor" key="IBUIBackgroundColor" id="825522225">
+ <int key="NSColorSpace">10</int>
+ <object class="NSImage" key="NSImage">
+ <int key="NSImageFlags">549453824</int>
+ <string key="NSSize">{512, 1}</string>
+ <array class="NSMutableArray" key="NSReps">
+ <array>
+ <integer value="0"/>
+ <object class="NSBitmapImageRep">
+ <object class="NSData" key="NSTIFFRepresentation">
+ <bytes key="NS.bytes">TU0AKgAACAjFzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
+y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
+xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
+xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
+xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
+xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
+xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
+y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
+y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
+xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
+xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
+xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
+xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
+xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
+y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
+y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
+xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
+xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
+xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
+xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
+xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
+y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
+y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
+xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
+xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
+xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
+xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
+xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
+y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
+y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
+xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
+xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
+xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
+xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
+xczS/8vS2P/L0tj/xczU/wANAQAAAwAAAAECAAAAAQEAAwAAAAEAAQAAAQIAAwAAAAQAAAiqAQMAAwAA
+AAEAAQAAAQYAAwAAAAEAAgAAAREABAAAAAEAAAAIARIAAwAAAAEAAQAAARUAAwAAAAEABAAAARYAAwAA
+AAEAAQAAARcABAAAAAEAAAgAARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAQAAAiyAAAAAAAI
+AAgACAAIAAEAAQABAAE</bytes>
+ </object>
+ </object>
+ </array>
+ </array>
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MCAwAA</bytes>
+ </object>
+ </object>
+ <string key="IBUIColorCocoaTouchKeyPath">groupTableViewBackgroundColor</string>
+ </object>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <int key="IBUIContentMode">2</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSCustomResource" key="IBUIImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">image1.png</string>
+ </object>
+ </object>
+ <object class="IBUIImageView" id="724424683">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">283</int>
+ <string key="NSFrame">{{125, 62}, {70, 70}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="173372711"/>
+ <reference key="IBUIBackgroundColor" ref="825522225"/>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <int key="IBUIContentMode">2</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSCustomResource" key="IBUIImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">image2.png</string>
+ </object>
+ </object>
+ <object class="IBUIImageView" id="95747314">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">283</int>
+ <string key="NSFrame">{{230, 62}, {70, 70}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="828774780"/>
+ <reference key="IBUIBackgroundColor" ref="825522225"/>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <int key="IBUIContentMode">2</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSCustomResource" key="IBUIImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">image3.png</string>
+ </object>
+ </object>
+ <object class="IBUIImageView" id="192840857">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">283</int>
+ <string key="NSFrame">{{20, 267}, {70, 70}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="690233983"/>
+ <reference key="IBUIBackgroundColor" ref="825522225"/>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <int key="IBUIContentMode">2</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIImageView" id="64435385">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">283</int>
+ <string key="NSFrame">{{125, 267}, {70, 70}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="801473107"/>
+ <reference key="IBUIBackgroundColor" ref="825522225"/>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <int key="IBUIContentMode">2</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIImageView" id="530631478">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">283</int>
+ <string key="NSFrame">{{230, 267}, {70, 70}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="658221457"/>
+ <reference key="IBUIBackgroundColor" ref="825522225"/>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <int key="IBUIContentMode">2</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUINavigationBar" id="249733362">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">290</int>
+ <string key="NSFrameSize">{320, 44}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="813252392"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <array key="IBUIItems">
+ <object class="IBUINavigationItem" id="693851684">
+ <reference key="IBUINavigationBar" ref="249733362"/>
+ <string key="IBUITitle">S3 NSOperation Demo</string>
+ <object class="IBUIBarButtonItem" key="IBUILeftBarButtonItem" id="3156963">
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIStyle">1</int>
+ <reference key="IBUINavigationItem" ref="693851684"/>
+ <int key="IBUISystemItemIdentifier">0</int>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </array>
+ </object>
+ <object class="IBUIProgressView" id="104183332">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">-2147483347</int>
+ <string key="NSFrame">{{25, 117}, {60, 9}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="724424683"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <float key="IBUIProgress">0.5</float>
+ </object>
+ <object class="IBUIProgressView" id="828774780">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">-2147483347</int>
+ <string key="NSFrame">{{235, 117}, {60, 9}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="32470377"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <float key="IBUIProgress">0.5</float>
+ </object>
+ <object class="IBUIProgressView" id="173372711">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">-2147483347</int>
+ <string key="NSFrame">{{130, 117}, {60, 9}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="95747314"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <float key="IBUIProgress">0.5</float>
+ </object>
+ <object class="IBUIButton" id="32470377">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">301</int>
+ <string key="NSFrame">{{20, 140}, {280, 37}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="749636078"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <int key="IBUIButtonType">1</int>
+ <string key="IBUINormalTitle">1. Upload Images</string>
+ <object class="NSColor" key="IBUIHighlightedTitleColor" id="471003205">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ </object>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <object class="NSColor" key="IBUINormalTitleShadowColor" id="493897440">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC41AA</bytes>
+ </object>
+ <object class="IBUIFontDescription" key="IBUIFontDescription" id="109988216">
+ <int key="type">2</int>
+ <double key="pointSize">15</double>
+ </object>
+ <object class="NSFont" key="IBUIFont" id="1009336127">
+ <string key="NSName">Helvetica-Bold</string>
+ <double key="NSSize">15</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ </object>
+ <object class="IBUIButton" id="904659701">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">301</int>
+ <string key="NSFrame">{{20, 345}, {280, 37}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="625009043"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <int key="IBUIButtonType">1</int>
+ <string key="IBUINormalTitle">2. Download images</string>
+ <reference key="IBUIHighlightedTitleColor" ref="471003205"/>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <reference key="IBUINormalTitleShadowColor" ref="493897440"/>
+ <reference key="IBUIFontDescription" ref="109988216"/>
+ <reference key="IBUIFont" ref="1009336127"/>
+ </object>
+ <object class="IBUIProgressView" id="690233983">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">-2147483347</int>
+ <string key="NSFrame">{{25, 322}, {60, 9}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="64435385"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <float key="IBUIProgress">0.5</float>
+ </object>
+ <object class="IBUIProgressView" id="658221457">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">-2147483347</int>
+ <string key="NSFrame">{{235, 322}, {60, 9}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="904659701"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <float key="IBUIProgress">0.5</float>
+ </object>
+ <object class="IBUIProgressView" id="801473107">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">-2147483347</int>
+ <string key="NSFrame">{{130, 322}, {60, 9}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="530631478"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <float key="IBUIProgress">0.5</float>
+ </object>
+ <object class="IBUILabel" id="749636078">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">292</int>
+ <string key="NSFrame">{{20, 185}, {280, 50}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="192840857"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <int key="IBUIContentMode">9</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <string key="IBUIText">Create a test bucket, then upload the three images displayed above to the bucket using the NSOperationQueue and NSOperations.</string>
+ <object class="NSColor" key="IBUITextColor" id="270317747">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MCAwIDAAA</bytes>
+ </object>
+ <nil key="IBUIHighlightedColor"/>
+ <int key="IBUIBaselineAdjustment">1</int>
+ <float key="IBUIMinimumFontSize">9</float>
+ <int key="IBUINumberOfLines">3</int>
+ <int key="IBUILineBreakMode">0</int>
+ <object class="IBUIFontDescription" key="IBUIFontDescription" id="955283322">
+ <int key="type">1</int>
+ <double key="pointSize">12</double>
+ </object>
+ <object class="NSFont" key="IBUIFont" id="632710420">
+ <string key="NSName">Helvetica</string>
+ <double key="NSSize">12</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ </object>
+ <object class="IBUILabel" id="625009043">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">292</int>
+ <string key="NSFrame">{{20, 390}, {280, 50}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <int key="IBUIContentMode">9</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <string key="IBUIText">Download the uploaded images using the NSOperations. By tapping the Done button, you can cleanup the test data using NSInvocationOperation.</string>
+ <reference key="IBUITextColor" ref="270317747"/>
+ <nil key="IBUIHighlightedColor"/>
+ <int key="IBUIBaselineAdjustment">1</int>
+ <float key="IBUIMinimumFontSize">9</float>
+ <int key="IBUINumberOfLines">3</int>
+ <int key="IBUILineBreakMode">0</int>
+ <reference key="IBUIFontDescription" ref="955283322"/>
+ <reference key="IBUIFont" ref="632710420"/>
+ </object>
+ </array>
+ <string key="NSFrame">{{0, 20}, {320, 460}}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="249733362"/>
+ <reference key="IBUIBackgroundColor" ref="471003205"/>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </array>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <array class="NSMutableArray" key="connectionRecords">
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">done</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="3156963"/>
+ </object>
+ <int key="connectionID">28</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">donwloadButton</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="904659701"/>
+ </object>
+ <int key="connectionID">29</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">downloadImage1</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="192840857"/>
+ </object>
+ <int key="connectionID">30</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">downloadImage2</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="64435385"/>
+ </object>
+ <int key="connectionID">31</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">downloadImage3</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="530631478"/>
+ </object>
+ <int key="connectionID">32</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">downloadProgress1</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="690233983"/>
+ </object>
+ <int key="connectionID">33</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">downloadProgress2</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="801473107"/>
+ </object>
+ <int key="connectionID">34</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">downloadProgress3</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="658221457"/>
+ </object>
+ <int key="connectionID">35</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">uploadButton</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="32470377"/>
+ </object>
+ <int key="connectionID">36</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">uploadImage1</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="813252392"/>
+ </object>
+ <int key="connectionID">37</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">uploadImage2</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="724424683"/>
+ </object>
+ <int key="connectionID">38</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">uploadImage3</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="95747314"/>
+ </object>
+ <int key="connectionID">39</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">uploadProgress1</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="104183332"/>
+ </object>
+ <int key="connectionID">40</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">uploadProgress2</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="173372711"/>
+ </object>
+ <int key="connectionID">41</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">uploadProgress3</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="828774780"/>
+ </object>
+ <int key="connectionID">42</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">view</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="191373211"/>
+ </object>
+ <int key="connectionID">43</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchEventConnection" key="connection">
+ <string key="label">done:</string>
+ <reference key="source" ref="3156963"/>
+ <reference key="destination" ref="372490531"/>
+ </object>
+ <int key="connectionID">45</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchEventConnection" key="connection">
+ <string key="label">uploadImages:</string>
+ <reference key="source" ref="32470377"/>
+ <reference key="destination" ref="372490531"/>
+ <int key="IBEventType">7</int>
+ </object>
+ <int key="connectionID">47</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchEventConnection" key="connection">
+ <string key="label">downloadImages:</string>
+ <reference key="source" ref="904659701"/>
+ <reference key="destination" ref="372490531"/>
+ <int key="IBEventType">7</int>
+ </object>
+ <int key="connectionID">46</int>
+ </object>
+ </array>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <array key="orderedObjects">
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <array key="object" id="0"/>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1</int>
+ <reference key="object" ref="191373211"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="249733362"/>
+ <reference ref="724424683"/>
+ <reference ref="95747314"/>
+ <reference ref="104183332"/>
+ <reference ref="828774780"/>
+ <reference ref="173372711"/>
+ <reference ref="32470377"/>
+ <reference ref="192840857"/>
+ <reference ref="64435385"/>
+ <reference ref="530631478"/>
+ <reference ref="904659701"/>
+ <reference ref="690233983"/>
+ <reference ref="658221457"/>
+ <reference ref="801473107"/>
+ <reference ref="749636078"/>
+ <reference ref="625009043"/>
+ <reference ref="813252392"/>
+ </array>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="372490531"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="975951072"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">3</int>
+ <reference key="object" ref="813252392"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4</int>
+ <reference key="object" ref="724424683"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">5</int>
+ <reference key="object" ref="95747314"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">6</int>
+ <reference key="object" ref="192840857"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">7</int>
+ <reference key="object" ref="64435385"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">8</int>
+ <reference key="object" ref="530631478"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">9</int>
+ <reference key="object" ref="249733362"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="693851684"/>
+ </array>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">10</int>
+ <reference key="object" ref="693851684"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="3156963"/>
+ </array>
+ <reference key="parent" ref="249733362"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">11</int>
+ <reference key="object" ref="3156963"/>
+ <reference key="parent" ref="693851684"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">12</int>
+ <reference key="object" ref="104183332"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">15</int>
+ <reference key="object" ref="32470377"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">17</int>
+ <reference key="object" ref="904659701"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">18</int>
+ <reference key="object" ref="828774780"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">19</int>
+ <reference key="object" ref="173372711"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">20</int>
+ <reference key="object" ref="690233983"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">21</int>
+ <reference key="object" ref="658221457"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">22</int>
+ <reference key="object" ref="801473107"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">23</int>
+ <reference key="object" ref="749636078"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">25</int>
+ <reference key="object" ref="625009043"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ </array>
+ </object>
+ <dictionary class="NSMutableDictionary" key="flattenedProperties">
+ <string key="-1.CustomClassName">S3NSOperationDemoViewController</string>
+ <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="-2.CustomClassName">UIResponder</string>
+ <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="10.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="11.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="12.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="15.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="17.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="18.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="19.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="20.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="21.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="22.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="23.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="25.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="3.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="5.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="7.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="8.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="9.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
+ <nil key="activeLocalization"/>
+ <dictionary class="NSMutableDictionary" key="localizations"/>
+ <nil key="sourceID"/>
+ <int key="maxID">47</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <array class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <object class="IBPartialClassDescription">
+ <string key="className">S3NSOperationDemoViewController</string>
+ <string key="superclassName">UIViewController</string>
+ <dictionary class="NSMutableDictionary" key="actions">
+ <string key="done:">id</string>
+ <string key="downloadImages:">id</string>
+ <string key="uploadImages:">id</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="actionInfosByName">
+ <object class="IBActionInfo" key="done:">
+ <string key="name">done:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo" key="downloadImages:">
+ <string key="name">downloadImages:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo" key="uploadImages:">
+ <string key="name">uploadImages:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="outlets">
+ <string key="cleanUp">UIBarButtonItem</string>
+ <string key="done">UIBarButtonItem</string>
+ <string key="donwloadButton">UIButton</string>
+ <string key="downloadImage1">UIImageView</string>
+ <string key="downloadImage2">UIImageView</string>
+ <string key="downloadImage3">UIImageView</string>
+ <string key="downloadProgress1">UIProgressView</string>
+ <string key="downloadProgress2">UIProgressView</string>
+ <string key="downloadProgress3">UIProgressView</string>
+ <string key="uploadButton">UIButton</string>
+ <string key="uploadImage1">UIImageView</string>
+ <string key="uploadImage2">UIImageView</string>
+ <string key="uploadImage3">UIImageView</string>
+ <string key="uploadProgress1">UIProgressView</string>
+ <string key="uploadProgress2">UIProgressView</string>
+ <string key="uploadProgress3">UIProgressView</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <object class="IBToOneOutletInfo" key="cleanUp">
+ <string key="name">cleanUp</string>
+ <string key="candidateClassName">UIBarButtonItem</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="done">
+ <string key="name">done</string>
+ <string key="candidateClassName">UIBarButtonItem</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="donwloadButton">
+ <string key="name">donwloadButton</string>
+ <string key="candidateClassName">UIButton</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="downloadImage1">
+ <string key="name">downloadImage1</string>
+ <string key="candidateClassName">UIImageView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="downloadImage2">
+ <string key="name">downloadImage2</string>
+ <string key="candidateClassName">UIImageView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="downloadImage3">
+ <string key="name">downloadImage3</string>
+ <string key="candidateClassName">UIImageView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="downloadProgress1">
+ <string key="name">downloadProgress1</string>
+ <string key="candidateClassName">UIProgressView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="downloadProgress2">
+ <string key="name">downloadProgress2</string>
+ <string key="candidateClassName">UIProgressView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="downloadProgress3">
+ <string key="name">downloadProgress3</string>
+ <string key="candidateClassName">UIProgressView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="uploadButton">
+ <string key="name">uploadButton</string>
+ <string key="candidateClassName">UIButton</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="uploadImage1">
+ <string key="name">uploadImage1</string>
+ <string key="candidateClassName">UIImageView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="uploadImage2">
+ <string key="name">uploadImage2</string>
+ <string key="candidateClassName">UIImageView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="uploadImage3">
+ <string key="name">uploadImage3</string>
+ <string key="candidateClassName">UIImageView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="uploadProgress1">
+ <string key="name">uploadProgress1</string>
+ <string key="candidateClassName">UIProgressView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="uploadProgress2">
+ <string key="name">uploadProgress2</string>
+ <string key="candidateClassName">UIProgressView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="uploadProgress3">
+ <string key="name">uploadProgress3</string>
+ <string key="candidateClassName">UIProgressView</string>
+ </object>
+ </dictionary>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/S3NSOperationDemoViewController.h</string>
+ </object>
+ </object>
+ </array>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
+ <string key="image1.png">{368, 716}</string>
+ <string key="image2.png">{368, 716}</string>
+ <string key="image3.png">{368, 716}</string>
+ </dictionary>
+ <string key="IBCocoaTouchPluginVersion">933</string>
+ </data>
+</archive>
View
47 samples/AWSiOSDemo/AWSiOSDemo/Classes/S3/S3NSOperationDemoViewController.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2010-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License").
+ * You may not use this file except in compliance with the License.
+ * A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file is distributed
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+
+#import <UIKit/UIKit.h>
+
+@interface S3NSOperationDemoViewController:UIViewController
+{
+ IBOutlet UIImageView *uploadImage1;