Sayonara Player
Station.h
1#ifndef ABSTRACTUTILSTREAM_H
2#define ABSTRACTUTILSTREAM_H
3
4#include "Utils/Pimpl.h"
5
6class QString;
7
8namespace Cover
9{
10 class Location;
11}
12
14{
15 public:
16 Station();
17 virtual ~Station();
18 Station(const Station& other);
19
20 Station& station(const Station& other);
21
22 virtual QString url() const = 0;
23 virtual QString name() const = 0;
24};
25
26class Stream :
27 public Station
28{
29 PIMPL(Stream)
30
31 public:
32 Stream();
33 Stream(const QString& name, const QString& url);
34 Stream(const Stream& other);
35 ~Stream() override;
36
37 Stream& operator=(const Stream& stream);
38
39 QString name() const override;
40 void setName(const QString& name);
41
42 QString url() const override;
43 void setUrl(const QString& url);
44};
45
46class Podcast :
47 public Station
48{
49 PIMPL(Podcast)
50
51 public:
52 Podcast();
53 Podcast(const QString& name, const QString& url, bool reversed = false);
54 Podcast(const Podcast& other);
55
56 ~Podcast() override;
57
58 QString name() const override;
59 void setName(const QString& name);
60
61 QString url() const override;
62 void setUrl(const QString& url);
63
64 bool reversed() const;
65 void setReversed(bool b);
66
67 Podcast& operator=(const Podcast& podcast);
68};
69
70using StationPtr = std::shared_ptr<Station>;
71
72#endif // ABSTRACTUTILSTREAM_H
Definition: Station.h:48
Definition: Station.h:14
Definition: Station.h:28