LeechCraft  0.6.70-16373-g319c272718
Modular cross-platform feature rich live environment.
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 
15 template<typename>
16 class QFuture;
17 
18 namespace Media
19 {
20  struct AudioInfo;
21 
28  using RadioRestoreVariant_t = std::variant<QList<AudioInfo>>;
29 
35  {
38  QString PluginID_;
39 
44  QString RadioID_;
45 
49  };
50 
54 
65  {
66  protected:
68  public:
81  virtual QFuture<RadiosRestoreResult_t> RestoreRadioStations (const QStringList& ids) = 0;
82  };
83 }
84 
85 Q_DECLARE_INTERFACE (Media::IRestorableRadioStationProvider, "org.LeechCraft.Media.IRestorableRadioStationProvider/1.0")
QString PluginID_
The plugin this RadioRestoreResult corresponds to.
virtual QFuture< RadiosRestoreResult_t > RestoreRadioStations(const QStringList &ids)=0
Initiates restoring the radio stations for the given IDs.
Interface for radio station providers able to restore the radio stations between LeechCraft runs...
QString RadioID_
The radio station this RadioRestoreResult describes.
Describes the result of restoring a single radio station.
std::variant< QList< AudioInfo > > RadioRestoreVariant_t
Describes the data associated with a radio station restore.
RadioRestoreVariant_t Restored_
The restore result itself.