1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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/.
10 #ifndef INCLUDED_SD_SOURCE_UI_REMOTECONTROL_IBLUETOOTHSOCKET_HXX
11 #define INCLUDED_SD_SOURCE_UI_REMOTECONTROL_IBLUETOOTHSOCKET_HXX
13 #include <rtl/string.hxx>
17 /** Interface for bluetooth data io
19 struct IBluetoothSocket
21 IBluetoothSocket() = default;
22 virtual ~IBluetoothSocket() {}
23 IBluetoothSocket(const IBluetoothSocket
&) = delete;
24 IBluetoothSocket
& operator=(const IBluetoothSocket
&) = delete;
26 /** Blocks until a line is read.
28 @return whatever the last call of recv returned, i.e. 0 or less
29 if there was a problem in communications.
31 virtual sal_Int32
readLine(OString
& aLine
) = 0;
33 /** Write a number of bytes
35 @return number of bytes actually written
37 virtual sal_Int32
write( const void* pBuffer
, sal_uInt32 n
) = 0;
39 virtual void close() {};
43 #endif // INCLUDED_SD_SOURCE_UI_REMOTECONTROL_IBLUETOOTHSOCKET_HXX
45 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */