diff options
Diffstat (limited to 'Swiften/ScreenSharing/IncomingScreenSharing.h')
-rw-r--r-- | Swiften/ScreenSharing/IncomingScreenSharing.h | 19 |
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; }; } |