epoc32/include/btextnotifiers.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
equal deleted inserted replaced
3:e1b950c65cb4 4:837f303aceeb
     1 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     7 //
     8 // Initial Contributors:
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
     9 // Nokia Corporation - initial contribution.
    10 //
    10 //
    11 // Contributors:
    11 // Contributors:
    13 // Description:
    13 // Description:
    14 //
    14 //
    15 
    15 
    16 #ifndef BTEXTNOTIFIERS_H
    16 #ifndef BTEXTNOTIFIERS_H
    17 #define BTEXTNOTIFIERS_H
    17 #define BTEXTNOTIFIERS_H
       
    18 
       
    19 #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
       
    20 #include <btextnotifierspartner.h>
       
    21 #endif
       
    22 
       
    23 #include <btextnotifiersconsts.h>
    18 
    24 
    19 #include <e32std.h>
    25 #include <e32std.h>
    20 #include <bttypes.h>
    26 #include <bttypes.h>
    21 #include <btdevice.h>
    27 #include <btdevice.h>
    22 
    28 
    23 
       
    24 #define NOTIFIERS_SUPPORT_PASSKEY_MIN_LENGTH
    29 #define NOTIFIERS_SUPPORT_PASSKEY_MIN_LENGTH
    25 
    30 
    26 /**
    31 /**
    27 @file
    32 @file
    28 @publishedAll
    33 @publishedAll
    29 @released
    34 @released
    30 
    35 **/
    31 UID to invoke the device selection dialog via the notifier framework.
       
    32 **/
       
    33 const TUid KDeviceSelectionNotifierUid={0x100069D1};
       
    34 
       
    35 /**
       
    36 @publishedPartner
       
    37 @released
       
    38 
       
    39 UID of the PBAP authentication notifier
       
    40 */
       
    41 const TUid KPbapAuthNotifierUid={0x10282B22};
       
    42 
       
    43 /**
       
    44 @publishedPartner
       
    45 @deprecated
       
    46 @see "bt_subscribe.h"
       
    47 
       
    48 UID to notify the UI that a bluetooth link is currently active.
       
    49 Now deprecated by the publish/subscribe mechanism.
       
    50 **/
       
    51 const TUid KUidBTBasebandNotification={0x1000A5FB};
       
    52 
    36 
    53 NONSHARABLE_CLASS(TBTDeviceSelectionParams)
    37 NONSHARABLE_CLASS(TBTDeviceSelectionParams)
    54 /**
    38 /**
    55 @publishedAll
    39 @publishedAll
    56 @released
    40 @released
    86 Class to allow parameters to be received from the device selection dialog via the RNotifier API.
    70 Class to allow parameters to be received from the device selection dialog via the RNotifier API.
    87 **/
    71 **/
    88 	{
    72 	{
    89 public:
    73 public:
    90 	IMPORT_C TBTDeviceResponseParams();
    74 	IMPORT_C TBTDeviceResponseParams();
    91 	IMPORT_C void SetDeviceAddress(const TBTDevAddr& aBDAddr);	///< Set the address of the device
    75 	IMPORT_C void SetDeviceAddress(const TBTDevAddr& aBDAddr);	//< Set the address of the device
    92 	IMPORT_C void SetDeviceName(const TDesC& aName);	///< Set the name of the device
    76 	IMPORT_C void SetDeviceName(const TDesC& aName);	//< Set the name of the device
    93 	IMPORT_C void SetDeviceClass(TBTDeviceClass aClass);
    77 	IMPORT_C void SetDeviceClass(TBTDeviceClass aClass);
    94 	IMPORT_C const TBTDevAddr& BDAddr() const;				///< Returns the address of the device
    78 	IMPORT_C const TBTDevAddr& BDAddr() const;				//< Returns the address of the device
    95 	IMPORT_C const TDesC& DeviceName() const;		///< Returns the name of the device
    79 	IMPORT_C const TDesC& DeviceName() const;		//< Returns the name of the device
    96 	IMPORT_C TBTDeviceClass DeviceClass();
    80 	IMPORT_C TBTDeviceClass DeviceClass();
    97 	IMPORT_C TBool IsValidBDAddr() const;			///< Has the address of the device been set?
    81 	IMPORT_C TBool IsValidBDAddr() const;			//< Has the address of the device been set?
    98 	IMPORT_C TBool IsValidDeviceName() const;		///< Has the name of the device been set?
    82 	IMPORT_C TBool IsValidDeviceName() const;		//< Has the name of the device been set?
    99 	IMPORT_C TBool IsValidDeviceClass();
    83 	IMPORT_C TBool IsValidDeviceClass();
   100 private:
    84 private:
   101 	TBTDevAddr iBDAddr; /*!< The BT address of the remote device */
    85 	TBTDevAddr iBDAddr; /*!< The BT address of the remote device */
   102 	TBuf<KMaxBluetoothNameLen> iDeviceName; /*!< The name given by the remote device */
    86 	TBuf<KMaxBluetoothNameLen> iDeviceName; /*!< The name given by the remote device */
   103 	TBTDeviceClass iDeviceClass; /*!< The device class */
    87 	TBTDeviceClass iDeviceClass; /*!< The device class */
   126 Typedef'ed pckgbuf to retrieve the response from the device selection dialog via the notifier framework.
   110 Typedef'ed pckgbuf to retrieve the response from the device selection dialog via the notifier framework.
   127 **/
   111 **/
   128 typedef TPckgBuf<TBTDeviceResponseParams> TBTDeviceResponseParamsPckg;
   112 typedef TPckgBuf<TBTDeviceResponseParams> TBTDeviceResponseParamsPckg;
   129 
   113 
   130 /**
   114 /**
   131 @deprecated
       
   132 Use TBTDeviceList::MaxNumberOfDevices() instead. Note however that 
       
   133 you should call this function each time you wish to use this value
       
   134 rather than storing a copy because the actual value is subject to 
       
   135 change.
       
   136 */
       
   137 const TUint KMaxPanDevicesForSimultaneousSelection = 8;
       
   138 
       
   139 NONSHARABLE_CLASS(TBTDeviceList)
       
   140 /**
       
   141 A list of TBTDevAddrs
       
   142 @note Used to pass a list of devices to which to connect.
       
   143 @publishedPartner
       
   144 @released
       
   145 */
       
   146 	{
       
   147 public:
       
   148 	IMPORT_C TBTDeviceList();
       
   149 	
       
   150 	IMPORT_C TInt AddDevice(const TBTDevAddr& aDevAddr);
       
   151 	IMPORT_C TInt GetDevice(TBTDevAddr& aDevAddr);
       
   152 	IMPORT_C void Reset();
       
   153 	
       
   154 	IMPORT_C operator const TDesC8&();
       
   155 	IMPORT_C operator TDes8&();
       
   156 	
       
   157 	IMPORT_C TUint MaxNumberOfDevices();
       
   158 	
       
   159 private:
       
   160 	const static TUint KMaxDevicesForSimultaneousSelection = 8;
       
   161 
       
   162 private:
       
   163 	TInt iPosition;	// the position within the list for stateful reading
       
   164 	TFixedArray<TBTDevAddr, KMaxDevicesForSimultaneousSelection> iDevices;
       
   165 	TPckg<TFixedArray<TBTDevAddr, KMaxDevicesForSimultaneousSelection> > iPtr;
       
   166 		
       
   167 	const TBTDevAddr iKNullDevAddr;
       
   168 
       
   169 	// This data padding has been added to help prevent future binary compatibility breaks	
       
   170 	// Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
       
   171 	TUint32     iPadding1; 
       
   172 	TUint32     iPadding2; 	
       
   173 	};
       
   174 
       
   175 
       
   176 /** Maximum length of the Realm text buffer. */
       
   177 const TUint KPbapAuthRealmLength = 256;
       
   178 
       
   179 /** Maximum length of the password text buffer. */
       
   180 const TUint KPbapAuthPasswordLength = 64;
       
   181 
       
   182 NONSHARABLE_CLASS(TPbapAuthNotifierParams)
       
   183 /**
       
   184 Parameters passed to the PBAP authentication notifier plugin
       
   185 @publishedPartner
       
   186 @released
       
   187 */
       
   188 	{
       
   189 public:
       
   190 	IMPORT_C TPbapAuthNotifierParams();
       
   191 
       
   192 	IMPORT_C void SetRealm(const TDesC& aRealm);
       
   193 	IMPORT_C void SetRemoteAddr(const TBTDevAddr& aBDAddr);
       
   194 
       
   195 	IMPORT_C const TDesC& Realm() const;
       
   196 	IMPORT_C TBool RealmTruncated() const;
       
   197 	IMPORT_C const TBTDevAddr& RemoteAddr() const;
       
   198 
       
   199 	IMPORT_C TBool IsValidRealm() const;
       
   200 	IMPORT_C TBool IsValidRemoteAddr() const;
       
   201 	
       
   202 private:
       
   203 	TBuf<KPbapAuthRealmLength> iRealm; /*!< The Realm specified by the device requesting authentication. */
       
   204 	TBool iRealmTruncated; /*!< Set to ETrue if iRealm has been truncated */
       
   205 	TBTDevAddr iRemoteAddr; /*!< The Bluetooth device address of the device requesting authentication. */ 
       
   206 
       
   207 	TBool iValidRealm; /*!< ETrue if iRealm has been set, EFalse if not */
       
   208 	TBool iValidRemoteAddr; /*!< ETrue if iRemoteAddr has been set, EFalse if not */
       
   209 
       
   210 	// This data padding has been added to help prevent future binary compatibility breaks	
       
   211 	// iPadding has not been zero'd because they are currently not used
       
   212 	TUint32     iPadding;
       
   213 	};
       
   214 
       
   215 /**
       
   216 Packaged version of <code>TPbapAuthNotifierParams</code> that allows data transfer over process boundaries.
       
   217 @publishedPartner
       
   218 @released
       
   219 */
       
   220 typedef TPckgBuf<TPbapAuthNotifierParams> TPbapAuthNotifierParamsPckg;
       
   221 
       
   222 NONSHARABLE_CLASS(TPbapAuthNotifierResponse)
       
   223 /**
       
   224 Response data from the PBAP authentication notifier plugin
       
   225 @publishedPartner
       
   226 @released
       
   227 */
       
   228 	{
       
   229 public:
       
   230 	IMPORT_C TPbapAuthNotifierResponse();
       
   231 
       
   232 	IMPORT_C TBool SetPassword(const TDesC& aPassword);
       
   233 	IMPORT_C void ResetPassword();
       
   234 
       
   235 	IMPORT_C const TDesC& Password() const;
       
   236 
       
   237 	IMPORT_C TBool IsValidPassword() const;
       
   238 
       
   239 private:
       
   240     /** The password used to create the challenge response. */
       
   241 	TBuf<KPbapAuthPasswordLength> iPassword;
       
   242 
       
   243 	TBool iValidPassword; /*!< ETrue if iPassword has been set, EFalse if not */
       
   244 
       
   245 	// This data padding has been added to help prevent future binary compatibility breaks	
       
   246 	// Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
       
   247 	TUint32     iPadding1; 
       
   248 	TUint32     iPadding2; 	
       
   249 	};
       
   250 
       
   251 /**
       
   252 Packaged version of <code>TPbapAuthNotifierResponse</code> that allows data transfer over process boundaries.
       
   253 @publishedPartner
       
   254 @released
       
   255 */
       
   256 typedef TPckgBuf<TPbapAuthNotifierResponse> TPbapAuthNotifierResponsePckg;
       
   257 
       
   258 
       
   259 /**
       
   260 A remote device address, and a boolean indicating if the remote device has access
   115 A remote device address, and a boolean indicating if the remote device has access
   261 to the uplink
   116 to the uplink
       
   117 WARNING: For internal use ONLY. Compatibility is not guaranteed in future releases.
   262 @publishedPartner
   118 @publishedPartner
   263 @released
   119 @released
   264 */
   120 */
   265 NONSHARABLE_CLASS(TPanConnection)
   121 NONSHARABLE_CLASS(TPanConnection)
   266 	{
   122 	{
   283 	// Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
   139 	// Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
   284 	TUint32 iPadding1; 
   140 	TUint32 iPadding1; 
   285 	TUint32 iPadding2; 	
   141 	TUint32 iPadding2; 	
   286 	};
   142 	};
   287 
   143 
   288 
       
   289 /**
   144 /**
   290 A list of TPanConnection instances
   145 A list of TPanConnection instances
       
   146 This is not intended for external use by application developers.
       
   147 
   291 @see TPanConnection
   148 @see TPanConnection
   292 @publishedPartner
   149 @publishedAll
   293 @released
   150 @released
   294 */
   151 */
   295 NONSHARABLE_CLASS(TPanConnectionList)
   152 NONSHARABLE_CLASS(TPanConnectionList)
   296 	{
   153 	{
   297 public:
   154 public:
   329 /**
   186 /**
   330 @publishedAll
   187 @publishedAll
   331 @released
   188 @released
   332 
   189 
   333 Typedef'ed pckgbuf for TPanConnectionList.
   190 Typedef'ed pckgbuf for TPanConnectionList.
       
   191 This is not intended for external use by application developers.
   334 **/
   192 **/
   335 typedef TPckgBuf<TPanConnectionList> TPanConnectionListPckg;
   193 typedef TPckgBuf<TPanConnectionList> TPanConnectionListPckg;
   336 
   194 
   337 
   195 
   338 /**
   196 /**
   339 @publishedAll
   197 @publishedAll
   340 @released
   198 @released
   341 
   199 
   342 The response from the incoming PAN NAP connection selection dialog.
   200 The response from the incoming PAN NAP connection selection dialog.
       
   201 This is intended for internal sub-system use only.
   343 **/
   202 **/
   344 enum TNapConnectionResult
   203 enum TNapConnectionResult
   345 	{
   204 	{
   346 	EDisallowNewNapConnection,
   205 	EDisallowNewNapConnection,
   347 	EAcceptNapConnectionAllowUplinkAccess,
   206 	EAcceptNapConnectionAllowUplinkAccess,
   352 @publishedAll
   211 @publishedAll
   353 @released
   212 @released
   354 
   213 
   355 Typedef'ed pckgbuf to retrieve the response from the incoming PAN NAP connection 
   214 Typedef'ed pckgbuf to retrieve the response from the incoming PAN NAP connection 
   356 selection dialog via the notifier framework.
   215 selection dialog via the notifier framework.
       
   216 This is intended for internal sub-system use only.
   357 **/
   217 **/
   358 typedef TPckgBuf<TNapConnectionResult> TNapConnectionResultPckg;		
   218 typedef TPckgBuf<TNapConnectionResult> TNapConnectionResultPckg;		
   359 
   219 
   360 
       
   361 
       
   362 
       
   363 //
       
   364 // Standard Bluetooth Authentication Notifiers
       
   365 //
       
   366 
       
   367 
       
   368 /**
       
   369 UID of the "Numeric Comparison" confirmation request RNotifier plugin.
       
   370 
       
   371 The notifier will be started with a parameter of type TBTNumericComparisonParamsPckg.
       
   372 
       
   373 The notifier will receive updates of type TBTNotifierUpdateParamsPckg2.
       
   374 
       
   375 @see TBTNotifierUpdateParamsPckg2
       
   376 
       
   377 @publishedPartner
       
   378 @released
       
   379 */
       
   380 const TUid KBTNumericComparisonNotifierUid={0x10285AD5};
       
   381 
       
   382 /**
       
   383 UID of the "Passkey Entry" display RNotifier plugin.
       
   384 
       
   385 The notifier will be started with a parameter of type TBTPasskeyDisplayParamsPckg.
       
   386 
       
   387 The notifier will receive updates of type TBTNotifierUpdateParamsPckg2.
       
   388 
       
   389 @see TBTNotifierUpdateParamsPckg2
       
   390 
       
   391 @publishedPartner
       
   392 @released
       
   393 */
       
   394 const TUid KBTPasskeyDisplayNotifierUid={0x10285AD4};
       
   395 
       
   396 /**
       
   397 UID of the "PIN Code Entry" RNotifier plugin.
       
   398 
       
   399 Note that this is an SSP aware notifier taking the new parameter type.  This is
       
   400 intended to replace the deprecated KBTManPinNotifierUid RNotifier plugin.
       
   401 @see KBTManPinNotifierUid
       
   402 
       
   403 The notifier will be started with a parameter of type TBTPinCodeEntryNotifierParamsPckg.
       
   404 
       
   405 The notifier will receive updates of type TBTNotifierUpdateParamsPckg2.
       
   406 
       
   407 @see TBTNotifierUpdateParamsPckg2
       
   408 
       
   409 @publishedPartner
       
   410 @released
       
   411 */
       
   412 const TUid KBTPinCodeEntryNotifierUid={0x10285D55};
       
   413 
       
   414 
       
   415 /**
       
   416 The base parameter for the secure simple pairing notifiers.
       
   417 	
       
   418 @publishedPartner
       
   419 @released
       
   420 */
       
   421 NONSHARABLE_CLASS(TBTNotifierParams2)	
       
   422 	{
       
   423 public:
       
   424 	IMPORT_C TBTDevAddr DeviceAddress() const;
       
   425 	IMPORT_C TPtrC DeviceName() const;
       
   426 	
       
   427 protected:
       
   428 	TBTNotifierParams2(const TBTDevAddr& aDevAddr, const TDesC& aDeviceName);
       
   429 	TBTNotifierParams2();
       
   430 	
       
   431 private:
       
   432 	TBTDevAddr		iBDAddr;
       
   433 	TBTDeviceName	iName;	
       
   434 	
       
   435 	// This data padding has been added to help prevent future binary compatibility breaks	
       
   436 	// Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
       
   437 	TUint32	iPadding1; 
       
   438 	TUint32	iPadding2; 
       
   439 	};
       
   440 
       
   441 
       
   442 /** 
       
   443 Secure simple pairing "Numeric Comparison" parameters.
       
   444 This class packages the parameters passed to a numeric comparison notifier.
       
   445 	
       
   446 @publishedPartner
       
   447 @released
       
   448 */
       
   449 NONSHARABLE_CLASS(TBTNumericComparisonParams)
       
   450 	: public TBTNotifierParams2
       
   451 	{
       
   452 public:
       
   453 	/**
       
   454 	This represents the type of comparison that is being performed.
       
   455 	It is intended to allow the UI to present the user of the device
       
   456 	with suitable information to help them complete the pairing.
       
   457 	*/
       
   458 	enum TComparisonScenario
       
   459 		{
       
   460 		ERemoteCannotConfirm,	/*!< Only the Symbian device can confirm the displayed numbers are the same. */
       
   461 		ERemoteCanConfirm,		/*!< Both devices can confirm that the displayed numbers are the same */
       
   462 		};
       
   463 		
       
   464 public:
       
   465 	IMPORT_C TBTNumericComparisonParams(const TBTDevAddr& aDevAddr, const TDesC& aDeviceName, TUint32 aNumericalValue, TComparisonScenario aComparisonScenario, TBool aLocallyInitiated);
       
   466 	IMPORT_C TBTNumericComparisonParams();
       
   467 	
       
   468 public:
       
   469 	IMPORT_C TUint32 NumericalValue() const;
       
   470 	IMPORT_C TComparisonScenario ComparisonScenario() const;
       
   471 	IMPORT_C TBool LocallyInitiated() const;
       
   472 	
       
   473 private:
       
   474 	TUint32				iNumericalValue;
       
   475 	TComparisonScenario	iComparisonScenario;
       
   476 	TBool				iLocallyInitiated;
       
   477 	
       
   478 	// This data padding has been added to help prevent future binary compatibility breaks	
       
   479 	// Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
       
   480 	TUint32	iPadding1;
       
   481 	TUint32 iPadding2;
       
   482 	};
       
   483 
       
   484 
       
   485 /**
       
   486 Secure simple pairing "Passkey Entry" display parameters.
       
   487 This class packages the parameters passed to a passkey display notifier.
       
   488 	
       
   489 @publishedPartner
       
   490 @released
       
   491 */
       
   492 NONSHARABLE_CLASS(TBTPasskeyDisplayParams)
       
   493 	: public TBTNotifierParams2	
       
   494 	{
       
   495 public:
       
   496 	IMPORT_C TBTPasskeyDisplayParams(const TBTDevAddr& aDevAddr, const TDesC& aDeviceName, TUint32 aNumericalValue, TBool aLocallyInitiated);
       
   497 	IMPORT_C TBTPasskeyDisplayParams();
       
   498 	
       
   499 public:
       
   500 	IMPORT_C TUint32 NumericalValue() const;
       
   501 	IMPORT_C TBool LocallyInitiated() const;
       
   502 	
       
   503 private:
       
   504 	TUint32	iNumericalValue;
       
   505 	TBool	iLocallyInitiated;
       
   506 	
       
   507 	// This data padding has been added to help prevent future binary compatibility breaks	
       
   508 	// Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
       
   509 	TUint32	iPadding1; 
       
   510 	TUint32	iPadding2;
       
   511 	};
       
   512 
       
   513 /** 
       
   514 Simple secure pairing aware "PIN Code Entry" request parameters.
       
   515 This class packages the parameters passed to a PIN code entry notifier.
       
   516 	
       
   517 @publishedPartner
       
   518 @released
       
   519 */
       
   520 NONSHARABLE_CLASS(TBTPinCodeEntryNotifierParams)
       
   521 	: public TBTNotifierParams2
       
   522 	{
       
   523 public:
       
   524 	IMPORT_C TBTPinCodeEntryNotifierParams(const TBTDevAddr& aDevAddr, const TDesC& aDeviceName, TUint aPinCodeMinLength, TBool aLocallyInitiated, TBool aStrongPinCodeRequired, TUint aRecommendedPinCodeMinLength);
       
   525 	IMPORT_C TBTPinCodeEntryNotifierParams();
       
   526 	
       
   527 public:
       
   528 	IMPORT_C TUint PinCodeMinLength() const;
       
   529 	IMPORT_C TBool LocallyInitiated() const;
       
   530 	IMPORT_C TBool StrongPinCodeRequired() const;
       
   531 	IMPORT_C TUint RecommendedPinCodeMinLength() const;
       
   532 	
       
   533 private:
       
   534 	TUint	iPinCodeMinLength;
       
   535 	TBool	iLocallyInitiated;
       
   536 	TBool	iStrongPinCodeRequired;
       
   537 	//TUint32 used here as this space was once a padding field.
       
   538 	TUint32	iRecommendedPinCodeMinLength;
       
   539 	
       
   540 	// This data padding has been added to help prevent future binary compatibility breaks	
       
   541 	// iPadding1 has not been zero'd because it is currently not used
       
   542 	TUint32	iPadding1; 
       
   543 	};
       
   544 
       
   545 
       
   546 /**
       
   547 The base update parameter for the Bluetooth pairing notifiers.
       
   548 This class is intended to allow multiple different updates parameters to be
       
   549 passed to the Bluetooth notifiers.
       
   550 	
       
   551 @publishedPartner
       
   552 @released
       
   553 */
       
   554 NONSHARABLE_CLASS(TBTNotifierUpdateParams2)
       
   555 	{
       
   556 public:
       
   557 	enum TUpdateParamType
       
   558 		{
       
   559 		EDeviceName,
       
   560 		EPasskeyDisplay,
       
   561 		};
       
   562 	
       
   563 public:
       
   564 	IMPORT_C TBTNotifierUpdateParams2();
       
   565 	IMPORT_C TUpdateParamType Type() const;
       
   566 	
       
   567 protected:
       
   568 	TBTNotifierUpdateParams2(TBTNotifierUpdateParams2::TUpdateParamType aType);
       
   569 	
       
   570 private:
       
   571 	TUpdateParamType	iType;
       
   572 	
       
   573 	// This data padding has been added to help prevent future binary compatibility breaks	
       
   574 	// Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
       
   575 	TUint32	iPadding1;
       
   576 	TUint32	iPadding2;
       
   577 	};
       
   578 
       
   579 
       
   580 /** 
       
   581 Bluetooth device name update parameter.
       
   582 This class provides the parameters to indicate an update to the name of
       
   583 the Bluetooth device for which the notifier is waiting for input.
       
   584 	
       
   585 @publishedPartner
       
   586 @released
       
   587 */
       
   588 NONSHARABLE_CLASS(TBTDeviceNameUpdateParams)
       
   589 	: public TBTNotifierUpdateParams2
       
   590 	{
       
   591 public:
       
   592 	IMPORT_C TBTDeviceNameUpdateParams(const TDesC& aDeviceName, TInt aResult);
       
   593 	IMPORT_C TBTDeviceNameUpdateParams();
       
   594 	
       
   595 public:
       
   596 	IMPORT_C TPtrC DeviceName() const;
       
   597 	IMPORT_C TInt Result() const;
       
   598 	
       
   599 private:
       
   600 	TBTDeviceName	iDeviceName;
       
   601 	TInt			iResult;
       
   602 	
       
   603 	// This data padding has been added to help prevent future binary compatibility breaks	
       
   604 	// Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
       
   605 	TUint32	iPadding1; 
       
   606 	TUint32	iPadding2;
       
   607 	};
       
   608 
       
   609 /** 
       
   610 Secure simple pairing "Passkey Entry" display update parameters.
       
   611 This class provides the update parameters associated with a passkey entry
       
   612 display notifier.  Notably it provides the notification of keypresses from
       
   613 the remote device.
       
   614 
       
   615 @publishedPartner
       
   616 @released
       
   617 */
       
   618 NONSHARABLE_CLASS(TBTPasskeyDisplayUpdateParams) 
       
   619 	: public TBTNotifierUpdateParams2	
       
   620 	{
       
   621 public:
       
   622 	IMPORT_C TBTPasskeyDisplayUpdateParams(THCIPasskeyEntryNotificationType aNotificationType);
       
   623 	IMPORT_C TBTPasskeyDisplayUpdateParams();
       
   624 	
       
   625 public:
       
   626 	IMPORT_C THCIPasskeyEntryNotificationType KeypressNotification() const;
       
   627 	
       
   628 private:
       
   629 	THCIPasskeyEntryNotificationType iNotificationType;
       
   630 	
       
   631 	TUint32 iPadding1;
       
   632 	TUint32 iPadding2;
       
   633 	};
       
   634 
       
   635 /**
       
   636 Typedef'ed pckgbuf to send numeric comparison parameters to the notifier framework.
       
   637 @publishedPartner
       
   638 @released
       
   639 */
       
   640 typedef TPckgBuf<TBTNumericComparisonParams> TBTNumericComparisonParamsPckg;
       
   641 /**
       
   642 Typedef'ed pckgbuf to send passkey entry display parameters to the notifier framework.
       
   643 @publishedPartner
       
   644 @released
       
   645 */
       
   646 typedef TPckgBuf<TBTPasskeyDisplayParams> TBTPasskeyDisplayParamsPckg;
       
   647 /**
       
   648 Typedef'ed pckgbuf to send PIN code entry parameters to the notifier framework.
       
   649 @publishedPartner
       
   650 @released
       
   651 */
       
   652 typedef TPckgBuf<TBTPinCodeEntryNotifierParams> TBTPinCodeEntryNotifierParamsPckg;
       
   653 
       
   654 /**
       
   655 Typedef'ed pckgbuf to represent the base class of Bluetooth update parameters.
       
   656 @publishedPartner
       
   657 @released
       
   658 */
       
   659 typedef TPckgBuf<TBTNotifierUpdateParams2> TBTNotifierUpdateParamsPckg2;
       
   660 /**
       
   661 Typedef'ed pckgbuf to send device name update parameters to the notifier framework.
       
   662 @publishedPartner
       
   663 @released
       
   664 */
       
   665 typedef TPckgBuf<TBTDeviceNameUpdateParams> TBTDeviceNameUpdateParamsPckg;
       
   666 /**
       
   667 Typedef'ed pckgbuf to send passkey entry display update parameters to the notifier framework.
       
   668 @publishedPartner
       
   669 @released
       
   670 */
       
   671 typedef TPckgBuf<TBTPasskeyDisplayUpdateParams> TBTPasskeyDisplayUpdateParamsPckg;
       
   672 
       
   673 #endif // BTEXTNOTIFIERS_H
   220 #endif // BTEXTNOTIFIERS_H