Audacity 3.2.0
CloudExportersRegistry.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*!********************************************************************
3
4 Audacity: A Digital Audio Editor
5
6 CloudExportersRegistry.h
7
8 Dmitry Vedenko
9
10**********************************************************************/
11#pragma once
12
13#include <functional>
14#include <memory>
15
16#include "MimeTypesList.h"
17
18class AudacityProject;
19
20namespace cloud
21{
22class CloudExporterPlugin;
23
24using CloudExporterPluginFactory = std::function<std::unique_ptr<CloudExporterPlugin>(const AudacityProject&)>;
25
28
31CLOUD_UPLOAD_API std::unique_ptr<CloudExporterPlugin>
33
34} // namespace cloud
const auto project
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Definition: Project.h:90
static RegisteredToolbarFactory factory
std::unique_ptr< cloud::CloudExporterPlugin > CreatePreferredExporter(const MimeTypesList &mimeTypes, const AudacityProject &project)
std::function< std::unique_ptr< CloudExporterPlugin >(const AudacityProject &)> CloudExporterPluginFactory
std::string MimeType
Definition: MimeTypesList.h:18
std::vector< std::string > MimeTypesList
Ordered list of mime types.
Definition: MimeTypesList.h:20
bool RegisterCloudExporter(MimeType mimeType, CloudExporterPluginFactory factory)
Registers a factory for a specific mime type.