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_stopped ()
 
void sig_error ()
 
void sig_data_available ()
 
void sig_too_many_urls_found (int n_urls, int max_n_urls)
 

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...
 
void save (const QString &station_name, const QString &url)
 get_tracks 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...
 
void clear ()
 Clears all station content.
 
void stop ()
 

Protected Attributes

DatabaseConnector_db =nullptr
 

Member Function Documentation

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.

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.

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.

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
void AbstractStreamHandler::save ( const QString &  station_name,
const QString &  url 
)

get_tracks

Parameters
station_name
Returns
Saves the station. Calls the add_stream() method.
Parameters
station_nameThe station name.
urlthe station 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