summaryrefslogtreecommitdiffstats
path: root/src/pvs.h
diff options
context:
space:
mode:
authorFabian Schillinger2010-11-01 17:35:27 +0100
committerFabian Schillinger2010-11-01 17:35:27 +0100
commitea3fb17345e5f82db9f2e98a8062e95797700ace (patch)
tree1da0d1a8ec9455364386af78762d0f6fed187824 /src/pvs.h
parentProcess start/stop/view functionality (diff)
parent[PVSGUI] No X required for --help and --version (diff)
downloadpvs-ea3fb17345e5f82db9f2e98a8062e95797700ace.tar.gz
pvs-ea3fb17345e5f82db9f2e98a8062e95797700ace.tar.xz
pvs-ea3fb17345e5f82db9f2e98a8062e95797700ace.zip
Merge branch 'master' of openslx.org:pvs
Conflicts: CMakeLists.txt src/core/pvsConnectionManager.cpp src/pvs.cpp src/pvs.h
Diffstat (limited to 'src/pvs.h')
-rwxr-xr-xsrc/pvs.h43
1 files changed, 42 insertions, 1 deletions
diff --git a/src/pvs.h b/src/pvs.h
index 4ba8e65..f99e497 100755
--- a/src/pvs.h
+++ b/src/pvs.h
@@ -29,9 +29,14 @@
#include <QFile>
#include <QTextStream>
#include <QDir>
+#include "src/input/inputHandlerChain.h"
class PVSServiceDiscovery;
class PVSDiscoveredServer;
+class InputEvent;
+class McastConfiguration;
+class PVSOutgoingMulticastTransfer;
+class PVSIncomingMulticastTransfer;
/**
* PVSClient
@@ -84,6 +89,11 @@ public Q_SLOTS:
QStringList getAvailableHosts();
QString getIpByNick(QString nick);
+ // Multicast File Transfer
+ bool createMulticastTransfer(QString const& objectPath, quint64& transferID, QString& errorReason);
+ void cancelOutgoingMulticastTransfer(quint64 transferID);
+ void cancelIncomingMulticastTransfer(qulonglong transferID);
+
void setConfigValue(QString key, QString value);
QString getConfigValue(QString key);
@@ -100,6 +110,17 @@ Q_SIGNALS:
void addHost(QString host);
void delHost(QString host);
+ // Multicast File Transfer
+ void outgoingMulticastTransferStarted(qulonglong transferID);
+ void outgoingMulticastTransferProgress(qulonglong transferID, qulonglong bytes, qulonglong of);
+ void outgoingMulticastTransferFinished(qulonglong transferID);
+ void outgoingMulticastTransferFailed(qulonglong transferID, QString reason);
+ void incomingMulticastTransferNew(qulonglong transferID, QString sender, QString filename, qulonglong size);
+ void incomingMulticastTransferStarted(qulonglong transferID);
+ void incomingMulticastTransferProgress(qulonglong transferID, qulonglong bytes, qulonglong of);
+ void incomingMulticastTransferFinished(qulonglong transferID);
+ void incomingMulticastTransferFailed(qulonglong transferID, QString reason);
+
protected:
void timerEvent(QTimerEvent *event);
@@ -151,7 +172,27 @@ private:
int _timerLockTest;
int _timerLockDelay;
- QSettings _settings;
+ // input event handling:
+ unprivileged_handler_chain _inputEventHandlers;
+ void handleInputEvent(InputEvent const& evt);
+ void initializeInputEventHandling();
+
+ // multicast transfer
+ McastConfiguration* _masterMcastConfig;
+ QHash<quint64, PVSOutgoingMulticastTransfer*> _outgoingTransfers;
+ QHash<quint64, PVSIncomingMulticastTransfer*> _incomingTransfers;
+ void loadMcastConfig(QString const& encoded);
+ void onIncomingMulticastTransfer(QString const& sender, qulonglong transferID, QString const& basename, qulonglong size, ushort port);
+ static quint64 generateMcastTransferID();
+
+private Q_SLOTS:
+ // housekeeping
+ void outgoingMulticastTransferDelete(qulonglong transferID);
+ void incomingMulticastTransferDelete(qulonglong transferID);
+ void onIncomingMulticastTransferRetry(QString const& sender, qulonglong transferID);
+
+private:
+ QSettings _settings;
};
#endif /* PVSCLIENT_H_ */