diff options
Diffstat (limited to 'src/libs/installer/remoteserverconnection.h')
-rw-r--r-- | src/libs/installer/remoteserverconnection.h | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/src/libs/installer/remoteserverconnection.h b/src/libs/installer/remoteserverconnection.h index 1fd179430..53f6a412b 100644 --- a/src/libs/installer/remoteserverconnection.h +++ b/src/libs/installer/remoteserverconnection.h @@ -38,7 +38,7 @@ #include <QtCore/private/qfsfileengine_p.h> QT_BEGIN_NAMESPACE -class QIODevice; +class QLocalSocket; QT_END_NAMESPACE namespace QInstaller { @@ -48,6 +48,20 @@ class PermissionSettings; class QProcessSignalReceiver; class AbstractArchiveSignalReceiver; +class RemoteServerReply +{ +public: + explicit RemoteServerReply(QLocalSocket *socket); + ~RemoteServerReply(); + + template <typename T> + void send(const T &data); + +private: + QLocalSocket *m_socket; + bool m_sent; +}; + class RemoteServerConnection : public QThread { Q_OBJECT @@ -63,13 +77,11 @@ signals: void shutdownRequested(); private: - template <typename T> - void sendData(QIODevice *device, const T &arg); - void handleQProcess(QIODevice *device, const QString &command, QDataStream &data); - void handleQSettings(QIODevice *device, const QString &command, QDataStream &data, + void handleQProcess(RemoteServerReply *reply, const QString &command, QDataStream &data); + void handleQSettings(RemoteServerReply *reply, const QString &command, QDataStream &data, PermissionSettings *settings); - void handleQFSFileEngine(QIODevice *device, const QString &command, QDataStream &data); - void handleArchive(QIODevice *device, const QString &command, QDataStream &data); + void handleQFSFileEngine(RemoteServerReply *reply, const QString &command, QDataStream &data); + void handleArchive(RemoteServerReply *reply, const QString &command, QDataStream &data); private: qintptr m_socketDescriptor; |