Audacity 3.2.0
Public Types | Public Member Functions | Private Attributes | List of all members
cloud::audiocom::UploadService Class Referencefinal

Service, responsible for uploading audio files to audio.com. More...

#include <UploadService.h>

Collaboration diagram for cloud::audiocom::UploadService:
[legend]

Public Types

using CompletedCallback = std::function< void(const UploadOperationCompleted &)>
 
using ProgressCallback = std::function< void(uint64_t current, uint64_t total)>
 

Public Member Functions

 UploadService (const ServiceConfig &config, OAuthService &service)
 
UploadOperationHandle Upload (const wxString &fileName, const wxString &projectName, bool isPublic, CompletedCallback completedCallback, ProgressCallback progressCallback)
 Uploads the file to audio.com. More...
 

Private Attributes

const ServiceConfigmServiceConfig
 
OAuthServicemOAuthService
 

Detailed Description

Service, responsible for uploading audio files to audio.com.

Definition at line 122 of file UploadService.h.

Member Typedef Documentation

◆ CompletedCallback

Definition at line 127 of file UploadService.h.

◆ ProgressCallback

using cloud::audiocom::UploadService::ProgressCallback = std::function<void(uint64_t current, uint64_t total)>

Definition at line 130 of file UploadService.h.

Constructor & Destructor Documentation

◆ UploadService()

cloud::audiocom::UploadService::UploadService ( const ServiceConfig config,
OAuthService service 
)

Definition at line 560 of file UploadService.cpp.

561 : mServiceConfig(config), mOAuthService(service)
562{
563}
const ServiceConfig & mServiceConfig

Member Function Documentation

◆ Upload()

UploadOperationHandle cloud::audiocom::UploadService::Upload ( const wxString &  fileName,
const wxString &  projectName,
bool  isPublic,
CompletedCallback  completedCallback,
ProgressCallback  progressCallback 
)

Uploads the file to audio.com.

Definition at line 565 of file UploadService.cpp.

568{
569 if (!wxFileExists(fileName))
570 {
571 if (completedCallback)
572 completedCallback(UploadOperationCompleted {
574
575 return {};
576 }
577
578 auto operation = std::make_shared<AudiocomUploadOperation>(
579 mServiceConfig, fileName, projectName, isPublic,
580 std::move(completedCallback), std::move(progressCallback));
581
582 mOAuthService.ValidateAuth([operation](std::string_view authToken)
583 { operation->InitiateUpload(authToken); });
584
585 return UploadOperationHandle { operation };
586}
void ValidateAuth(std::function< void(std::string_view)> completedHandler)
Attempt to authorize the user.
@ FileNotFound
Specified file is not found.

References cloud::audiocom::UploadOperationCompleted::FileNotFound, mOAuthService, mServiceConfig, and cloud::audiocom::OAuthService::ValidateAuth().

Here is the call graph for this function:

Member Data Documentation

◆ mOAuthService

OAuthService& cloud::audiocom::UploadService::mOAuthService
private

Definition at line 144 of file UploadService.h.

Referenced by Upload().

◆ mServiceConfig

const ServiceConfig& cloud::audiocom::UploadService::mServiceConfig
private

Definition at line 143 of file UploadService.h.

Referenced by Upload().


The documentation for this class was generated from the following files: