Sayonara Player
Signals | Public Member Functions | Protected Attributes | List of all members
AbstractStreamHandler Class Referenceabstract

#include <AbstractStreamHandler.h>

Detailed Description

Used to interprete website data as streams. Some methods have to be overridden, to map their functions to their specific database functions. The track list is held in a map, which is accessible through its station name. It can be accessed via the get_tracks() method.

Signals

void sig_error ()
 
void sig_data_available ()
 

Public Member Functions

 AbstractStreamHandler (QObject *parent=nullptr)
 
bool parse_station (const QString &url, const QString &station_name)
 Retrieves data from the station and tries to interprete it via the parse_content() method. More...
 
MetaDataList get_tracks (const QString &station_name)
 get_tracks More...
 
void save (const QString &station_name, const QString &url)
 Saves the station. Calls the add_stream() method. More...
 
virtual bool get_all_streams (StreamMap &streams)=0
 This method should return all stations in database. More...
 
virtual bool add_stream (const QString &station_name, const QString &url)=0
 This method should add a new station to database. If the station already exists, there should be a corresponding error handling. More...
 
virtual bool delete_stream (const QString &station_name)=0
 Delete a station from the database. More...
 
virtual bool update_url (const QString &station_name, const QString &url)=0
 Update the url of a station. More...
 
virtual bool rename_stream (const QString &station_name, const QString &url)=0
 Rename the station. More...
 
void clear ()
 Clears all station content.
 

Protected Attributes

DatabaseConnector_db =nullptr
 
PlaylistHandler_playlist =nullptr
 
QMap< QString, MetaDataList_station_contents
 
QString _station_name
 
bool _blocked
 

Member Function Documentation

§ add_stream()

virtual bool AbstractStreamHandler::add_stream ( const QString &  station_name,
const QString &  url 
)
pure virtual

This method should add a new station to database. If the station already exists, there should be a corresponding error handling.

Parameters
station_namestation name
urlurl
Returns
true if successful, false else

Implemented in StreamHandlerPodcasts, and StreamHandlerStreams.

§ delete_stream()

virtual bool AbstractStreamHandler::delete_stream ( const QString &  station_name)
pure virtual

Delete a station from the database.

Parameters
station_namethe station to be deleted
Returns
true if successful, false else

Implemented in StreamHandlerPodcasts, and StreamHandlerStreams.

§ get_all_streams()

virtual bool AbstractStreamHandler::get_all_streams ( StreamMap streams)
pure virtual

This method should return all stations in database.

Parameters
streamstarget StreamMap
Returns
true if successful, false else

Implemented in StreamHandlerPodcasts, and StreamHandlerStreams.

§ get_tracks()

MetaDataList AbstractStreamHandler::get_tracks ( const QString &  station_name)

get_tracks

Parameters
station_name
Returns

§ parse_station()

bool AbstractStreamHandler::parse_station ( const QString &  url,
const QString &  station_name 
)

Retrieves data from the station and tries to interprete it via the parse_content() method.

Parameters
urlurl to retrieve the data from
station_namethe station name
Returns
true, if no other station is parsed atm, false else

§ rename_stream()

virtual bool AbstractStreamHandler::rename_stream ( const QString &  station_name,
const QString &  url 
)
pure virtual

Rename the station.

Parameters
station_namenew name of the station
urlold URL of the station
Returns
true if successful, false else

Implemented in StreamHandlerPodcasts, and StreamHandlerStreams.

§ save()

void AbstractStreamHandler::save ( const QString &  station_name,
const QString &  url 
)

Saves the station. Calls the add_stream() method.

Parameters
station_nameThe station name.
urlthe station url.

§ update_url()

virtual bool AbstractStreamHandler::update_url ( const QString &  station_name,
const QString &  url 
)
pure virtual

Update the url of a station.

Parameters
station_namethe station to be updated
urlthe new url
Returns
true if successful, false else

Implemented in StreamHandlerPodcasts, and StreamHandlerStreams.

Inheritance diagram for AbstractStreamHandler:
StreamHandlerPodcasts StreamHandlerStreams