MCPcopy Create free account
hub / github.com/audacity/audacity / GetAudioList

Method GetAudioList

libraries/lib-cloud-audiocom/CloudSyncService.cpp:796–846  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

794}
795
796CloudSyncService::GetAudioListFuture CloudSyncService::GetAudioList(
797 concurrency::CancellationContextPtr context, int page, int pageSize,
798 std::string_view searchString)
799{
800 using namespace audacity::network_manager;
801
802 auto promise = std::make_shared<GetAudioListPromise>();
803
804 auto& serviceConfig = GetServiceConfig();
805 auto& oAuthService = GetOAuthService();
806
807 auto request = Request(serviceConfig.GetAudioListUrl(page, pageSize, searchString));
808
809 request.setHeader(
810 common_headers::ContentType, common_content_types::ApplicationJson);
811 request.setHeader(
812 common_headers::Accept, common_content_types::ApplicationJson);
813
814 SetCommonHeaders(request);
815 SetOptionalHeaders(request);
816
817 auto response = NetworkManager::GetInstance().doGet(request);
818
819 context->OnCancelled(response);
820
821 response->setRequestFinishedCallback(
822 [promise, response](auto)
823 {
824 auto responseResult = GetResponseResult(*response, true);
825
826 if (responseResult.Code != SyncResultCode::Success)
827 {
828 promise->set_value(responseResult);
829 return;
830 }
831
832 auto audios = sync::DeserializePaginatedAudioResponse(responseResult.Content);
833
834 if (!audios)
835 {
836 promise->set_value(
837 ResponseResult { SyncResultCode::UnexpectedResponse,
838 std::move(responseResult.Content) });
839 return;
840 }
841
842 promise->set_value(std::move(*audios));
843 });
844
845 return promise->get_future();
846}
847
848void CloudSyncService::DownloadAudio(const std::string& name, const std::string& format, const std::string& url) {
849 using namespace audacity::network_manager;

Callers 1

RefreshMethod · 0.80

Calls 11

SetCommonHeadersFunction · 0.85
SetOptionalHeadersFunction · 0.85
GetResponseResultFunction · 0.85
moveFunction · 0.85
GetAudioListUrlMethod · 0.80
setHeaderMethod · 0.80
doGetMethod · 0.80
OnCancelledMethod · 0.80
RequestClass · 0.70

Tested by

no test coverage detected