summaryrefslogtreecommitdiffstats
path: root/src/pvs.h
diff options
context:
space:
mode:
authorSebastien Braun2010-10-06 00:04:49 +0200
committerSebastien Braun2010-10-06 00:04:49 +0200
commitf07fc3b426815e28fde23313242fbbb998a08d45 (patch)
treeba9eda1a83135a1727d2d35661d6facabee53b95 /src/pvs.h
parentFix recognition of letters in keyboard handler (diff)
parentMerge remote branch 'openslx/master' into mcastft (diff)
downloadpvs-f07fc3b426815e28fde23313242fbbb998a08d45.tar.gz
pvs-f07fc3b426815e28fde23313242fbbb998a08d45.tar.xz
pvs-f07fc3b426815e28fde23313242fbbb998a08d45.zip
Merge remote branch 'openslx/mcastft' into input
Conflicts: CMakeLists.txt i18n/pvs_ar_JO.ts i18n/pvs_de_DE.ts i18n/pvs_es_MX.ts i18n/pvs_fr_FR.ts i18n/pvs_pl_PL.ts i18n/pvsmgr_ar_JO.ts i18n/pvsmgr_de_DE.ts i18n/pvsmgr_es_MX.ts i18n/pvsmgr_fr_FR.ts i18n/pvsmgr_pl_PL.ts icons/README pvsmgr.qrc src/gui/mainWindow.cpp src/pvs.cpp src/pvs.h src/pvsDaemon.cpp src/util/clientGUIUtils.h
Diffstat (limited to 'src/pvs.h')
-rwxr-xr-x[-rw-r--r--]src/pvs.h55
1 files changed, 48 insertions, 7 deletions
diff --git a/src/pvs.h b/src/pvs.h
index f4e53c0..c18e9a3 100644..100755
--- a/src/pvs.h
+++ b/src/pvs.h
@@ -13,8 +13,10 @@
#define PVSCLIENT_H_
#include <QtCore>
-#include <X11/Xlib.h>
-#include <X11/cursorfont.h>
+#ifndef __WIN32__
+ #include <X11/Xlib.h>
+ #include <X11/cursorfont.h>
+#endif
#include <signal.h>
#include "setup.h"
@@ -26,10 +28,12 @@
#include "src/util/clientGUIUtils.h"
#include "src/input/inputHandlerChain.h"
-
class PVSServiceDiscovery;
class PVSDiscoveredServer;
class InputEvent;
+class McastConfiguration;
+class PVSOutgoingMulticastTransfer;
+class PVSIncomingMulticastTransfer;
/**
* PVSClient
@@ -70,7 +74,7 @@ public:
void guiDelHost(QString host);
public Q_SLOTS:
- void start();
+ bool start();
void quit();
void chat_send(QString nick_to, QString nick_from, QString msg);
QString chat_getNickname();
@@ -82,6 +86,14 @@ 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);
+
Q_SIGNALS:
void project(QString host, int port, QString passwd, bool fullscreen,
bool smoothTransformation, int quality);
@@ -95,6 +107,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);
@@ -115,7 +138,9 @@ private:
bool _locked; ///< are we locked?
QString _lockMsg; ///< message to display while we're locked
bool _vncAllowed; ///< whether vncConnections to this client are allowed (dup?)
- BlankScreen *_blankScreen;///< obhject to blank the screen
+ /*#ifndef __WIN32__*/
+ BlankScreen *_blankScreen;///< object to blank the screen
+ /*#endif*/
QFileSystemWatcher* _notify; ///< used to get notifies about file changes
//vnc-server
@@ -133,8 +158,6 @@ private:
PVSServerConnection* _pvsServerConnection; ///< our tcp connection object to the pvsserver
- QSettings _settings;
-
PVSServiceDiscovery *_sdClient;
PVSChatClient *_chat;
@@ -148,5 +171,23 @@ private:
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_ */