Revision cfed7823 trunk/Pithos.Network/ICloudClient.cs
b/trunk/Pithos.Network/ICloudClient.cs | ||
---|---|---|
20 | 20 |
double UploadPercentLimit { get; set; } |
21 | 21 |
string AuthenticationUrl { get; set; } |
22 | 22 |
|
23 |
|
|
24 |
IList<ContainerInfo> ListContainers(); |
|
25 |
IList<ObjectInfo> ListObjects(string container,DateTime? since=null); |
|
26 |
IList<ObjectInfo> ListObjects(string container, string folder, DateTime? since = null); |
|
27 |
bool ContainerExists(string container); |
|
28 |
ContainerInfo GetContainerInfo(string container); |
|
29 |
void CreateContainer(string container); |
|
30 |
void DeleteContainer(string container); |
|
23 |
#region Container operations |
|
31 | 24 |
|
32 |
Task GetObject(string container, string objectName, string fileName); |
|
33 |
Task PutObject(string container, string objectName, string fileName, string hash = null); |
|
34 |
void DeleteObject(string container, string objectName, string trashContainer); |
|
35 |
void DeleteObject(string container, string objectName); |
|
36 |
void MoveObject(string sourceContainer, string oldObjectName, string targetContainer,string newObjectName); |
|
37 |
bool ObjectExists(string container,string objectName); |
|
38 |
ObjectInfo GetObjectInfo(string container, string objectName); |
|
39 |
void CreateFolder(string container, string folder); |
|
40 |
|
|
41 |
|
|
42 |
Task<TreeHash> GetHashMap(string container, string objectName); |
|
43 |
Task<IList<string>> PutHashMap(string container, string objectName, TreeHash hash); |
|
44 |
Task PostBlock(string container,byte[] block,int offset,int count); |
|
45 |
Task<byte[]> GetBlock(string container, Uri relativeUrl, long start, long? end); |
|
25 |
IList<ContainerInfo> ListContainers(string account=null); |
|
26 |
IList<ObjectInfo> ListObjects(string account, string container, DateTime? since = null); |
|
27 |
IList<ObjectInfo> ListObjects(string account, string container, string folder, DateTime? since = null); |
|
28 |
bool ContainerExists(string account, string container); |
|
29 |
ContainerInfo GetContainerInfo(string account, string container); |
|
30 |
void CreateContainer(string account, string container); |
|
31 |
void DeleteContainer(string account, string container); |
|
32 |
#endregion |
|
33 |
|
|
34 |
#region Object operations |
|
35 |
Task GetObject(string account, string container, string objectName, string fileName); |
|
36 |
Task PutObject(string account, string container, string objectName, string fileName, string hash = null); |
|
37 |
void DeleteObject(string account, string container, string objectName, string trashContainer); |
|
38 |
//void DeleteObject(string container, string objectName, string account = null); |
|
39 |
void MoveObject(string account, string sourceContainer, string oldObjectName, string targetContainer, string newObjectName); |
|
40 |
bool ObjectExists(string account, string container, string objectName); |
|
41 |
ObjectInfo GetObjectInfo(string account, string container, string objectName); |
|
42 |
void CreateFolder(string account, string container, string folder); |
|
43 |
#endregion |
|
44 |
|
|
45 |
#region Hashmap operations |
|
46 |
Task<TreeHash> GetHashMap(string account, string container, string objectName); |
|
47 |
Task<IList<string>> PutHashMap(string account, string container, string objectName, TreeHash hash); |
|
48 |
Task PostBlock(string account, string container, byte[] block, int offset, int count); |
|
49 |
Task<byte[]> GetBlock(string account, string container, Uri relativeUrl, long start, long? end); |
|
50 |
#endregion |
|
51 |
|
|
52 |
#region Sharing operations |
|
53 |
IList<ObjectInfo> ListSharedObjects(DateTime? since); |
|
54 |
void ShareObject(string account, string container, string objectName, string shareTo, bool read, bool write); |
|
55 |
|
|
56 |
#endregion |
|
46 | 57 |
} |
47 | 58 |
|
48 | 59 |
|
... | ... | |
74 | 85 |
|
75 | 86 |
} |
76 | 87 |
|
77 |
public IList<ContainerInfo> ListContainers() |
|
88 |
public IList<ContainerInfo> ListContainers(string account=null)
|
|
78 | 89 |
{ |
79 | 90 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
80 | 91 |
Contract.Requires(StorageUrl!=null); |
... | ... | |
82 | 93 |
return default(IList<ContainerInfo>); |
83 | 94 |
} |
84 | 95 |
|
85 |
public IList<ObjectInfo> ListObjects(string container, DateTime? since = null) |
|
96 |
public IList<ObjectInfo> ListSharedObjects(DateTime? since) |
|
97 |
{ |
|
98 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
|
99 |
Contract.Requires(StorageUrl != null); |
|
100 |
|
|
101 |
return default(IList<ObjectInfo>); |
|
102 |
} |
|
103 |
|
|
104 |
public void ShareObject(string account, string container, string objectName, string shareTo, bool read, bool write) |
|
105 |
{ |
|
106 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
|
107 |
Contract.Requires(StorageUrl != null); |
|
108 |
Contract.Requires(!String.IsNullOrWhiteSpace(container)); |
|
109 |
Contract.Requires(!String.IsNullOrWhiteSpace(objectName)); |
|
110 |
Contract.Requires(!String.IsNullOrWhiteSpace(account)); |
|
111 |
Contract.Requires(!String.IsNullOrWhiteSpace(shareTo)); |
|
112 |
|
|
113 |
} |
|
114 |
|
|
115 |
|
|
116 |
public IList<ObjectInfo> ListObjects(string account, string container, DateTime? since = null) |
|
86 | 117 |
{ |
87 | 118 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
88 | 119 |
Contract.Requires(StorageUrl != null); |
... | ... | |
91 | 122 |
return default(IList<ObjectInfo>); |
92 | 123 |
} |
93 | 124 |
|
94 |
public IList<ObjectInfo> ListObjects(string container, string folder, DateTime? since = null) |
|
125 |
public IList<ObjectInfo> ListObjects(string account, string container, string folder, DateTime? since = null)
|
|
95 | 126 |
{ |
96 | 127 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
97 | 128 |
Contract.Requires(StorageUrl != null); |
... | ... | |
101 | 132 |
return default(IList<ObjectInfo>); |
102 | 133 |
} |
103 | 134 |
|
104 |
public bool ContainerExists(string container) |
|
135 |
public bool ContainerExists(string account, string container)
|
|
105 | 136 |
{ |
106 | 137 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
107 | 138 |
Contract.Requires(StorageUrl!=null); |
... | ... | |
110 | 141 |
return default(bool); |
111 | 142 |
} |
112 | 143 |
|
113 |
public ContainerInfo GetContainerInfo(string container) |
|
144 |
public ContainerInfo GetContainerInfo(string account, string container)
|
|
114 | 145 |
{ |
115 | 146 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
116 | 147 |
Contract.Requires(StorageUrl!=null); |
... | ... | |
119 | 150 |
return default(ContainerInfo); |
120 | 151 |
} |
121 | 152 |
|
122 |
public void CreateContainer(string container) |
|
153 |
public void CreateContainer(string account, string container)
|
|
123 | 154 |
{ |
124 | 155 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
125 | 156 |
Contract.Requires(StorageUrl!=null); |
126 | 157 |
Contract.Requires(!String.IsNullOrWhiteSpace(container)); |
127 | 158 |
} |
128 | 159 |
|
129 |
public void DeleteContainer(string container) |
|
160 |
public void DeleteContainer(string account, string container)
|
|
130 | 161 |
{ |
131 | 162 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
132 | 163 |
Contract.Requires(StorageUrl!=null); |
133 | 164 |
Contract.Requires(!String.IsNullOrWhiteSpace(container)); |
134 | 165 |
} |
135 | 166 |
|
136 |
public Task GetObject(string container, string objectName, string fileName) |
|
167 |
public Task GetObject(string account, string container, string objectName, string fileName)
|
|
137 | 168 |
{ |
138 | 169 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
139 | 170 |
Contract.Requires(StorageUrl!=null); |
... | ... | |
143 | 174 |
return default(Task); |
144 | 175 |
} |
145 | 176 |
|
146 |
public Task PutObject(string container, string objectName, string fileName, string hash = null) |
|
177 |
public Task PutObject(string account, string container, string objectName, string fileName, string hash = null)
|
|
147 | 178 |
{ |
148 | 179 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
149 | 180 |
Contract.Requires(StorageUrl!=null); |
... | ... | |
154 | 185 |
return default(Task); |
155 | 186 |
} |
156 | 187 |
|
157 |
public void DeleteObject(string container, string objectName, string trashContainer) |
|
188 |
public void DeleteObject(string account, string container, string objectName, string trashContainer)
|
|
158 | 189 |
{ |
159 | 190 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
160 | 191 |
Contract.Requires(StorageUrl!=null); |
... | ... | |
163 | 194 |
Contract.Requires(!String.IsNullOrWhiteSpace(trashContainer)); |
164 | 195 |
} |
165 | 196 |
|
166 |
public void DeleteObject(string container, string objectName) |
|
197 |
public void DeleteObject(string container, string objectName, string account = null)
|
|
167 | 198 |
{ |
168 | 199 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
169 | 200 |
Contract.Requires(StorageUrl!=null); |
... | ... | |
171 | 202 |
Contract.Requires(!String.IsNullOrWhiteSpace(objectName)); |
172 | 203 |
} |
173 | 204 |
|
174 |
public void MoveObject(string sourceContainer, string oldObjectName, string targetContainer,string newObjectName)
|
|
205 |
public void MoveObject(string account, string sourceContainer, string oldObjectName, string targetContainer, string newObjectName)
|
|
175 | 206 |
{ |
176 | 207 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
177 | 208 |
Contract.Requires(StorageUrl!=null); |
... | ... | |
181 | 212 |
Contract.Requires(!String.IsNullOrWhiteSpace(newObjectName)); |
182 | 213 |
} |
183 | 214 |
|
184 |
public bool ObjectExists(string container,string objectName)
|
|
215 |
public bool ObjectExists(string account, string container, string objectName)
|
|
185 | 216 |
{ |
186 | 217 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
187 | 218 |
Contract.Requires(StorageUrl!=null); |
... | ... | |
191 | 222 |
return default(bool); |
192 | 223 |
} |
193 | 224 |
|
194 |
public ObjectInfo GetObjectInfo(string container,string objectName)
|
|
225 |
public ObjectInfo GetObjectInfo(string account, string container, string objectName)
|
|
195 | 226 |
{ |
196 | 227 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
197 | 228 |
Contract.Requires(StorageUrl!=null); |
... | ... | |
201 | 232 |
return default(ObjectInfo); |
202 | 233 |
} |
203 | 234 |
|
204 |
public void CreateFolder(string container, string folder) |
|
235 |
public void CreateFolder(string account, string container, string folder)
|
|
205 | 236 |
{ |
206 | 237 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
207 | 238 |
Contract.Requires(StorageUrl != null); |
... | ... | |
209 | 240 |
Contract.Requires(!String.IsNullOrWhiteSpace(folder)); |
210 | 241 |
} |
211 | 242 |
|
212 |
public Task<TreeHash> GetHashMap(string container, string objectName) |
|
243 |
public Task<TreeHash> GetHashMap(string account, string container, string objectName)
|
|
213 | 244 |
{ |
214 | 245 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
215 | 246 |
Contract.Requires(StorageUrl != null); |
... | ... | |
219 | 250 |
return default(Task<TreeHash>); |
220 | 251 |
} |
221 | 252 |
|
222 |
public Task<IList<string>> PutHashMap(string container, string objectName, TreeHash hash) |
|
253 |
public Task<IList<string>> PutHashMap(string account, string container, string objectName, TreeHash hash)
|
|
223 | 254 |
{ |
224 | 255 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
225 | 256 |
Contract.Requires(StorageUrl != null); |
... | ... | |
230 | 261 |
return default(Task<IList<string>>); |
231 | 262 |
} |
232 | 263 |
|
233 |
public Task PostBlock(string container,byte[] block,int offset,int count)
|
|
264 |
public Task PostBlock(string account, string container, byte[] block, int offset, int count)
|
|
234 | 265 |
{ |
235 | 266 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
236 | 267 |
Contract.Requires(StorageUrl != null); |
... | ... | |
244 | 275 |
return default(Task); |
245 | 276 |
} |
246 | 277 |
|
247 |
public Task<byte[]> GetBlock(string container, Uri relativeUrl, long start, long? end) |
|
278 |
public Task<byte[]> GetBlock(string account, string container, Uri relativeUrl, long start, long? end)
|
|
248 | 279 |
{ |
249 | 280 |
Contract.Requires(!String.IsNullOrWhiteSpace(Token)); |
250 | 281 |
Contract.Requires(StorageUrl != null); |
... | ... | |
255 | 286 |
|
256 | 287 |
return default(Task<byte[]>); |
257 | 288 |
} |
258 |
} |
|
259 |
|
|
260 |
public class ContainerInfo |
|
261 |
{ |
|
262 |
public string Name { get; set; } |
|
263 |
public long Count { get; set; } |
|
264 |
public long Bytes { get; set; } |
|
265 |
public string BlockHash { get; set; } |
|
266 |
public int BlockSize { get; set; } |
|
267 | 289 |
|
268 |
public static ContainerInfo Empty=new ContainerInfo(); |
|
269 | 290 |
} |
270 | 291 |
} |
Also available in: Unified diff