bump product version to 5.0.4.1
[LibreOffice.git] / sd / source / ui / remotecontrol / Communicator.hxx
blobc912fa5aa0577ab74cedb82f6c4d4a13fe97b615
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9 #ifndef INCLUDED_SD_SOURCE_UI_REMOTECONTROL_COMMUNICATOR_HXX
10 #define INCLUDED_SD_SOURCE_UI_REMOTECONTROL_COMMUNICATOR_HXX
12 #include <stdlib.h>
13 #ifndef _WIN32
14 #include <unistd.h>
15 #endif
16 #include <sys/types.h>
17 #include <vector>
19 #include <rtl/ref.hxx>
20 #include <salhelper/thread.hxx>
22 #include <com/sun/star/presentation/XSlideShowController.hpp>
24 #include "IBluetoothSocket.hxx"
26 #define CHARSET RTL_TEXTENCODING_UTF8
27 namespace sd
30 class Transmitter;
31 class Listener;
33 /** Class used for communication with one single client, dealing with all
34 * tasks specific to this client.
36 * Needs to be created, then started using launch(), disposes itself.
38 class Communicator : public salhelper::Thread
40 public:
41 Communicator( IBluetoothSocket *pSocket );
42 virtual ~Communicator();
44 void presentationStarted( const css::uno::Reference<
45 css::presentation::XSlideShowController > &rController );
46 void informListenerDestroyed();
47 void disposeListener();
48 void forceClose();
50 private:
51 void execute() SAL_OVERRIDE;
52 IBluetoothSocket *mpSocket;
54 Transmitter *pTransmitter;
55 rtl::Reference<Listener> mListener;
59 #endif // INCLUDED_SD_SOURCE_UI_REMOTECONTROL_COMMUNICATOR_HXX
61 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */