00001
00002
00003
00004
00005
00006
00007
00008
00010
00011 #ifndef UPnpCDSVIDEO_H_
00012 #define UPnpCDSVIDEO_H_
00013
00014 #include "mainserver.h"
00015 #include "upnpcds.h"
00016
00017 typedef QMap<int, QString> IntMap;
00018
00020
00022
00023 class UPnpCDSVideo : public UPnpCDSExtension
00024 {
00025 private:
00026
00027 static UPnpCDSRootInfo g_RootNodes[];
00028 static int g_nRootCount;
00029
00030 QStringMap m_mapBackendIp;
00031 QStringMap m_mapBackendPort;
00032
00033 protected:
00034
00035 virtual UPnpCDSExtensionResults *ProcessItem( UPnpCDSRequest *pRequest,
00036 UPnpCDSExtensionResults *pResults,
00037 QStringList &idPath );
00038
00039 virtual void CreateItems ( UPnpCDSRequest *pRequest,
00040 UPnpCDSExtensionResults *pResults,
00041 int nNodeIdx,
00042 const QString &sKey,
00043 bool bAddRef );
00044
00045 virtual bool IsBrowseRequestForUs( UPnpCDSRequest *pRequest );
00046 virtual bool IsSearchRequestForUs( UPnpCDSRequest *pRequest );
00047
00048 virtual int GetDistinctCount( UPnpCDSRootInfo *pInfo );
00049
00050 virtual UPnpCDSRootInfo *GetRootInfo (int nIdx);
00051 virtual int GetRootCount ( );
00052 virtual QString GetTableName ( QString sColumn );
00053 virtual QString GetItemListSQL( QString sColumn = "");
00054
00055 virtual void BuildItemQuery( MSqlQuery &query,
00056 const QStringMap &mapParams );
00057
00058 virtual void AddItem( const QString &sObjectId,
00059 UPnpCDSExtensionResults *pResults,
00060 bool bAddRef,
00061 MSqlQuery &query );
00062
00063 public:
00064
00065 UPnpCDSVideo( ) : UPnpCDSExtension( "Videos", "Videos",
00066 "object.item.videoItem" )
00067 {
00068 }
00069 virtual ~UPnpCDSVideo() {}
00070 };
00071
00072 #endif