00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00012
00013 #ifndef CONTENTSERVICES_H_
00014 #define CONTENTSERVICES_H_
00015
00016 #include <QFileInfo>
00017 #include <QStringList>
00018
00019 #include "service.h"
00020 #include "datacontracts/artworkInfoList.h"
00021 #include "datacontracts/liveStreamInfoList.h"
00022
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00038
00039 class SERVICE_PUBLIC ContentServices : public Service
00040 {
00041 Q_OBJECT
00042 Q_CLASSINFO( "version" , "1.32" );
00043 Q_CLASSINFO( "DownloadFile_Method", "POST" )
00044
00045 public:
00046
00047
00048
00049
00050 ContentServices( QObject *parent = 0 ) : Service( parent )
00051 {
00052 DTC::ArtworkInfoList::InitializeCustomTypes();
00053 DTC::LiveStreamInfoList::InitializeCustomTypes();
00054 }
00055
00056 public slots:
00057
00058 virtual QFileInfo GetFile ( const QString &StorageGroup,
00059 const QString &FileName ) = 0;
00060
00061 virtual QFileInfo GetImageFile ( const QString &StorageGroup,
00062 const QString &FileName,
00063 int Width, int Height ) = 0;
00064
00065 virtual QStringList GetFileList ( const QString &StorageGroup ) = 0;
00066
00067 virtual QFileInfo GetRecordingArtwork ( const QString &Type,
00068 const QString &Inetref,
00069 int Season, int Width,
00070 int Height ) = 0;
00071
00072 virtual DTC::ArtworkInfoList*
00073 GetRecordingArtworkList( int ChanId,
00074 const QDateTime &StartTime ) = 0;
00075
00076 virtual DTC::ArtworkInfoList*
00077 GetProgramArtworkList( const QString &Inetref,
00078 int Season ) = 0;
00079
00080
00081 virtual QFileInfo GetVideoArtwork ( const QString &Type,
00082 int Id, int Width,
00083 int Height ) = 0;
00084
00085 virtual QFileInfo GetAlbumArt ( int Id, int Width, int Height ) = 0;
00086
00087 virtual QFileInfo GetPreviewImage ( int ChanId,
00088 const QDateTime &StartTime,
00089 int Width,
00090 int Height,
00091 int SecsIn ) = 0;
00092
00093 virtual QFileInfo GetRecording ( int ChanId,
00094 const QDateTime &StartTime ) = 0;
00095
00096 virtual QFileInfo GetMusic ( int Id ) = 0;
00097 virtual QFileInfo GetVideo ( int Id ) = 0;
00098
00099 virtual QString GetHash ( const QString &StorageGroup,
00100 const QString &FileName ) = 0;
00101
00102 virtual bool DownloadFile ( const QString &URL,
00103 const QString &StorageGroup ) = 0;
00104
00105 virtual DTC::LiveStreamInfo *AddLiveStream ( const QString &StorageGroup,
00106 const QString &FileName,
00107 const QString &HostName,
00108 int MaxSegments,
00109 int Width,
00110 int Height,
00111 int Bitrate,
00112 int AudioBitrate,
00113 int SampleRate ) = 0;
00114
00115 virtual DTC::LiveStreamInfo *AddRecordingLiveStream ( int ChanId,
00116 const QDateTime &StartTime,
00117 int MaxSegments,
00118 int Width,
00119 int Height,
00120 int Bitrate,
00121 int AudioBitrate,
00122 int SampleRate ) = 0;
00123
00124 virtual DTC::LiveStreamInfo *AddVideoLiveStream ( int Id,
00125 int MaxSegments,
00126 int Width,
00127 int Height,
00128 int Bitrate,
00129 int AudioBitrate,
00130 int SampleRate ) = 0;
00131
00132 virtual DTC::LiveStreamInfo *GetLiveStream ( int Id ) = 0;
00133 virtual DTC::LiveStreamInfoList *GetLiveStreamList ( void ) = 0;
00134 virtual DTC::LiveStreamInfoList *GetFilteredLiveStreamList( const QString &FileName ) = 0;
00135
00136 virtual DTC::LiveStreamInfo *StopLiveStream ( int Id ) = 0;
00137 virtual bool RemoveLiveStream ( int Id ) = 0;
00138 };
00139
00140 #endif
00141