diff -r 000000000000 -r 29b1cd4cb562 bluetooth/btextnotifiers/inc/BTExtNotifiers.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetooth/btextnotifiers/inc/BTExtNotifiers.h Fri Jan 15 08:13:17 2010 +0200 @@ -0,0 +1,220 @@ +// Copyright (c) 2001-2009 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: +// + +#ifndef BTEXTNOTIFIERS_H +#define BTEXTNOTIFIERS_H + +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS +#include +#endif + +#include + +#include +#include +#include + +#define NOTIFIERS_SUPPORT_PASSKEY_MIN_LENGTH + +/** +@file +@publishedAll +@released +**/ + +NONSHARABLE_CLASS(TBTDeviceSelectionParams) +/** +@publishedAll +@released + +Class to allow parameters to be sent to the device selection dialog via the RNotifier API. +**/ + { +public: + IMPORT_C TBTDeviceSelectionParams(); + IMPORT_C void SetUUID(const TUUID& aUUID); + IMPORT_C void SetDeviceClass(TBTDeviceClass aClass); + IMPORT_C const TUUID& UUID(); + IMPORT_C TBTDeviceClass DeviceClass(); + IMPORT_C TBool IsValidDeviceClass(); + IMPORT_C TBool IsValidUUID(); +private: + TBTDeviceClass iDeviceClass; /*!< The device class */ + TUUID iSdpUuid; /*!< The sdp uuid */ + TBool iValidDeviceClass; /*!< ETrue if iDeviceClass has been set, EFalse if not */ + TBool iValidUuid; /*!< ETrue if iSdpUuid has be set, EFalse if not */ + + // This data padding has been added to help prevent future binary compatibility breaks + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used + TUint32 iPadding1; + TUint32 iPadding2; + }; + +NONSHARABLE_CLASS(TBTDeviceResponseParams) +/** +@publishedAll +@released + +Class to allow parameters to be received from the device selection dialog via the RNotifier API. +**/ + { +public: + IMPORT_C TBTDeviceResponseParams(); + IMPORT_C void SetDeviceAddress(const TBTDevAddr& aBDAddr); //< Set the address of the device + IMPORT_C void SetDeviceName(const TDesC& aName); //< Set the name of the device + IMPORT_C void SetDeviceClass(TBTDeviceClass aClass); + IMPORT_C const TBTDevAddr& BDAddr() const; //< Returns the address of the device + IMPORT_C const TDesC& DeviceName() const; //< Returns the name of the device + IMPORT_C TBTDeviceClass DeviceClass(); + IMPORT_C TBool IsValidBDAddr() const; //< Has the address of the device been set? + IMPORT_C TBool IsValidDeviceName() const; //< Has the name of the device been set? + IMPORT_C TBool IsValidDeviceClass(); +private: + TBTDevAddr iBDAddr; /*!< The BT address of the remote device */ + TBuf iDeviceName; /*!< The name given by the remote device */ + TBTDeviceClass iDeviceClass; /*!< The device class */ + TBool iValidBDAddr; /*!< ETrue if iBDAddr has been set, EFalse if not */ + TBool iValidDeviceName; /*!< ETrue if iDeviceName has been set, EFalse if not */ + TBool iValidDeviceClass; /*!< ETrue if iDeviceClass has been set, EFalse if not */ + + // This data padding has been added to help prevent future binary compatibility breaks + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used + TUint32 iPadding1; + TUint32 iPadding2; + }; + +/** +@publishedAll +@released + +Typedef'ed pckgbuf to send paramaters to the device selection dialog via the notifier framework. +**/ +typedef TPckgBuf TBTDeviceSelectionParamsPckg; + +/** +@publishedAll +@released + +Typedef'ed pckgbuf to retrieve the response from the device selection dialog via the notifier framework. +**/ +typedef TPckgBuf TBTDeviceResponseParamsPckg; + +/** +A remote device address, and a boolean indicating if the remote device has access +to the uplink +WARNING: For internal use ONLY. Compatibility is not guaranteed in future releases. +@publishedPartner +@released +*/ +NONSHARABLE_CLASS(TPanConnection) + { +public: + IMPORT_C TPanConnection(TBTDevAddr& aRemoteDeviceAddress, + TBool aUplinkAccessAllowed); + + IMPORT_C const TBTDevAddr& RemoteDeviceAddress() const; + IMPORT_C TBool UplinkAccessAllowed() const; + IMPORT_C TBool IsValid() const; + + // Non-exported constructor. Allows creation of default NULL instance + TPanConnection(); + +private: + TBTDevAddr iRemoteDeviceAddress; + TBool iUplinkAccessAllowed; + + // This data padding has been added to help prevent future binary compatibility breaks + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used + TUint32 iPadding1; + TUint32 iPadding2; + }; + +/** +A list of TPanConnection instances +This is not intended for external use by application developers. + +@see TPanConnection +@publishedAll +@released +*/ +NONSHARABLE_CLASS(TPanConnectionList) + { +public: + IMPORT_C TPanConnectionList(); + + IMPORT_C void AddRemoteConnectionL(const TPanConnection& aRemoteConnection); + IMPORT_C const TPanConnection* GetFirstRemoteConnection(); + IMPORT_C const TPanConnection* GetNextRemoteConnection(); + + IMPORT_C void SetRequestedConnectionAddr(const TBTDevAddr& aRequestedConnectionAddr); + IMPORT_C const TBTDevAddr* RequestedConnectionAddr(); + + IMPORT_C const TUUID& CurrentLocalRole() const; + IMPORT_C void SetCurrentLocalRole(const TUUID& aLocalRole); + + IMPORT_C TUint8 MaxNumberOfRemoteConnections(); + +private: + const static TUint8 KMaxRemoteConnections = 7; + +private: + TUint8 iPosition; // the position within the list for stateful reading + TFixedArray iRemoteConnections; + + TBTDevAddr iRequestedConnectionAddr; + + TUUID iCurrentLocalRole; + + // This data padding has been added to help prevent future binary compatibility breaks + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used + TUint32 iPadding1; + TUint32 iPadding2; + }; + +/** +@publishedAll +@released + +Typedef'ed pckgbuf for TPanConnectionList. +This is not intended for external use by application developers. +**/ +typedef TPckgBuf TPanConnectionListPckg; + + +/** +@publishedAll +@released + +The response from the incoming PAN NAP connection selection dialog. +This is intended for internal sub-system use only. +**/ +enum TNapConnectionResult + { + EDisallowNewNapConnection, + EAcceptNapConnectionAllowUplinkAccess, + EAcceptNapConnectionDisallowUplinkAccess, + }; + +/** +@publishedAll +@released + +Typedef'ed pckgbuf to retrieve the response from the incoming PAN NAP connection +selection dialog via the notifier framework. +This is intended for internal sub-system use only. +**/ +typedef TPckgBuf TNapConnectionResultPckg; + +#endif // BTEXTNOTIFIERS_H