MythTV master
fileserverhandler.h
Go to the documentation of this file.
1#ifndef FILESERVER_H_
2#define FILESERVER_H_
3
4#include <QMutex>
5
11
13{
14 Q_OBJECT
15 public:
16 bool HandleAnnounce(MythSocket *socket, QStringList &commands,
17 QStringList &slist) override; // SocketRequestHandler
18 bool HandleQuery(SocketHandler *socket, QStringList &commands,
19 QStringList &slist) override; // SocketRequestHandler
20 QString GetHandlerName(void) override // SocketRequestHandler
21 { return "FILETRANSFER"; }
22
23 void connectionAnnounced(MythSocket *socket, QStringList &commands,
24 QStringList &slist) override; // SocketRequestHandler
25 void connectionClosed(MythSocket *socket) override; // SocketRequestHandler
26
27 static bool DeleteFile(const QString& filename, const QString& storagegroup);
28
29 static FileSystemInfoList QueryFileSystems(void);
30 FileSystemInfoList QueryAllFileSystems(void);
31
32 private:
33 static bool HandleQueryFreeSpace(SocketHandler *socket);
34 bool HandleQueryFreeSpaceList(SocketHandler *socket);
35 bool HandleQueryFreeSpaceSummary(SocketHandler *socket);
36
37 static bool HandleQueryCheckFile(SocketHandler *socket, QStringList &slist);
38 static bool HandleQueryFileExists(SocketHandler *socket, QStringList &slist);
39 bool HandleQueryFileHash(SocketHandler *socket, QStringList &slist);
40
41 static bool HandleDeleteFile(SocketHandler *socket, QStringList &slist);
42 static bool HandleDeleteFile(SocketHandler *socket, const QString& filename,
43 const QString& storagegroup);
44 bool HandleDeleteFile(QString filename, QString storagegroup);
45 static bool HandleDeleteFile(DeleteHandler *handler);
46
47 bool HandleGetFileList(SocketHandler *socket, QStringList &slist);
48 bool HandleFileQuery(SocketHandler *socket, QStringList &slist);
49 bool HandleQueryFileTransfer(SocketHandler *socket, QStringList &commands,
50 QStringList &slist);
51 bool HandleDownloadFile(SocketHandler *socket, QStringList &slist);
52
53 static QString LocalFilePath(const QString &path, const QString &wantgroup);
54 static void RunDeleteThread(void);
55
56 QMap<int, FileTransfer*> m_ftMap;
57 QReadWriteLock m_ftLock;
58
59 QMap<QString, SocketHandler*> m_fsMap;
60 QReadWriteLock m_fsLock;
61
63 QMap<QString, QString> m_downloadURLs;
64};
65
66#endif
QString GetHandlerName(void) override
bool HandleDeleteFile(QString filename, QString storagegroup)
QMap< QString, QString > m_downloadURLs
QReadWriteLock m_ftLock
QReadWriteLock m_fsLock
QMap< int, FileTransfer * > m_ftMap
QMap< QString, SocketHandler * > m_fsMap
Class for communcating between myth backends and frontends.
Definition: mythsocket.h:26
virtual bool HandleQuery(SocketHandler *, QStringList &, QStringList &)
virtual void connectionAnnounced(MythSocket *, QStringList &, QStringList &)
virtual bool HandleAnnounce(MythSocket *, QStringList &, QStringList &)
virtual void connectionClosed(MythSocket *)
QVector< FileSystemInfo > FileSystemInfoList
#define PROTOSERVER_PUBLIC