using System; using System.Collections.Generic; namespace AppLimit.CloudComputing.SharpBox { /// /// This interface defines all methods which has to be implemented /// to support asynchoniously I/O, e.g. for WP7 /// public interface ICloudStorageAsyncInterface { /// /// The BeginOpenRequest-Method starts the authentication process of a given user with the /// configured cloud storage service. After finishing this process in the background /// the callback delegate will be executed. Please use EndOpenRequest in the callback /// delegate /// /// Delegate which will be called when the background action is finished /// The configuration information of the cloud storage service /// The credential token of the user which has to be authenticated /// The asyncresult is the entry point to all generated results IAsyncResult BeginOpenRequest(AsyncCallback callback, ICloudStorageConfiguration configuration, ICloudStorageAccessToken token); /// /// The EndOpenRequest method will finish a started async call. Please use this /// method in the callback delegate. /// /// The result reference generated by BeginOpenRequest /// The generated cloud access token ICloudStorageAccessToken EndOpenRequest(IAsyncResult asyncResult); /// /// The BeginGetChildsRequest-Method starts retrieving the list of childs of a given /// parent container. This procedure can take a while if some information has to /// be requested from the network /// /// /// /// IAsyncResult BeginGetChildsRequest(AsyncCallback callback, ICloudDirectoryEntry parent); /// /// The EndGetChildsRequest-Method will finish a started async call. Please use this /// method in the callback delegate. /// /// /// List EndGetChildsRequest(IAsyncResult asyncResult); /// /// The begin routine the receive the root element from cloud storage /// /// /// IAsyncResult BeginGetRootRequest(AsyncCallback callback); /// /// The end routine the receive the root element /// /// /// ICloudDirectoryEntry EndGetRootRequest(IAsyncResult asyncResult); } }