37class AbstractStationHandler :
41 PIMPL(AbstractStationHandler)
46 void sigDataAvailable();
47 void sigUrlCountExceeded(
int urlCount,
int maxUrlCount);
51 const std::shared_ptr<StationParserFactory>& stationParserFactory,
52 QObject* parent =
nullptr);
53 ~AbstractStationHandler()
override;
55 bool parseStation(
const StationPtr& station);
57 void addTemporaryStation(
const StationPtr& station);
58 [[nodiscard]]
bool isTemporary(
const QString& stationName)
const;
60 [[nodiscard]] StationPtr station(
const QString& name);
61 bool addNewStation(
const StationPtr& station);
62 bool removeStation(
const QString& name);
65 virtual bool updateStation(
const QString& name,
const StationPtr& station) = 0;
71 virtual bool saveStation(
const StationPtr& station) = 0;
72 virtual bool deleteStation(
const QString& name) = 0;
73 [[nodiscard]]
virtual StationPtr fetchStation(
const QString& name) = 0;
77 void createPlaylist(
const StationPtr& station,
MetaDataList tracks);
80 void parserFinished(
bool success);