00001 #ifndef REMOTEUTIL_H_
00002 #define REMOTEUTIL_H_
00003
00004 #include <qptrlist.h>
00005 #include <qstring.h>
00006
00007 #include <vector>
00008 #include <qstring.h>
00009 #include <qstringlist.h>
00010 using namespace std;
00011
00012 #include "mythexp.h"
00013
00014 class ProgramInfo;
00015 class RemoteEncoder;
00016 class InputInfo;
00017 class TunedInputInfo;
00018
00022 class MPUBLIC FileSystemInfo
00023 {
00024 public:
00025 QString hostname;
00026 QString directory;
00027 bool isLocal;
00028 int fsID;
00029 int dirID;
00030 long long totalSpaceKB;
00031 long long usedSpaceKB;
00032 long long liveTVSpaceKB;
00033 long long freeSpaceKB;
00034 int weight;
00035 };
00036
00038 class TunerStatus
00039 {
00040 public:
00041 uint id;
00042 bool isRecording;
00043 QString channame;
00044 QString title;
00045 QString subtitle;
00046 QDateTime startTime;
00047 QDateTime endTime;
00048 };
00049
00050 MPUBLIC uint RemoteGetState(uint cardid);
00051 MPUBLIC uint RemoteGetFlags(uint cardid);
00052 MPUBLIC vector<ProgramInfo *> *RemoteGetRecordedList(bool deltype);
00053 MPUBLIC vector<FileSystemInfo> RemoteGetFreeSpace();
00054 MPUBLIC bool RemoteGetLoad(float load[3]);
00055 MPUBLIC bool RemoteGetUptime(time_t &uptime);
00056 MPUBLIC
00057 bool RemoteGetMemStats(int &totalMB, int &freeMB, int &totalVM, int &freeVM);
00058 MPUBLIC bool RemoteCheckFile(ProgramInfo *pginfo, bool checkSlaves = true);
00059 MPUBLIC bool RemoteRecordPending(
00060 uint cardid, const ProgramInfo *pginfo, int secsleft, bool hasLater);
00061 MPUBLIC void RemoteStopRecording(ProgramInfo *pginfo);
00062 MPUBLIC bool RemoteStopLiveTV(uint cardid);
00063 MPUBLIC bool RemoteStopRecording(uint cardid);
00064 MPUBLIC
00065 bool RemoteDeleteRecording(ProgramInfo *pginfo, bool forgetHistory,
00066 bool forceMetadataDelete = false);
00067 MPUBLIC
00068 bool RemoteUndeleteRecording(ProgramInfo *pginfo);
00069 MPUBLIC
00070 void RemoteGetAllScheduledRecordings(vector<ProgramInfo *> &scheduledlist);
00071 MPUBLIC
00072 void RemoteGetAllExpiringRecordings(vector<ProgramInfo *> &expiringlist);
00073 MPUBLIC int RemoteGetRecordingList(vector<ProgramInfo *> *reclist,
00074 QStringList &strList);
00075 MPUBLIC vector<ProgramInfo *> *RemoteGetConflictList(ProgramInfo *pginfo);
00076 MPUBLIC void RemoteSendMessage(const QString &message);
00077 MPUBLIC RemoteEncoder *RemoteRequestRecorder(void);
00078 MPUBLIC RemoteEncoder *RemoteRequestNextFreeRecorder(int curr);
00079 MPUBLIC
00080 RemoteEncoder *RemoteRequestFreeRecorderFromList(QStringList &qualifiedRecorders);
00081 MPUBLIC RemoteEncoder *RemoteGetExistingRecorder(ProgramInfo *pginfo);
00082 MPUBLIC RemoteEncoder *RemoteGetExistingRecorder(int recordernum);
00083 MPUBLIC vector<uint> RemoteRequestFreeRecorderList(void);
00084 MPUBLIC vector<InputInfo> RemoteRequestFreeInputList(
00085 uint cardid, vector<uint> excluded_cardids);
00086 MPUBLIC InputInfo RemoteRequestBusyInputID(uint cardid);
00087 MPUBLIC void RemoteCancelNextRecording(uint cardid, bool cancel);
00088 MPUBLIC void RemoteGeneratePreviewPixmap(ProgramInfo *pginfo);
00089 MPUBLIC QDateTime RemoteGetPreviewLastModified(ProgramInfo *pginfo);
00090 MPUBLIC void RemoteFillProginfo(ProgramInfo *pginfo,
00091 const QString &playbackhostname);
00092 MPUBLIC bool RemoteIsBusy(uint cardid, TunedInputInfo &busy_input);
00093 MPUBLIC QStringList RemoteRecordings(void);
00094 MPUBLIC int RemoteGetRecordingMask(void);
00095 MPUBLIC int RemoteGetFreeRecorderCount(void);
00096
00097 MPUBLIC int RemoteCheckForRecording(ProgramInfo *pginfo);
00098 MPUBLIC int RemoteGetRecordingStatus(ProgramInfo *pginfo, int overrecsecs,
00099 int underrecsecs);
00100 MPUBLIC bool RemoteGetRecordingStatus(
00101 QPtrList<TunerStatus> *tunerList, bool list_inactive);
00102 MPUBLIC vector<ProgramInfo *> *RemoteGetCurrentlyRecordingList(void);
00103
00104 #endif
00105
00106