• Main Page
  • Classes
  • Files
  • File List

include/S3/AmazonS3Client.h

00001 /*
00002  * Copyright 2010 Amazon.com, Inc. or its affiliates. All Rights Reserved.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License").
00005  * You may not use this file except in compliance with the License.
00006  * A copy of the License is located at
00007  *
00008  *  http://aws.amazon.com/apache2.0
00009  *
00010  * or in the "license" file accompanying this file. This file is distributed
00011  * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
00012  * express or implied. See the License for the specific language governing
00013  * permissions and limitations under the License.
00014  */
00015 
00016 #import <Foundation/Foundation.h>
00017 #import <CommonCrypto/CommonHMAC.h>
00018 
00019 #import "../AmazonWebServiceClient.h"
00020 
00021 #import "S3Constants.h"
00022 #import "S3AbstractPutRequest.h"
00023 #import "S3AccessControlList.h"
00024 #import "S3AccessControlListUnmarshaller.h"
00025 #import "S3Bucket.h"
00026 #import "S3BucketNameUtilities.h"
00027 #import "S3BucketUnmarshaller.h"
00028 #import "S3CannedACL.h"
00029 #import "S3CopyObjectRequest.h"
00030 #import "S3CopyObjectResponse.h"
00031 #import "S3CreateBucketRequest.h"
00032 #import "S3CreateBucketResponse.h"
00033 #import "S3DeleteBucketRequest.h"
00034 #import "S3DeleteBucketResponse.h"
00035 #import "S3DeleteObjectRequest.h"
00036 #import "S3DeleteObjectResponse.h"
00037 #import "S3ErrorResponseHandler.h"
00038 #import "S3GetACLRequest.h"
00039 #import "S3GetACLResponse.h"
00040 #import "S3GetObjectMetadataRequest.h"
00041 #import "S3GetObjectMetadataResponse.h"
00042 #import "S3GetObjectRequest.h"
00043 #import "S3GetObjectResponse.h"
00044 #import "S3GetPreSignedURLRequest.h"
00045 #import "S3Grant.h"
00046 #import "S3GrantUnmarshaller.h"
00047 #import "S3Grantee.h"
00048 #import "S3ListBucketResultUnmarshaller.h"
00049 #import "S3ListBucketsRequest.h"
00050 #import "S3ListBucketsResponse.h"
00051 #import "S3ListBucketsResult.h"
00052 #import "S3ListBucketsResultUnmarshaller.h"
00053 #import "S3ListObjectsRequest.h"
00054 #import "S3ListObjectsResponse.h"
00055 #import "S3ListObjectsResult.h"
00056 #import "S3LocationConstraintUnmarshaller.h"
00057 #import "S3ObjectSummary.h"
00058 #import "S3ObjectSummaryUnmarshaller.h"
00059 #import "S3Owner.h"
00060 #import "S3OwnerUnmarshaller.h"
00061 #import "S3Permission.h"
00062 #import "S3PutObjectRequest.h"
00063 #import "S3PutObjectResponse.h"
00064 #import "S3Region.h"
00065 #import "S3Request.h"
00066 #import "S3Response.h"
00067 #import "S3ServiceModel.h"
00068 #import "S3ServiceTransform.h"
00069 #import "S3SetACLRequest.h"
00070 #import "S3SetACLResponse.h"
00071 
00072 
00083 @interface AmazonS3Client : AmazonWebServiceClient {}
00084 
00089 -(NSArray *)listBuckets;
00090 
00097 -(S3ListBucketsResponse *)listBuckets:(S3ListBucketsRequest *)listBucketsRequest;
00098 
00104 -(S3CreateBucketResponse *)createBucket:(S3CreateBucketRequest *)createBucketRequest;
00105 
00112 -(S3DeleteBucketResponse *)deleteBucket:(S3DeleteBucketRequest*)deleteBucketRequest;
00113 
00120 -(S3Region *)getBucketLocation:(NSString *)bucketName;
00121 
00127 -(S3GetObjectMetadataResponse *)getObjectMetadata:(S3GetObjectMetadataRequest *)getObjectMetadataRequest;
00128 
00134 -(S3PutObjectResponse *)putObject:(S3PutObjectRequest *)putObjectRequest;
00135 
00145 -(S3GetObjectResponse *)getObject:(S3GetObjectRequest *)getObjectRequest;
00146 
00153 -(S3DeleteObjectResponse *)deleteObject:(S3DeleteObjectRequest *)deleteObjectRequest;
00154 
00160 -(S3ListObjectsResponse *)listObjects:(S3ListObjectsRequest *)listObjectsRequest;
00161 
00167 -(NSArray *)listObjectsInBucket:(NSString *)bucketName;
00168 
00175 -(S3CopyObjectResponse *)copyObject:(S3CopyObjectRequest *)copyObjectRequest;
00176 
00183 -(S3GetACLResponse *)getACL:(S3GetACLRequest *)getACLRequest;
00184 
00191 -(S3SetACLResponse *)setACL:(S3SetACLRequest *)setACLRequest;
00192 
00206 -(NSURL *)getPreSignedURL:(S3GetPreSignedURLRequest *)preSignedURLRequest;
00207 
00209 // *
00210 // * @see http://docs.amazonwebservices.com/AmazonS3/2006-03-01/dev/index.html?RESTAccessPolicy.html
00211 // *
00212 // * @param request a mutable URL request
00213 // * @return the signed request
00214 // */
00215 //-(NSURLRequest *)signURLRequest:(NSMutableURLRequest *)request;
00216 
00224 +(S3Response *)constructResponseFromRequest:(S3Request *)request;
00225 
00227 +(void)initializeResponseObjects;
00228 
00234 -(S3Response *)invoke:(S3Request *)request;
00235 
00237 +(NSString *)apiVersion;
00238 @end

Copyright © 2010 Amazon Web Services, Inc. All Rights Reserved.