You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
699 B
C++
32 lines
699 B
C++
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
// Copyright The Music Player Daemon Project
|
|
|
|
#ifndef MPD_STORAGE_REGISTRY_HXX
|
|
#define MPD_STORAGE_REGISTRY_HXX
|
|
|
|
#include <memory>
|
|
|
|
struct StoragePlugin;
|
|
class Storage;
|
|
class EventLoop;
|
|
|
|
/**
|
|
* nullptr terminated list of all storage plugins which were enabled at
|
|
* compile time.
|
|
*/
|
|
extern const StoragePlugin *const storage_plugins[];
|
|
|
|
[[gnu::nonnull]] [[gnu::pure]]
|
|
const StoragePlugin *
|
|
GetStoragePluginByName(const char *name) noexcept;
|
|
|
|
[[gnu::nonnull]] [[gnu::pure]]
|
|
const StoragePlugin *
|
|
GetStoragePluginByUri(const char *uri) noexcept;
|
|
|
|
[[gnu::nonnull]]
|
|
std::unique_ptr<Storage>
|
|
CreateStorageURI(EventLoop &event_loop, const char *uri);
|
|
|
|
#endif
|