bluetoothengine/bthid/bthidclient/inc/bthidclient.h
changeset 0 f63038272f30
child 11 a42ed326b458
--- /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 <e32base.h>
+#include <btdevice.h>
+#include <btmanclient.h>
+#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<THIDStateUpdate> 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