using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using EQNetwork.Objects;
using EQNetwork.Utility;

namespace EQNetwork.Interfaces
{
    public partial interface IUploadService
    {
        Upload Begin(UploadContext uploadContext);
        Upload Complete(UploadContext uploadContext);
        Upload ListUpload(UploadContext uploadContext);
        List<Upload> ListUploads(int preferredChunkSize, int numberOfChunks);
        long UploadChunk(out long total, UploadContext uploadContext, long chunkOffset, long chunkSize, FileUploadSpec chunk);
        Upload CancelUpload(UploadContext uploadContext);
        void CreateContentFile(ref ContentFile contentFile, UploadContext uploadContext);
    }
}
