Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
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 :
10 : #ifndef INCLUDED_SD_SOURCE_UI_REMOTECONTROL_IBLUETOOTHSOCKET_HXX
11 : #define INCLUDED_SD_SOURCE_UI_REMOTECONTROL_IBLUETOOTHSOCKET_HXX
12 :
13 : #include <rtl/string.hxx>
14 : #include <boost/noncopyable.hpp>
15 :
16 : namespace sd
17 : {
18 : /** Interface for bluetooth data io
19 : */
20 0 : struct IBluetoothSocket : private boost::noncopyable
21 : {
22 0 : virtual ~IBluetoothSocket() {}
23 :
24 : /** Blocks until a line is read.
25 :
26 : @return whatever the last call of recv returned, i.e. 0 or less
27 : if there was a problem in communications.
28 : */
29 : virtual sal_Int32 readLine(OString& aLine) = 0;
30 :
31 : /** Write a number of bytes
32 :
33 : @return number of bytes actually written
34 : */
35 : virtual sal_Int32 write( const void* pBuffer, sal_uInt32 n ) = 0;
36 :
37 0 : virtual void close() {};
38 : };
39 : }
40 :
41 : #endif // INCLUDED_SD_SOURCE_UI_REMOTECONTROL_IBLUETOOTHSOCKET_HXX
42 :
43 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|