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 final;
44 [[nodiscard]]
virtual QString actualName()
const = 0;
45 [[nodiscard]]
virtual QString userAgent()
const = 0;
46 [[nodiscard]]
virtual bool isAnonymous()
const;
56 Stream(
const QString& name,
const QString& url,
bool isUpdatable =
true,
const QString& userAgent = QString());
62 [[nodiscard]] QString actualName()
const override;
63 void setName(
const QString& name);
65 [[nodiscard]] QString url()
const override;
66 void setUrl(
const QString& url);
68 [[nodiscard]]
bool isUpdatable()
const;
70 [[nodiscard]] QString userAgent()
const override;
80 Podcast(
const QString& name,
const QString& url,
bool reversed =
false,
const QString& userAgent = QString());
85 [[nodiscard]] QString actualName()
const override;
86 void setName(
const QString& name);
88 [[nodiscard]] QString url()
const override;
89 void setUrl(
const QString& url);
91 [[nodiscard]]
bool reversed()
const;
92 void setReversed(
bool b);
94 [[nodiscard]] QString userAgent()
const override;
99using StationPtr = std::shared_ptr<Station>;