21#ifndef ABSTRACTUTILSTREAM_H
22#define ABSTRACTUTILSTREAM_H
24#include "Utils/Pimpl.h"
42 [[nodiscard]]
virtual QString url()
const = 0;
43 [[nodiscard]]
virtual QString name()
const = 0;
44 [[nodiscard]]
virtual QString userAgent()
const = 0;
54 Stream(
const QString& name,
const QString& url,
bool isUpdatable =
true,
const QString& userAgent = QString());
60 [[nodiscard]] QString name()
const override;
61 void setName(
const QString& name);
63 [[nodiscard]] QString url()
const override;
64 void setUrl(
const QString& url);
66 [[nodiscard]]
bool isUpdatable()
const;
68 [[nodiscard]] QString userAgent()
const override;
78 Podcast(
const QString& name,
const QString& url,
bool reversed =
false,
const QString& userAgent = QString());
83 [[nodiscard]] QString name()
const override;
84 void setName(
const QString& name);
86 [[nodiscard]] QString url()
const override;
87 void setUrl(
const QString& url);
89 [[nodiscard]]
bool reversed()
const;
90 void setReversed(
bool b);
92 [[nodiscard]] QString userAgent()
const override;
97using StationPtr = std::shared_ptr<Station>;