MythTV  master
upnpcdsvideo.h
Go to the documentation of this file.
1 // Program Name: upnpcdsvideo.h
3 //
4 // Purpose - UPnP Content Directory Extention for Videos
5 //
6 // Created By : David Blain Created On : Jan. 24, 2005
7 // Modified By : Modified On:
8 //
10 
11 #ifndef UPnpCDSVIDEO_H_
12 #define UPnpCDSVIDEO_H_
13 
14 #include "mainserver.h"
15 #include "libmythupnp/upnpcds.h"
16 
17 using IntMap = QMap<int, QString>;
18 
20 //
22 
24 {
25  public:
26 
27  UPnpCDSVideo( );
28  ~UPnpCDSVideo() override = default;
29 
30  protected:
31 
32  bool IsBrowseRequestForUs( UPnpCDSRequest *pRequest ) override; // UPnpCDSExtension
33  bool IsSearchRequestForUs( UPnpCDSRequest *pRequest ) override; // UPnpCDSExtension
34 
35  void CreateRoot ( ) override; // UPnpCDSExtension
36 
37  bool LoadMetadata( const UPnpCDSRequest *pRequest,
38  UPnpCDSExtensionResults *pResults,
39  const IDTokenMap& tokens,
40  const QString& currentToken ) override; // UPnpCDSExtension
41  bool LoadChildren( const UPnpCDSRequest *pRequest,
42  UPnpCDSExtensionResults *pResults,
43  const IDTokenMap& tokens,
44  const QString& currentToken ) override; // UPnpCDSExtension
45  private:
46  bool LoadSeries( const UPnpCDSRequest *pRequest,
47  UPnpCDSExtensionResults *pResults,
48  const IDTokenMap& tokens );
49 
50  bool LoadSeasons( const UPnpCDSRequest *pRequest,
51  UPnpCDSExtensionResults *pResults,
52  const IDTokenMap& tokens );
53 
54  bool LoadMovies( const UPnpCDSRequest *pRequest,
55  UPnpCDSExtensionResults *pResults,
56  IDTokenMap tokens );
57 
58  static bool LoadGenres( const UPnpCDSRequest *pRequest,
59  UPnpCDSExtensionResults *pResults,
60  const IDTokenMap& tokens );
61 
62  bool LoadVideos( const UPnpCDSRequest *pRequest,
63  UPnpCDSExtensionResults *pResults,
64  const IDTokenMap& tokens );
65 
66 
67  static void PopulateArtworkURIS( CDSObject *pItem, int nVidID,
68  const QUrl &URIBase );
69 
70  // Common code helpers
71  static QString BuildWhereClause( QStringList clauses,
72  IDTokenMap tokens );
73  static void BindValues ( MSqlQuery &query,
74  IDTokenMap tokens );
75 
77  QMap<QString, int> m_mapBackendPort;
78 
79  QUrl m_uriBase;
80 
81 };
82 
83 #endif
MSqlQuery
QSqlQuery wrapper that fetches a DB connection from the connection pool.
Definition: mythdbcon.h:127
UPnpCDSExtension
Definition: upnpcds.h:203
CDSObject
Definition: upnpcdsobjects.h:184
UPnpCDSVideo::LoadSeries
bool LoadSeries(const UPnpCDSRequest *pRequest, UPnpCDSExtensionResults *pResults, const IDTokenMap &tokens)
Definition: upnpcdsvideo.cpp:372
IntMap
QMap< int, QString > IntMap
Definition: upnpcdsvideo.h:17
UPnpCDSVideo::CreateRoot
void CreateRoot() override
Definition: upnpcdsvideo.cpp:45
UPnpCDSVideo::IsBrowseRequestForUs
bool IsBrowseRequestForUs(UPnpCDSRequest *pRequest) override
Definition: upnpcdsvideo.cpp:149
UPnpCDSVideo::LoadVideos
bool LoadVideos(const UPnpCDSRequest *pRequest, UPnpCDSExtensionResults *pResults, const IDTokenMap &tokens)
Definition: upnpcdsvideo.cpp:610
upnpcds.h
UPnpCDSVideo::PopulateArtworkURIS
static void PopulateArtworkURIS(CDSObject *pItem, int nVidID, const QUrl &URIBase)
Definition: upnpcdsvideo.cpp:856
UPnpCDSVideo::m_uriBase
QUrl m_uriBase
Definition: upnpcdsvideo.h:79
UPnpCDSVideo::LoadMovies
bool LoadMovies(const UPnpCDSRequest *pRequest, UPnpCDSExtensionResults *pResults, IDTokenMap tokens)
Definition: upnpcdsvideo.cpp:525
UPnpCDSVideo::UPnpCDSVideo
UPnpCDSVideo()
Definition: upnpcdsvideo.cpp:29
QStringMap
QMap< QString, QString > QStringMap
Definition: upnputil.h:32
UPnpCDSVideo::IsSearchRequestForUs
bool IsSearchRequestForUs(UPnpCDSRequest *pRequest) override
Definition: upnpcdsvideo.cpp:204
UPnpCDSVideo::LoadSeasons
bool LoadSeasons(const UPnpCDSRequest *pRequest, UPnpCDSExtensionResults *pResults, const IDTokenMap &tokens)
Definition: upnpcdsvideo.cpp:448
UPnpCDSVideo::LoadGenres
static bool LoadGenres(const UPnpCDSRequest *pRequest, UPnpCDSExtensionResults *pResults, const IDTokenMap &tokens)
Definition: upnpcdsvideo.cpp:538
UPnpCDSVideo::m_mapBackendPort
QMap< QString, int > m_mapBackendPort
Definition: upnpcdsvideo.h:77
UPnpCDSVideo::~UPnpCDSVideo
~UPnpCDSVideo() override=default
IDTokenMap
QMap< QString, QString > IDTokenMap
Definition: upnpcds.h:200
UPnpCDSVideo::LoadMetadata
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.
Definition: upnpcdsvideo.cpp:258
UPnpCDSVideo
Definition: upnpcdsvideo.h:23
UPnpCDSVideo::BindValues
static void BindValues(MSqlQuery &query, IDTokenMap tokens)
Definition: upnpcdsvideo.cpp:995
mainserver.h
UPnpCDSExtensionResults
Definition: upnpcds.h:106
UPnpCDSVideo::LoadChildren
bool LoadChildren(const UPnpCDSRequest *pRequest, UPnpCDSExtensionResults *pResults, const IDTokenMap &tokens, const QString &currentToken) override
Fetch the children of the container identified in the request.
Definition: upnpcdsvideo.cpp:324
UPnpCDSVideo::m_mapBackendIp
QStringMap m_mapBackendIp
Definition: upnpcdsvideo.h:76
UPnpCDSRequest
Definition: upnpcds.h:72
UPnpCDSVideo::BuildWhereClause
static QString BuildWhereClause(QStringList clauses, IDTokenMap tokens)
Definition: upnpcdsvideo.cpp:972