00001
00002
00003
00004
00005
00006
00007
00008
00009 #import <UIKit/UIKit.h>
00010
00011 @class DropIOAsset;
00012 @class DropIONote;
00013 @class DropIOLink;
00014 @class DropIODocument;
00015 @class DropIOImage;
00016
00017 typedef enum {
00018 AssetSortOrder_Date = 0,
00019 AssetSortOrder_Type = 1,
00020 AssetSortOrder_Title = 2,
00021 AssetSortOrder_API = 3
00022 } AssetSortOrder;
00023
00024 typedef enum {
00025 kDropFeedFormat_RSS = 0,
00026 kDropFeedFormat_Dropcast
00027 } DropFeedFormat;
00028
00029 @interface DropIODrop : NSObject {
00030
00031 NSString* name;
00032 NSString* password;
00033
00034 NSString* adminPassword;
00035 NSString* guestPassword;
00036 NSString* adminToken;
00037 NSString* guestToken;
00038
00039 NSString* email;
00040 NSString* voicemail;
00041 NSString* conference;
00042
00043 NSString* rss;
00044 NSString* fax;
00045 NSString* hiddenUploadUrl;
00046
00047 NSString* expirationLength;
00048 NSUInteger currentBytes;
00049 NSUInteger maxBytes;
00050
00051 NSUInteger assetCount;
00052
00053 BOOL guestsCanAdd;
00054 BOOL guestsCanDelete;
00055 BOOL guestsCanComment;
00056
00057 NSString* premiumCode;
00058
00059 NSMutableArray* assetPages;
00060
00061 NSString* title;
00062 AssetSortOrder sortOrder;
00063 NSMutableArray* sortedAssets;
00064 NSIndexSet* sortedPageIndexes;
00065
00066 BOOL loadingAssets;
00067 }
00068
00069 @property (nonatomic, retain) NSString* name;
00070 @property (nonatomic, retain) NSString* password;
00071
00072 @property (nonatomic, retain) NSString* adminPassword;
00073 @property (nonatomic, retain) NSString* guestPassword;
00074 @property (nonatomic, retain) NSString* adminToken;
00075 @property (nonatomic, retain) NSString* guestToken;
00076
00077 @property (nonatomic, retain) NSString* email;
00078 @property (nonatomic, retain) NSString* voicemail;
00079 @property (nonatomic, retain) NSString* conference;
00080
00081 @property (nonatomic, retain) NSString* rss;
00082 @property (nonatomic, retain) NSString* fax;
00083 @property (nonatomic, retain) NSString* hiddenUploadUrl;
00084
00085 @property (nonatomic, retain) NSString* expirationLength;
00086 @property (nonatomic) NSUInteger currentBytes;
00087 @property (nonatomic) NSUInteger maxBytes;
00088
00089 @property (nonatomic) NSUInteger assetCount;
00090
00091 @property (nonatomic) BOOL guestsCanAdd;
00092 @property (nonatomic) BOOL guestsCanDelete;
00093 @property (nonatomic) BOOL guestsCanComment;
00094
00095 @property (nonatomic, retain) NSString* premiumCode;
00096
00097 @property (retain) NSMutableArray* assetPages;
00098
00099 @property (nonatomic, retain) NSString* title;
00100 @property (nonatomic) AssetSortOrder sortOrder;
00101 @property (nonatomic, retain) NSMutableArray* sortedAssets;
00102 @property (nonatomic, retain) NSIndexSet* sortedPageIndexes;
00103
00104 @property BOOL loadingAssets;
00105
00106
00107 - (NSURL*) emailURL;
00108 - (NSURL*) voicemailURL;
00109 - (NSURL*) conferenceURL;
00110 - (NSURL*) rssURL;
00111 - (NSURL*) faxURL;
00112 - (NSURL*) hiddenUploadURL;
00113
00114 - (NSURL*) dropURL;
00115 - (NSURL*) apiURL;
00116 - (NSURL*) dropcastURL;
00117 - (NSURL*) feedURLForFormat:(DropFeedFormat)format;
00118 - (NSURL*) mobileURL;
00119 - (NSURL*) chatURL;
00120 - (NSURL*) webAuthURL;
00121
00122
00123 - (NSURL*) URLForAssetsPage:(NSUInteger)assetsPage;
00124 - (NSURL*) URLForAssetNamed:(NSString*)assetName;
00125
00126
00127 - (NSIndexSet*) indexSetForAllAssetPages;
00128 - (NSUInteger) lastAssetPageIndex;
00129
00130
00131 - (void) loadAssetPages:(NSIndexSet*)pageIndexes;
00132 - (void) loadAssetPagesInBackground:(NSIndexSet*)pageIndexes;
00133 - (void) loadAllAssets;
00134 - (void) loadAllAssetsInBackground;
00135
00136
00137 - (void) unloadAssetPages:(NSIndexSet*)pageIndexes;
00138 - (void) unloadAllAssets;
00139
00140
00141 - (void) reloadAssetPages:(NSIndexSet*)pageIndexes;
00142 - (void) reloadAssetPagesInBackground:(NSIndexSet*)pageIndexes;
00143 - (void) reloadAllAssets;
00144 - (void) reloadAllAssetsInBackground;
00145
00146
00147 - (BOOL) areAssetPagesLoaded:(NSIndexSet*)pageIndexes;
00148 - (BOOL) areAllAssetsLoaded;
00149
00150
00151 - (void) sortAssetPages:(NSIndexSet*)pageIndexes;
00152 - (void) sortAllAssets;
00153
00154
00155 - (NSUInteger) countAssetsInAssetPages:(NSIndexSet*)pageIndexes;
00156 - (NSUInteger) countAllAssets;
00157 - (NSUInteger) countAssetsOfType:(NSString*)assetType inAssetPages:(NSIndexSet*)pageIndexes;
00158 - (NSUInteger) countAllAssetsOfType:(NSString*)assetType;
00159
00160
00161 - (DropIOAsset*) findAssetNamed:(NSString*)assetName inAssetPages:(NSIndexSet*)pageIndexes loadIfMissing:(BOOL)loadFlag;
00162 - (DropIOAsset*) findAssetNamed:(NSString*)assetName loadAllIfMissing:(BOOL)loadFlag;
00163 - (DropIOAsset*) assetAtIndex:(NSUInteger)index inAssetPages:(NSIndexSet*)pageIndexes;
00164
00165
00166 - (void) addAsset:(DropIOAsset*)asset;
00167 - (void) removeAsset:(DropIOAsset*)asset;
00168 - (void) removeAssetAtIndex:(NSUInteger)index inAssetPages:(NSIndexSet*)pageIndexes;
00169
00170
00171 - (DropIOAsset*) assetOperation:(NSString*)opString atUrl:(NSString*)urlStr withParameters:(NSDictionary*)params;
00172 - (DropIOAsset*) assetWithParameters:(NSDictionary*)propDict;
00173 - (DropIONote*) noteWithTitle:(NSString*)noteTitle contents:(NSString*)text;
00174 - (DropIOLink*) linkWithTitle:(NSString*)linkTitle url:(NSURL*)linkURL description:(NSString*)linkDesc;
00175 - (DropIODocument*) docWithFilename:(NSString*)fileName data:(NSData*)docData mimeType:(NSString*)docMimeType;
00176 - (DropIOImage*) imageWithName:(NSString*)imgName data:(NSData*)imgData format:(NSString*)imgDataFormat;
00177
00178
00179 - (void) recordVoicemail;
00180 - (void) conferenceCall;
00181
00182
00183 - (NSString*)bestTokenIncludingPassword:(BOOL)includePassword;
00184
00185
00186 - (BOOL) canAdd;
00187 - (BOOL) canEdit;
00188 - (BOOL) canDelete;
00189 - (BOOL) canComment;
00190 - (BOOL) canLoadAllAssets;
00191
00192
00193 - (void) update;
00194 - (void) delete;
00195
00196
00197 - (void) loadAssets;
00198 - (void) unloadAssets;
00199 - (void) reloadAssets;
00200 - (BOOL) areAssetsLoaded;
00201 - (void) sortAssets;
00202 - (NSInteger) countAssetsOfType:(NSString*)assetType;
00203 - (DropIOAsset*) findAssetNamed:(NSString*)assetName loadIfMissing:(BOOL)loadFlag;
00204 - (DropIOAsset*) assetAtIndex:(NSInteger)index;
00205 - (void) removeAssetAtIndex:(NSInteger)index;
00206
00207
00208 @end