LeechCraft 0.6.70-17335-ge406ffdcaf
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
irestorableradiostationprovider.h
Go to the documentation of this file.
1/**********************************************************************
2 * LeechCraft - modular cross-platform feature rich internet client.
3 * Copyright (C) 2006-2014 Georg Rudoy
4 *
5 * Distributed under the Boost Software License, Version 1.0.
6 * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7 **********************************************************************/
8
9#pragma once
10
11#include <variant>
12#include <QtPlugin>
13#include "iradiostation.h"
14
15template<typename>
16class QFuture;
17
18namespace Media
19{
20 struct AudioInfo;
21
28 using RadioRestoreVariant_t = std::variant<QList<AudioInfo>>;
29
50
54
65 {
66 protected:
68 public:
81 virtual QFuture<RadiosRestoreResult_t> RestoreRadioStations (const QStringList& ids) = 0;
82 };
83}
84
85Q_DECLARE_INTERFACE (Media::IRestorableRadioStationProvider, "org.LeechCraft.Media.IRestorableRadioStationProvider/1.0")
Interface for radio station providers able to restore the radio stations between LeechCraft runs.
virtual QFuture< RadiosRestoreResult_t > RestoreRadioStations(const QStringList &ids)=0
Initiates restoring the radio stations for the given IDs.
QList< RadioRestoreResult > RadiosRestoreResult_t
A list of RadioRestoreResult structs.
std::variant< QList< AudioInfo > > RadioRestoreVariant_t
Describes the data associated with a radio station restore.
Describes a single audio track.
Describes the result of restoring a single radio station.
QString PluginID_
The plugin this RadioRestoreResult corresponds to.
QString RadioID_
The radio station this RadioRestoreResult describes.
RadioRestoreVariant_t Restored_
The restore result itself.