/// <summary> /// Retrieves information about structure of the folder by its ID /// </summary> /// <param name="folderID">Folder ID</param> /// <param name="options">Retrieving options</param> /// <returns>Instance of <see cref="Folder"/> type which represents user's folder</returns> public Folder GetFolderStructure(long folderID, RetrieveFolderStructureOptions options) { Folder folder; GetAccountTreeStatus status = new GetAccountTreeStatus(); folder = null; try { status = _manager.GetFolderStructure(folderID, options, out folder); } catch (InvalidOperationException e) { } if (status != GetAccountTreeStatus.Successful) { throw new ApplicationException(string.Format("Failed to retrieve folder tree. FolderID=[{0}], OperationStatus={1}", folderID, status)); } return folder; }
/// <summary> /// Get files information for a given folder asynchronously /// </summary> /// <param name="folderID"></param> /// <param name="operationFinished"></param> /// <param name="options"></param> public void GetFilesAsync(long folderID, OperationFinished<GetFolderStructureResponse> operationFinished, RetrieveFolderStructureOptions options = RetrieveFolderStructureOptions.OneLevel) { _manager.GetFolderStructure(folderID, options, operationFinished); }
/// <summary> /// Gets the files informqtion for a given folder. Synchronous call /// </summary> /// <param name="folderID"></param> /// <param name="options"></param> /// <returns></returns> public Folder GetFiles(long folderID, RetrieveFolderStructureOptions options = RetrieveFolderStructureOptions.OneLevel) { Folder folder; _manager.GetFolderStructure(folderID, options, out folder); return folder; }
/// <summary> /// Checks if <paramref name="folderStructureOptions"/> contains <paramref name="options"/> /// </summary> /// <param name="folderStructureOptions">Set of <see cref="RetrieveFolderStructureOptions"/> flags</param> /// <param name="options">Single folder structure retrieve option</param> /// <returns>True if set of flags <paramref name="folderStructureOptions"/> contains <paramref name="options"/></returns> public static bool Contains(this RetrieveFolderStructureOptions folderStructureOptions, RetrieveFolderStructureOptions options) { return (folderStructureOptions & options) == options; }
public void GetFolderStructure(long folderID, RetrieveFolderStructureOptions retrieveOptions, OperationFinished<GetFolderStructureResponse> getFolderStructureCompleted, object userState);
public GetAccountTreeStatus GetFolderStructure(long folderID, RetrieveFolderStructureOptions retrieveOptions, out Folder folder);
public void GetRootFolderStructure(RetrieveFolderStructureOptions retrieveOptions, OperationFinished<GetFolderStructureResponse> getFolderStructureCompleted);
public GetAccountTreeStatus GetRootFolderStructure(RetrieveFolderStructureOptions retrieveOptions, out Folder folder);
/// <summary> /// Asynchronously retrieves a user's root folder structure /// </summary> /// <param name="retrieveOptions">Retrieve options</param> /// <param name="getFolderStructureCompleted">Callback method which will be executed after operation completes</param> /// <param name="userState">A user-defined object containing state information. /// This object is passed to the <paramref name="getFolderStructureCompleted"/> delegate as a part of response when the operation is completed</param> /// <exception cref="ArgumentException">Thrown if <paramref name="getFolderStructureCompleted"/> is null</exception> public void GetRootFolderStructure( RetrieveFolderStructureOptions retrieveOptions, OperationFinished<GetFolderStructureResponse> getFolderStructureCompleted, object userState) { GetFolderStructure(0, retrieveOptions, getFolderStructureCompleted, userState); }
/// <summary> /// Retrieves a user's root folder structure /// </summary> /// <param name="retrieveOptions">Retrieve options</param> /// <returns>Operation status</returns> public GetFolderStructureResponse GetRootFolderStructure(RetrieveFolderStructureOptions retrieveOptions) { return GetFolderStructure(0, retrieveOptions); }
/// <summary> /// Asynchronously retrieves a user's folder structure by ID /// </summary> /// <param name="folderID">ID of the folder to retrieve</param> /// <param name="retrieveOptions">Retrieve options</param> /// <param name="getFolderStructureCompleted">Callback method which will be executed after operation completes</param> /// <param name="userState">A user-defined object containing state information. /// This object is passed to the <paramref name="getFolderStructureCompleted"/> delegate as a part of response when the operation is completed</param> /// <exception cref="ArgumentException">Thrown if <paramref name="getFolderStructureCompleted"/> is null</exception> public void GetFolderStructure( long folderID, RetrieveFolderStructureOptions retrieveOptions, OperationFinished<GetFolderStructureResponse> getFolderStructureCompleted, object userState) { ThrowIfParameterIsNull(getFolderStructureCompleted, "getFolderStructureCompleted"); object[] state = new object[3]; state[0] = getFolderStructureCompleted; state[1] = retrieveOptions; state[2] = userState; _service.get_account_treeCompleted += GetFolderStructureFinished; _service.get_account_treeAsync(_apiKey, _token, folderID, retrieveOptions.ToStringArray(), state); }
/// <summary> /// Asynchronously retrieves a user's folder structure by ID /// </summary> /// <param name="folderID">ID of the folder to retrieve</param> /// <param name="retrieveOptions">Retrieve options</param> /// <param name="getFolderStructureCompleted">Callback method which will be executed after operation completes</param> /// <exception cref="ArgumentException">Thrown if <paramref name="getFolderStructureCompleted"/> is null</exception> public void GetFolderStructure( long folderID, RetrieveFolderStructureOptions retrieveOptions, OperationFinished<GetFolderStructureResponse> getFolderStructureCompleted) { GetFolderStructure(folderID, retrieveOptions, getFolderStructureCompleted, null); }
public GetAccountTreeStatus GetFolderStructure( long folderID, RetrieveFolderStructureOptions retrieveOptions, out Folder folder) { folder = null; byte[] folderInfoXml; string result = _service.get_account_tree(_apiKey, _token, folderID, retrieveOptions.ToStringArray(), out folderInfoXml); GetAccountTreeStatus status = StatusMessageParser.ParseGetAccountTreeStatus(result); switch (status) { case GetAccountTreeStatus.Successful: string folderInfo = null; if (!retrieveOptions.Contains(RetrieveFolderStructureOptions.NoZip)) { folderInfoXml = Unzip(folderInfoXml); } if (folderInfoXml != null) { folderInfo = Encoding.ASCII.GetString(folderInfoXml); } folder = ParseFolderStructureXmlMessage(folderInfo); break; } return status; }