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

using EQNetwork.Objects;
using EQNetwork.Interfaces;
using EQNetwork.Utility;

namespace EQNetwork.Services
{
    public partial class UploadService : IUploadService
    {
        public EQTask Begin(UploadContext uploadContext, Action<Upload, EQException> onComplete) { return _api.Upload_Begin(uploadContext, onComplete); }
        public EQTask Complete(UploadContext uploadContext, Action<Upload, EQException> onComplete) { return _api.Upload_Complete(uploadContext, onComplete); }
        public EQTask ListUpload(UploadContext uploadContext, Action<Upload, EQException> onComplete) { return _api.Upload_ListUpload(uploadContext, onComplete); }
        public EQTask ListUploads(int preferredChunkSize, int numberOfChunks, Action<List<Upload>, EQException> onComplete) { return _api.Upload_ListUploads(preferredChunkSize, numberOfChunks, onComplete); }
        public EQTask UploadChunk(UploadContext uploadContext, long chunkOffset, long chunkSize, FileUploadSpec chunk, Action<long, long, EQException> onComplete) { return _api.Upload_Chunk(uploadContext, chunkOffset, chunkSize, chunk, onComplete); }
        public EQTask CancelUpload(UploadContext uploadContext, Action<Upload, EQException> onComplete) { return _api.Upload_CancelUpload(uploadContext, onComplete); }
        public EQTask CreateContentFile(ContentFile contentFile, UploadContext uploadContext, Action<ContentFile, EQException> onComplete) { return _api.Upload_CreateContentFile(contentFile, uploadContext, onComplete); }
    }
}
