summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/ScreenSharing/IncomingScreenSharing.h')
-rw-r--r--Swiften/ScreenSharing/IncomingScreenSharing.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/Swiften/ScreenSharing/IncomingScreenSharing.h b/Swiften/ScreenSharing/IncomingScreenSharing.h
index cc25a9f..c46a6f8 100644
--- a/Swiften/ScreenSharing/IncomingScreenSharing.h
+++ b/Swiften/ScreenSharing/IncomingScreenSharing.h
@@ -11,11 +11,17 @@
#include <Swiften/Elements/RTPPayloadType.h>
#include <Swiften/Base/boost_bsignals.h>
+#include <Swiften/Elements/InputEventPayload.h>
+
+
namespace Swift {
class JingleContentPayload;
class VP8RTPParser;
class VideoDecoder;
class Image;
+ class TimerFactory;
+ class Timer;
+ class IQRouter;
class IncomingScreenSharing : public ScreenSharing {
public:
@@ -23,26 +29,33 @@ namespace Swift {
public:
IncomingScreenSharing(boost::shared_ptr<JingleSession> jingleSession, UDPSocketFactory* udpSocketFactory,
- boost::shared_ptr<JingleContentPayload> content);
+ TimerFactory* timerFactory, IQRouter* iqRouter, boost::shared_ptr<JingleContentPayload> content);
virtual ~IncomingScreenSharing();
virtual void cancel();
-
void accept();
const JID& getSender() const;
+ void sendInputEvent(const InputEventPayload::Event& event);
+
public:
boost::signal<void (const Image&)> onNewImageReceived;
private:
JingleContentID getContentID() const;
- void hangleNewImageDecoded(const Image& image);
+ void handleNewImageDecoded(const Image& image);
+ void handleEventSendingTimerTick();
+ void addLastMouseMoveIfDifferent();
private:
boost::shared_ptr<JingleContentPayload> initialContent;
RTPPayloadType payloadTypeUsed;
VP8RTPParser* parser;
VideoDecoder* decoder;
+ InputEventPayload::Event lastMouveMoveEvent;
+ InputEventPayload::ref inputEventPayload;
+ boost::shared_ptr<Timer> eventSendingTimer;
+ IQRouter* iqRouter;
};
}