00001 00002 // Program Name: upnpcdsvideo.h 00003 // 00004 // Purpose - UPnP Content Directory Extention for Videos 00005 // 00006 // Created By : David Blain Created On : Jan. 24, 2005 00007 // Modified By : Modified On: 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 bool IsBrowseRequestForUs( UPnpCDSRequest *pRequest ); 00036 virtual bool IsSearchRequestForUs( UPnpCDSRequest *pRequest ); 00037 00038 virtual int GetDistinctCount( UPnpCDSRootInfo *pInfo ); 00039 00040 virtual UPnpCDSRootInfo *GetRootInfo (int nIdx); 00041 virtual int GetRootCount ( ); 00042 virtual QString GetTableName ( QString sColumn ); 00043 virtual QString GetItemListSQL( QString sColumn = ""); 00044 00045 virtual void BuildItemQuery( MSqlQuery &query, 00046 const QStringMap &mapParams ); 00047 00048 virtual void AddItem( const UPnpCDSRequest *pRequest, 00049 const QString &sObjectId, 00050 UPnpCDSExtensionResults *pResults, 00051 bool bAddRef, 00052 MSqlQuery &query ); 00053 00054 public: 00055 00056 UPnpCDSVideo( ) : UPnpCDSExtension( "Videos", "Videos", 00057 "object.item.videoItem" ) 00058 { 00059 } 00060 virtual ~UPnpCDSVideo() {} 00061 }; 00062 00063 #endif
1.6.3