public DownloadStream(Bucket bucket, int totalBytes, string objectName, Access access) //TODO: better access-handling { string error; _length = totalBytes; _bucket = bucket; _objectName = objectName; _access = access; _downloadResult = SWIG.storj_uplink.download_object(_access._project, bucket.Name, objectName, null); //TODO: make DownloadOptions available to caller _download = new DownloadOperation(_downloadResult, totalBytes, objectName); if (!_download.Running && !_download.Completed && !_download.Cancelled && !_download.Failed) { _download.StartDownloadAsync(); } }