epoc32/include/btextnotifiers.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     1 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     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
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 #ifndef BTEXTNOTIFIERS_H
    17 #define BTEXTNOTIFIERS_H
    18 
    19 #include <e32std.h>
    20 #include <bttypes.h>
    21 #include <btdevice.h>
    22 
    23 
    24 #define NOTIFIERS_SUPPORT_PASSKEY_MIN_LENGTH
    25 
    26 /**
    27 @file
    28 @publishedAll
    29 @released
    30 
    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 
    53 NONSHARABLE_CLASS(TBTDeviceSelectionParams)
    54 /**
    55 @publishedAll
    56 @released
    57 
    58 Class to allow parameters to be sent to the device selection dialog via the RNotifier API.
    59 **/
    60 	{
    61 public:
    62 	IMPORT_C TBTDeviceSelectionParams();
    63 	IMPORT_C void SetUUID(const TUUID& aUUID);
    64 	IMPORT_C void SetDeviceClass(TBTDeviceClass aClass);
    65 	IMPORT_C const TUUID& UUID();
    66 	IMPORT_C TBTDeviceClass DeviceClass();
    67 	IMPORT_C TBool IsValidDeviceClass();
    68 	IMPORT_C TBool IsValidUUID();
    69 private:
    70 	TBTDeviceClass iDeviceClass; /*!< The device class */
    71 	TUUID iSdpUuid; /*!< The sdp uuid */
    72 	TBool iValidDeviceClass; /*!< ETrue if iDeviceClass has been set, EFalse if not */
    73 	TBool iValidUuid; /*!< ETrue if iSdpUuid has be set, EFalse if not */
    74 
    75 	// This data padding has been added to help prevent future binary compatibility breaks	
    76 	// Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
    77 	TUint32     iPadding1; 
    78 	TUint32     iPadding2; 	
    79 	};
    80 
    81 NONSHARABLE_CLASS(TBTDeviceResponseParams)
    82 /**
    83 @publishedAll
    84 @released
    85 
    86 Class to allow parameters to be received from the device selection dialog via the RNotifier API.
    87 **/
    88 	{
    89 public:
    90 	IMPORT_C TBTDeviceResponseParams();
    91 	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
    93 	IMPORT_C void SetDeviceClass(TBTDeviceClass aClass);
    94 	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
    96 	IMPORT_C TBTDeviceClass DeviceClass();
    97 	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?
    99 	IMPORT_C TBool IsValidDeviceClass();
   100 private:
   101 	TBTDevAddr iBDAddr; /*!< The BT address of the remote device */
   102 	TBuf<KMaxBluetoothNameLen> iDeviceName; /*!< The name given by the remote device */
   103 	TBTDeviceClass iDeviceClass; /*!< The device class */
   104 	TBool iValidBDAddr; /*!< ETrue if iBDAddr has been set, EFalse if not */
   105 	TBool iValidDeviceName; /*!< ETrue if iDeviceName has been set, EFalse if not */
   106 	TBool iValidDeviceClass; /*!< ETrue if iDeviceClass has been set, EFalse if not */
   107 	
   108 	// This data padding has been added to help prevent future binary compatibility breaks	
   109 	// Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used	
   110 	TUint32     iPadding1; 
   111 	TUint32     iPadding2; 	
   112 	};
   113 
   114 /**
   115 @publishedAll
   116 @released
   117 
   118 Typedef'ed pckgbuf to send paramaters to the device selection dialog via the notifier framework.
   119 **/
   120 typedef TPckgBuf<TBTDeviceSelectionParams> TBTDeviceSelectionParamsPckg;
   121 
   122 /**
   123 @publishedAll
   124 @released
   125 
   126 Typedef'ed pckgbuf to retrieve the response from the device selection dialog via the notifier framework.
   127 **/
   128 typedef TPckgBuf<TBTDeviceResponseParams> TBTDeviceResponseParamsPckg;
   129 
   130 /**
   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
   261 to the uplink
   262 @publishedPartner
   263 @released
   264 */
   265 NONSHARABLE_CLASS(TPanConnection)
   266 	{
   267 public:
   268 	IMPORT_C TPanConnection(TBTDevAddr& aRemoteDeviceAddress,
   269 				   			TBool aUplinkAccessAllowed);
   270 				   
   271 	IMPORT_C const TBTDevAddr& RemoteDeviceAddress() const;
   272 	IMPORT_C TBool UplinkAccessAllowed() const;
   273 	IMPORT_C TBool IsValid() const;
   274 	
   275 	// Non-exported constructor.  Allows creation of default NULL instance
   276 	TPanConnection();
   277 	
   278 private:
   279 	TBTDevAddr iRemoteDeviceAddress;
   280 	TBool iUplinkAccessAllowed;
   281 
   282 	// This data padding has been added to help prevent future binary compatibility breaks	
   283 	// Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
   284 	TUint32 iPadding1; 
   285 	TUint32 iPadding2; 	
   286 	};
   287 
   288 
   289 /**
   290 A list of TPanConnection instances
   291 @see TPanConnection
   292 @publishedPartner
   293 @released
   294 */
   295 NONSHARABLE_CLASS(TPanConnectionList)
   296 	{
   297 public:
   298 	IMPORT_C TPanConnectionList();
   299 	
   300 	IMPORT_C void AddRemoteConnectionL(const TPanConnection& aRemoteConnection);
   301 	IMPORT_C const TPanConnection* GetFirstRemoteConnection();
   302 	IMPORT_C const TPanConnection* GetNextRemoteConnection();
   303 
   304 	IMPORT_C void SetRequestedConnectionAddr(const TBTDevAddr& aRequestedConnectionAddr);
   305 	IMPORT_C const TBTDevAddr* RequestedConnectionAddr();
   306 
   307 	IMPORT_C const TUUID& CurrentLocalRole() const;
   308 	IMPORT_C void SetCurrentLocalRole(const TUUID& aLocalRole);
   309 		
   310 	IMPORT_C TUint8 MaxNumberOfRemoteConnections();
   311 	
   312 private:
   313 	const static TUint8 KMaxRemoteConnections = 7;
   314 
   315 private:
   316 	TUint8 iPosition;	// the position within the list for stateful reading
   317 	TFixedArray<TPanConnection, KMaxRemoteConnections> iRemoteConnections;
   318 
   319 	TBTDevAddr iRequestedConnectionAddr;
   320 
   321 	TUUID iCurrentLocalRole;
   322 	
   323 	// This data padding has been added to help prevent future binary compatibility breaks	
   324 	// Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
   325 	TUint32 iPadding1; 
   326 	TUint32 iPadding2; 	
   327 	};
   328 
   329 /**
   330 @publishedAll
   331 @released
   332 
   333 Typedef'ed pckgbuf for TPanConnectionList.
   334 **/
   335 typedef TPckgBuf<TPanConnectionList> TPanConnectionListPckg;
   336 
   337 
   338 /**
   339 @publishedAll
   340 @released
   341 
   342 The response from the incoming PAN NAP connection selection dialog.
   343 **/
   344 enum TNapConnectionResult
   345 	{
   346 	EDisallowNewNapConnection,
   347 	EAcceptNapConnectionAllowUplinkAccess,
   348 	EAcceptNapConnectionDisallowUplinkAccess,
   349 	};
   350 
   351 /**
   352 @publishedAll
   353 @released
   354 
   355 Typedef'ed pckgbuf to retrieve the response from the incoming PAN NAP connection 
   356 selection dialog via the notifier framework.
   357 **/
   358 typedef TPckgBuf<TNapConnectionResult> TNapConnectionResultPckg;		
   359 
   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