MythTV master
upnpcdsmusic.h
Go to the documentation of this file.
1
2// Program Name: upnpcdsmusic.h
3//
4// Purpose - uPnp Content Directory Extension for Music
5//
6// Created By : David Blain Created On : Jan. 24, 2005
7// Modified By : Modified On:
8//
10
11#ifndef UPnpCDSMusic_H_
12#define UPnpCDSMusic_H_
13
14#include <QString>
15
16#include "libmythupnp/upnpcds.h"
17
19//
21class MSqlQuery;
23{
24 public:
25
27 ~UPnpCDSMusic() override = default;
28
29 protected:
30
31 bool IsBrowseRequestForUs( UPnpCDSRequest *pRequest ) override; // UPnpCDSExtension
32 bool IsSearchRequestForUs( UPnpCDSRequest *pRequest ) override; // UPnpCDSExtension
33
34 void CreateRoot ( ) override; // UPnpCDSExtension
35
36 bool LoadMetadata( const UPnpCDSRequest *pRequest,
38 const IDTokenMap& tokens,
39 const QString& currentToken ) override; // UPnpCDSExtension
40 bool LoadChildren( const UPnpCDSRequest *pRequest,
42 const IDTokenMap& tokens,
43 const QString& currentToken ) override; // UPnpCDSExtension
44
45 private:
46
48
49 void PopulateArtworkURIS( CDSObject *pItem,
50 int songID );
51
52 static bool LoadArtists(const UPnpCDSRequest *pRequest,
54 const IDTokenMap& tokens);
55 bool LoadAlbums(const UPnpCDSRequest *pRequest,
57 const IDTokenMap& tokens);
58 static bool LoadGenres(const UPnpCDSRequest *pRequest,
60 const IDTokenMap& tokens);
61 bool LoadTracks(const UPnpCDSRequest *pRequest,
63 const IDTokenMap& tokens);
64
65 // Common code helpers
66 static QString BuildWhereClause( QStringList clauses,
67 IDTokenMap tokens );
68 static void BindValues ( MSqlQuery &query,
69 IDTokenMap tokens );
70};
71
72#endif
QSqlQuery wrapper that fetches a DB connection from the connection pool.
Definition: mythdbcon.h:128
bool LoadMetadata(const UPnpCDSRequest *pRequest, UPnpCDSExtensionResults *pResults, const IDTokenMap &tokens, const QString &currentToken) override
Fetch just the metadata for the item identified in the request.
static bool LoadArtists(const UPnpCDSRequest *pRequest, UPnpCDSExtensionResults *pResults, const IDTokenMap &tokens)
UPnpCDSMusic()
Music Extension for UPnP ContentDirectory Service.
void CreateRoot() override
~UPnpCDSMusic() override=default
bool LoadChildren(const UPnpCDSRequest *pRequest, UPnpCDSExtensionResults *pResults, const IDTokenMap &tokens, const QString &currentToken) override
Fetch the children of the container identified in the request.
static QString BuildWhereClause(QStringList clauses, IDTokenMap tokens)
bool LoadTracks(const UPnpCDSRequest *pRequest, UPnpCDSExtensionResults *pResults, const IDTokenMap &tokens)
void PopulateArtworkURIS(CDSObject *pItem, int songID)
static bool LoadGenres(const UPnpCDSRequest *pRequest, UPnpCDSExtensionResults *pResults, const IDTokenMap &tokens)
static void BindValues(MSqlQuery &query, IDTokenMap tokens)
bool LoadAlbums(const UPnpCDSRequest *pRequest, UPnpCDSExtensionResults *pResults, const IDTokenMap &tokens)
bool IsBrowseRequestForUs(UPnpCDSRequest *pRequest) override
bool IsSearchRequestForUs(UPnpCDSRequest *pRequest) override
QMap< QString, QString > IDTokenMap
Definition: upnpcds.h:200