diff -r 000000000000 -r f63038272f30 bluetoothengine/bthid/bthidclient/inc/bthidclient.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetoothengine/bthid/bthidclient/inc/bthidclient.h Mon Jan 18 20:28:57 2010 +0200 @@ -0,0 +1,134 @@ +/* +* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: BTHID Server client API + * +*/ + + +#ifndef BTHIDCLIENT_H +#define BTHIDCLIENT_H + +#include +#include +#include +#include "bthidtypes.h" +#include "btengconstants.h" + +/*! + State changes of a Bluetooth HID connection + */ +enum TBTHidConnState + { + EBTDeviceConnected, /*!< Device connected */ + EBTDeviceLinkLost, /*!< Device link lost */ + EBTDeviceLinkRestored, /*!< Device link restored */ + EBTDeviceDisconnected, /*!< Device disconnected */ + EBTDeviceUnplugged, /*!< Device unplugged */ + EBTDeviceAnotherExist + /*!< Another Device Connection already exist */ + }; + +/*! + BT HID Device connection state details. + */ +class THIDStateUpdate + { +public: + /*! HID Device Bluetooth Address. */ + TBTDevAddr iDeviceAddress; + + /*! New Connection State. */ + TBTHidConnState iState; + }; +typedef TPckgBuf THIDStateUpdateBuf; + +/*! + Provides the client-side interface to the server session. + */ + +NONSHARABLE_CLASS( RBTHidClient ) : public RSessionBase + { +public: + /*! + Connect to the server and create a session. + @result System error code. + */ + IMPORT_C TInt Connect(); + + /*! + Get the version number. + @result The client version. + */ + IMPORT_C TVersion Version() const; + + /*! + Issue a connect request to the server. + @param aParams The connection parameters. + @param aDiagnostic Returned BT device address in case of conflict. + @param aStatus A TRequestStatus object to be used for async comms. + */ + IMPORT_C void ConnectDevice(const TBTDevAddrPckgBuf& aAddrBuf, + TDes8& aDiagnostic, TRequestStatus& aStatus); + + /*! + Issue an update request to the server. + @param aUpdateParams Update buffer to be filled by the server. + @param aDiagnostic Returned BT device address in case of conflict. + @param aStatus A TRequestStatus object to be used for async comms. + */ + IMPORT_C void NotifyStatusChange(THIDStateUpdateBuf& aUpdateParams, + TDes8& aDiagnostic, TRequestStatus& aStatus); + + /*! + Issue a disconnect request to the server. + @param aAddress The BT address of the device to disconnect. + @param aStatus A TRequestStatus object to be used for async comms. + */ + IMPORT_C void DisconnectDevice(const TBTDevAddrPckgBuf& aAddrBuf, + TBTDisconnectType aDiscType, TRequestStatus& aStatus); + + /*! + Cancels an outstanding connect request with the server. + */ + IMPORT_C void CancelConnectDevice() const; + + /*! + Cancels an outstanding update request with the server. + */ + IMPORT_C void CancelNotifyStatusChange() const; + + /*! + Issue a disconnect request to the server. + Release all the HID connections. + @param aStatus A TRequestStatus object to be used for async comms. + */ + IMPORT_C void DisconnectAllGracefully(TRequestStatus& aStatus); + + /*! + Return HID device connection status in service level + @param aBDaddr BT address of the device to retrieve. + */ + IMPORT_C TInt IsConnected(const TBTDevAddr& aBDaddr); + + /*! + Return HID device connection status in service level + @param aAddrs Descriptor of BT addresses of connected devices + @param aProfile Profile for connection + */ + IMPORT_C void GetConnections(TDes8& aAddrs, TInt aProfile); + + }; + +#endif // BTHIDCLIENT_H +// End of File