1.1 --- a/epoc32/include/btextnotifiers.h Tue Nov 24 13:55:44 2009 +0000
1.2 +++ b/epoc32/include/btextnotifiers.h Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -1,1 +1,673 @@
1.4 -btextnotifiers.h
1.5 +// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
1.6 +// All rights reserved.
1.7 +// This component and the accompanying materials are made available
1.8 +// 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
1.9 +// which accompanies this distribution, and is available
1.10 +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.11 +//
1.12 +// Initial Contributors:
1.13 +// Nokia Corporation - initial contribution.
1.14 +//
1.15 +// Contributors:
1.16 +//
1.17 +// Description:
1.18 +//
1.19 +
1.20 +#ifndef BTEXTNOTIFIERS_H
1.21 +#define BTEXTNOTIFIERS_H
1.22 +
1.23 +#include <e32std.h>
1.24 +#include <bttypes.h>
1.25 +#include <btdevice.h>
1.26 +
1.27 +
1.28 +#define NOTIFIERS_SUPPORT_PASSKEY_MIN_LENGTH
1.29 +
1.30 +/**
1.31 +@file
1.32 +@publishedAll
1.33 +@released
1.34 +
1.35 +UID to invoke the device selection dialog via the notifier framework.
1.36 +**/
1.37 +const TUid KDeviceSelectionNotifierUid={0x100069D1};
1.38 +
1.39 +/**
1.40 +@publishedPartner
1.41 +@released
1.42 +
1.43 +UID of the PBAP authentication notifier
1.44 +*/
1.45 +const TUid KPbapAuthNotifierUid={0x10282B22};
1.46 +
1.47 +/**
1.48 +@publishedPartner
1.49 +@deprecated
1.50 +@see "bt_subscribe.h"
1.51 +
1.52 +UID to notify the UI that a bluetooth link is currently active.
1.53 +Now deprecated by the publish/subscribe mechanism.
1.54 +**/
1.55 +const TUid KUidBTBasebandNotification={0x1000A5FB};
1.56 +
1.57 +NONSHARABLE_CLASS(TBTDeviceSelectionParams)
1.58 +/**
1.59 +@publishedAll
1.60 +@released
1.61 +
1.62 +Class to allow parameters to be sent to the device selection dialog via the RNotifier API.
1.63 +**/
1.64 + {
1.65 +public:
1.66 + IMPORT_C TBTDeviceSelectionParams();
1.67 + IMPORT_C void SetUUID(const TUUID& aUUID);
1.68 + IMPORT_C void SetDeviceClass(TBTDeviceClass aClass);
1.69 + IMPORT_C const TUUID& UUID();
1.70 + IMPORT_C TBTDeviceClass DeviceClass();
1.71 + IMPORT_C TBool IsValidDeviceClass();
1.72 + IMPORT_C TBool IsValidUUID();
1.73 +private:
1.74 + TBTDeviceClass iDeviceClass; /*!< The device class */
1.75 + TUUID iSdpUuid; /*!< The sdp uuid */
1.76 + TBool iValidDeviceClass; /*!< ETrue if iDeviceClass has been set, EFalse if not */
1.77 + TBool iValidUuid; /*!< ETrue if iSdpUuid has be set, EFalse if not */
1.78 +
1.79 + // This data padding has been added to help prevent future binary compatibility breaks
1.80 + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
1.81 + TUint32 iPadding1;
1.82 + TUint32 iPadding2;
1.83 + };
1.84 +
1.85 +NONSHARABLE_CLASS(TBTDeviceResponseParams)
1.86 +/**
1.87 +@publishedAll
1.88 +@released
1.89 +
1.90 +Class to allow parameters to be received from the device selection dialog via the RNotifier API.
1.91 +**/
1.92 + {
1.93 +public:
1.94 + IMPORT_C TBTDeviceResponseParams();
1.95 + IMPORT_C void SetDeviceAddress(const TBTDevAddr& aBDAddr); ///< Set the address of the device
1.96 + IMPORT_C void SetDeviceName(const TDesC& aName); ///< Set the name of the device
1.97 + IMPORT_C void SetDeviceClass(TBTDeviceClass aClass);
1.98 + IMPORT_C const TBTDevAddr& BDAddr() const; ///< Returns the address of the device
1.99 + IMPORT_C const TDesC& DeviceName() const; ///< Returns the name of the device
1.100 + IMPORT_C TBTDeviceClass DeviceClass();
1.101 + IMPORT_C TBool IsValidBDAddr() const; ///< Has the address of the device been set?
1.102 + IMPORT_C TBool IsValidDeviceName() const; ///< Has the name of the device been set?
1.103 + IMPORT_C TBool IsValidDeviceClass();
1.104 +private:
1.105 + TBTDevAddr iBDAddr; /*!< The BT address of the remote device */
1.106 + TBuf<KMaxBluetoothNameLen> iDeviceName; /*!< The name given by the remote device */
1.107 + TBTDeviceClass iDeviceClass; /*!< The device class */
1.108 + TBool iValidBDAddr; /*!< ETrue if iBDAddr has been set, EFalse if not */
1.109 + TBool iValidDeviceName; /*!< ETrue if iDeviceName has been set, EFalse if not */
1.110 + TBool iValidDeviceClass; /*!< ETrue if iDeviceClass has been set, EFalse if not */
1.111 +
1.112 + // This data padding has been added to help prevent future binary compatibility breaks
1.113 + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
1.114 + TUint32 iPadding1;
1.115 + TUint32 iPadding2;
1.116 + };
1.117 +
1.118 +/**
1.119 +@publishedAll
1.120 +@released
1.121 +
1.122 +Typedef'ed pckgbuf to send paramaters to the device selection dialog via the notifier framework.
1.123 +**/
1.124 +typedef TPckgBuf<TBTDeviceSelectionParams> TBTDeviceSelectionParamsPckg;
1.125 +
1.126 +/**
1.127 +@publishedAll
1.128 +@released
1.129 +
1.130 +Typedef'ed pckgbuf to retrieve the response from the device selection dialog via the notifier framework.
1.131 +**/
1.132 +typedef TPckgBuf<TBTDeviceResponseParams> TBTDeviceResponseParamsPckg;
1.133 +
1.134 +/**
1.135 +@deprecated
1.136 +Use TBTDeviceList::MaxNumberOfDevices() instead. Note however that
1.137 +you should call this function each time you wish to use this value
1.138 +rather than storing a copy because the actual value is subject to
1.139 +change.
1.140 +*/
1.141 +const TUint KMaxPanDevicesForSimultaneousSelection = 8;
1.142 +
1.143 +NONSHARABLE_CLASS(TBTDeviceList)
1.144 +/**
1.145 +A list of TBTDevAddrs
1.146 +@note Used to pass a list of devices to which to connect.
1.147 +@publishedPartner
1.148 +@released
1.149 +*/
1.150 + {
1.151 +public:
1.152 + IMPORT_C TBTDeviceList();
1.153 +
1.154 + IMPORT_C TInt AddDevice(const TBTDevAddr& aDevAddr);
1.155 + IMPORT_C TInt GetDevice(TBTDevAddr& aDevAddr);
1.156 + IMPORT_C void Reset();
1.157 +
1.158 + IMPORT_C operator const TDesC8&();
1.159 + IMPORT_C operator TDes8&();
1.160 +
1.161 + IMPORT_C TUint MaxNumberOfDevices();
1.162 +
1.163 +private:
1.164 + const static TUint KMaxDevicesForSimultaneousSelection = 8;
1.165 +
1.166 +private:
1.167 + TInt iPosition; // the position within the list for stateful reading
1.168 + TFixedArray<TBTDevAddr, KMaxDevicesForSimultaneousSelection> iDevices;
1.169 + TPckg<TFixedArray<TBTDevAddr, KMaxDevicesForSimultaneousSelection> > iPtr;
1.170 +
1.171 + const TBTDevAddr iKNullDevAddr;
1.172 +
1.173 + // This data padding has been added to help prevent future binary compatibility breaks
1.174 + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
1.175 + TUint32 iPadding1;
1.176 + TUint32 iPadding2;
1.177 + };
1.178 +
1.179 +
1.180 +/** Maximum length of the Realm text buffer. */
1.181 +const TUint KPbapAuthRealmLength = 256;
1.182 +
1.183 +/** Maximum length of the password text buffer. */
1.184 +const TUint KPbapAuthPasswordLength = 64;
1.185 +
1.186 +NONSHARABLE_CLASS(TPbapAuthNotifierParams)
1.187 +/**
1.188 +Parameters passed to the PBAP authentication notifier plugin
1.189 +@publishedPartner
1.190 +@released
1.191 +*/
1.192 + {
1.193 +public:
1.194 + IMPORT_C TPbapAuthNotifierParams();
1.195 +
1.196 + IMPORT_C void SetRealm(const TDesC& aRealm);
1.197 + IMPORT_C void SetRemoteAddr(const TBTDevAddr& aBDAddr);
1.198 +
1.199 + IMPORT_C const TDesC& Realm() const;
1.200 + IMPORT_C TBool RealmTruncated() const;
1.201 + IMPORT_C const TBTDevAddr& RemoteAddr() const;
1.202 +
1.203 + IMPORT_C TBool IsValidRealm() const;
1.204 + IMPORT_C TBool IsValidRemoteAddr() const;
1.205 +
1.206 +private:
1.207 + TBuf<KPbapAuthRealmLength> iRealm; /*!< The Realm specified by the device requesting authentication. */
1.208 + TBool iRealmTruncated; /*!< Set to ETrue if iRealm has been truncated */
1.209 + TBTDevAddr iRemoteAddr; /*!< The Bluetooth device address of the device requesting authentication. */
1.210 +
1.211 + TBool iValidRealm; /*!< ETrue if iRealm has been set, EFalse if not */
1.212 + TBool iValidRemoteAddr; /*!< ETrue if iRemoteAddr has been set, EFalse if not */
1.213 +
1.214 + // This data padding has been added to help prevent future binary compatibility breaks
1.215 + // iPadding has not been zero'd because they are currently not used
1.216 + TUint32 iPadding;
1.217 + };
1.218 +
1.219 +/**
1.220 +Packaged version of <code>TPbapAuthNotifierParams</code> that allows data transfer over process boundaries.
1.221 +@publishedPartner
1.222 +@released
1.223 +*/
1.224 +typedef TPckgBuf<TPbapAuthNotifierParams> TPbapAuthNotifierParamsPckg;
1.225 +
1.226 +NONSHARABLE_CLASS(TPbapAuthNotifierResponse)
1.227 +/**
1.228 +Response data from the PBAP authentication notifier plugin
1.229 +@publishedPartner
1.230 +@released
1.231 +*/
1.232 + {
1.233 +public:
1.234 + IMPORT_C TPbapAuthNotifierResponse();
1.235 +
1.236 + IMPORT_C TBool SetPassword(const TDesC& aPassword);
1.237 + IMPORT_C void ResetPassword();
1.238 +
1.239 + IMPORT_C const TDesC& Password() const;
1.240 +
1.241 + IMPORT_C TBool IsValidPassword() const;
1.242 +
1.243 +private:
1.244 + /** The password used to create the challenge response. */
1.245 + TBuf<KPbapAuthPasswordLength> iPassword;
1.246 +
1.247 + TBool iValidPassword; /*!< ETrue if iPassword has been set, EFalse if not */
1.248 +
1.249 + // This data padding has been added to help prevent future binary compatibility breaks
1.250 + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
1.251 + TUint32 iPadding1;
1.252 + TUint32 iPadding2;
1.253 + };
1.254 +
1.255 +/**
1.256 +Packaged version of <code>TPbapAuthNotifierResponse</code> that allows data transfer over process boundaries.
1.257 +@publishedPartner
1.258 +@released
1.259 +*/
1.260 +typedef TPckgBuf<TPbapAuthNotifierResponse> TPbapAuthNotifierResponsePckg;
1.261 +
1.262 +
1.263 +/**
1.264 +A remote device address, and a boolean indicating if the remote device has access
1.265 +to the uplink
1.266 +@publishedPartner
1.267 +@released
1.268 +*/
1.269 +NONSHARABLE_CLASS(TPanConnection)
1.270 + {
1.271 +public:
1.272 + IMPORT_C TPanConnection(TBTDevAddr& aRemoteDeviceAddress,
1.273 + TBool aUplinkAccessAllowed);
1.274 +
1.275 + IMPORT_C const TBTDevAddr& RemoteDeviceAddress() const;
1.276 + IMPORT_C TBool UplinkAccessAllowed() const;
1.277 + IMPORT_C TBool IsValid() const;
1.278 +
1.279 + // Non-exported constructor. Allows creation of default NULL instance
1.280 + TPanConnection();
1.281 +
1.282 +private:
1.283 + TBTDevAddr iRemoteDeviceAddress;
1.284 + TBool iUplinkAccessAllowed;
1.285 +
1.286 + // This data padding has been added to help prevent future binary compatibility breaks
1.287 + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
1.288 + TUint32 iPadding1;
1.289 + TUint32 iPadding2;
1.290 + };
1.291 +
1.292 +
1.293 +/**
1.294 +A list of TPanConnection instances
1.295 +@see TPanConnection
1.296 +@publishedPartner
1.297 +@released
1.298 +*/
1.299 +NONSHARABLE_CLASS(TPanConnectionList)
1.300 + {
1.301 +public:
1.302 + IMPORT_C TPanConnectionList();
1.303 +
1.304 + IMPORT_C void AddRemoteConnectionL(const TPanConnection& aRemoteConnection);
1.305 + IMPORT_C const TPanConnection* GetFirstRemoteConnection();
1.306 + IMPORT_C const TPanConnection* GetNextRemoteConnection();
1.307 +
1.308 + IMPORT_C void SetRequestedConnectionAddr(const TBTDevAddr& aRequestedConnectionAddr);
1.309 + IMPORT_C const TBTDevAddr* RequestedConnectionAddr();
1.310 +
1.311 + IMPORT_C const TUUID& CurrentLocalRole() const;
1.312 + IMPORT_C void SetCurrentLocalRole(const TUUID& aLocalRole);
1.313 +
1.314 + IMPORT_C TUint8 MaxNumberOfRemoteConnections();
1.315 +
1.316 +private:
1.317 + const static TUint8 KMaxRemoteConnections = 7;
1.318 +
1.319 +private:
1.320 + TUint8 iPosition; // the position within the list for stateful reading
1.321 + TFixedArray<TPanConnection, KMaxRemoteConnections> iRemoteConnections;
1.322 +
1.323 + TBTDevAddr iRequestedConnectionAddr;
1.324 +
1.325 + TUUID iCurrentLocalRole;
1.326 +
1.327 + // This data padding has been added to help prevent future binary compatibility breaks
1.328 + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
1.329 + TUint32 iPadding1;
1.330 + TUint32 iPadding2;
1.331 + };
1.332 +
1.333 +/**
1.334 +@publishedAll
1.335 +@released
1.336 +
1.337 +Typedef'ed pckgbuf for TPanConnectionList.
1.338 +**/
1.339 +typedef TPckgBuf<TPanConnectionList> TPanConnectionListPckg;
1.340 +
1.341 +
1.342 +/**
1.343 +@publishedAll
1.344 +@released
1.345 +
1.346 +The response from the incoming PAN NAP connection selection dialog.
1.347 +**/
1.348 +enum TNapConnectionResult
1.349 + {
1.350 + EDisallowNewNapConnection,
1.351 + EAcceptNapConnectionAllowUplinkAccess,
1.352 + EAcceptNapConnectionDisallowUplinkAccess,
1.353 + };
1.354 +
1.355 +/**
1.356 +@publishedAll
1.357 +@released
1.358 +
1.359 +Typedef'ed pckgbuf to retrieve the response from the incoming PAN NAP connection
1.360 +selection dialog via the notifier framework.
1.361 +**/
1.362 +typedef TPckgBuf<TNapConnectionResult> TNapConnectionResultPckg;
1.363 +
1.364 +
1.365 +
1.366 +
1.367 +//
1.368 +// Standard Bluetooth Authentication Notifiers
1.369 +//
1.370 +
1.371 +
1.372 +/**
1.373 +UID of the "Numeric Comparison" confirmation request RNotifier plugin.
1.374 +
1.375 +The notifier will be started with a parameter of type TBTNumericComparisonParamsPckg.
1.376 +
1.377 +The notifier will receive updates of type TBTNotifierUpdateParamsPckg2.
1.378 +
1.379 +@see TBTNotifierUpdateParamsPckg2
1.380 +
1.381 +@publishedPartner
1.382 +@released
1.383 +*/
1.384 +const TUid KBTNumericComparisonNotifierUid={0x10285AD5};
1.385 +
1.386 +/**
1.387 +UID of the "Passkey Entry" display RNotifier plugin.
1.388 +
1.389 +The notifier will be started with a parameter of type TBTPasskeyDisplayParamsPckg.
1.390 +
1.391 +The notifier will receive updates of type TBTNotifierUpdateParamsPckg2.
1.392 +
1.393 +@see TBTNotifierUpdateParamsPckg2
1.394 +
1.395 +@publishedPartner
1.396 +@released
1.397 +*/
1.398 +const TUid KBTPasskeyDisplayNotifierUid={0x10285AD4};
1.399 +
1.400 +/**
1.401 +UID of the "PIN Code Entry" RNotifier plugin.
1.402 +
1.403 +Note that this is an SSP aware notifier taking the new parameter type. This is
1.404 +intended to replace the deprecated KBTManPinNotifierUid RNotifier plugin.
1.405 +@see KBTManPinNotifierUid
1.406 +
1.407 +The notifier will be started with a parameter of type TBTPinCodeEntryNotifierParamsPckg.
1.408 +
1.409 +The notifier will receive updates of type TBTNotifierUpdateParamsPckg2.
1.410 +
1.411 +@see TBTNotifierUpdateParamsPckg2
1.412 +
1.413 +@publishedPartner
1.414 +@released
1.415 +*/
1.416 +const TUid KBTPinCodeEntryNotifierUid={0x10285D55};
1.417 +
1.418 +
1.419 +/**
1.420 +The base parameter for the secure simple pairing notifiers.
1.421 +
1.422 +@publishedPartner
1.423 +@released
1.424 +*/
1.425 +NONSHARABLE_CLASS(TBTNotifierParams2)
1.426 + {
1.427 +public:
1.428 + IMPORT_C TBTDevAddr DeviceAddress() const;
1.429 + IMPORT_C TPtrC DeviceName() const;
1.430 +
1.431 +protected:
1.432 + TBTNotifierParams2(const TBTDevAddr& aDevAddr, const TDesC& aDeviceName);
1.433 + TBTNotifierParams2();
1.434 +
1.435 +private:
1.436 + TBTDevAddr iBDAddr;
1.437 + TBTDeviceName iName;
1.438 +
1.439 + // This data padding has been added to help prevent future binary compatibility breaks
1.440 + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
1.441 + TUint32 iPadding1;
1.442 + TUint32 iPadding2;
1.443 + };
1.444 +
1.445 +
1.446 +/**
1.447 +Secure simple pairing "Numeric Comparison" parameters.
1.448 +This class packages the parameters passed to a numeric comparison notifier.
1.449 +
1.450 +@publishedPartner
1.451 +@released
1.452 +*/
1.453 +NONSHARABLE_CLASS(TBTNumericComparisonParams)
1.454 + : public TBTNotifierParams2
1.455 + {
1.456 +public:
1.457 + /**
1.458 + This represents the type of comparison that is being performed.
1.459 + It is intended to allow the UI to present the user of the device
1.460 + with suitable information to help them complete the pairing.
1.461 + */
1.462 + enum TComparisonScenario
1.463 + {
1.464 + ERemoteCannotConfirm, /*!< Only the Symbian device can confirm the displayed numbers are the same. */
1.465 + ERemoteCanConfirm, /*!< Both devices can confirm that the displayed numbers are the same */
1.466 + };
1.467 +
1.468 +public:
1.469 + IMPORT_C TBTNumericComparisonParams(const TBTDevAddr& aDevAddr, const TDesC& aDeviceName, TUint32 aNumericalValue, TComparisonScenario aComparisonScenario, TBool aLocallyInitiated);
1.470 + IMPORT_C TBTNumericComparisonParams();
1.471 +
1.472 +public:
1.473 + IMPORT_C TUint32 NumericalValue() const;
1.474 + IMPORT_C TComparisonScenario ComparisonScenario() const;
1.475 + IMPORT_C TBool LocallyInitiated() const;
1.476 +
1.477 +private:
1.478 + TUint32 iNumericalValue;
1.479 + TComparisonScenario iComparisonScenario;
1.480 + TBool iLocallyInitiated;
1.481 +
1.482 + // This data padding has been added to help prevent future binary compatibility breaks
1.483 + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
1.484 + TUint32 iPadding1;
1.485 + TUint32 iPadding2;
1.486 + };
1.487 +
1.488 +
1.489 +/**
1.490 +Secure simple pairing "Passkey Entry" display parameters.
1.491 +This class packages the parameters passed to a passkey display notifier.
1.492 +
1.493 +@publishedPartner
1.494 +@released
1.495 +*/
1.496 +NONSHARABLE_CLASS(TBTPasskeyDisplayParams)
1.497 + : public TBTNotifierParams2
1.498 + {
1.499 +public:
1.500 + IMPORT_C TBTPasskeyDisplayParams(const TBTDevAddr& aDevAddr, const TDesC& aDeviceName, TUint32 aNumericalValue, TBool aLocallyInitiated);
1.501 + IMPORT_C TBTPasskeyDisplayParams();
1.502 +
1.503 +public:
1.504 + IMPORT_C TUint32 NumericalValue() const;
1.505 + IMPORT_C TBool LocallyInitiated() const;
1.506 +
1.507 +private:
1.508 + TUint32 iNumericalValue;
1.509 + TBool iLocallyInitiated;
1.510 +
1.511 + // This data padding has been added to help prevent future binary compatibility breaks
1.512 + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
1.513 + TUint32 iPadding1;
1.514 + TUint32 iPadding2;
1.515 + };
1.516 +
1.517 +/**
1.518 +Simple secure pairing aware "PIN Code Entry" request parameters.
1.519 +This class packages the parameters passed to a PIN code entry notifier.
1.520 +
1.521 +@publishedPartner
1.522 +@released
1.523 +*/
1.524 +NONSHARABLE_CLASS(TBTPinCodeEntryNotifierParams)
1.525 + : public TBTNotifierParams2
1.526 + {
1.527 +public:
1.528 + IMPORT_C TBTPinCodeEntryNotifierParams(const TBTDevAddr& aDevAddr, const TDesC& aDeviceName, TUint aPinCodeMinLength, TBool aLocallyInitiated, TBool aStrongPinCodeRequired, TUint aRecommendedPinCodeMinLength);
1.529 + IMPORT_C TBTPinCodeEntryNotifierParams();
1.530 +
1.531 +public:
1.532 + IMPORT_C TUint PinCodeMinLength() const;
1.533 + IMPORT_C TBool LocallyInitiated() const;
1.534 + IMPORT_C TBool StrongPinCodeRequired() const;
1.535 + IMPORT_C TUint RecommendedPinCodeMinLength() const;
1.536 +
1.537 +private:
1.538 + TUint iPinCodeMinLength;
1.539 + TBool iLocallyInitiated;
1.540 + TBool iStrongPinCodeRequired;
1.541 + //TUint32 used here as this space was once a padding field.
1.542 + TUint32 iRecommendedPinCodeMinLength;
1.543 +
1.544 + // This data padding has been added to help prevent future binary compatibility breaks
1.545 + // iPadding1 has not been zero'd because it is currently not used
1.546 + TUint32 iPadding1;
1.547 + };
1.548 +
1.549 +
1.550 +/**
1.551 +The base update parameter for the Bluetooth pairing notifiers.
1.552 +This class is intended to allow multiple different updates parameters to be
1.553 +passed to the Bluetooth notifiers.
1.554 +
1.555 +@publishedPartner
1.556 +@released
1.557 +*/
1.558 +NONSHARABLE_CLASS(TBTNotifierUpdateParams2)
1.559 + {
1.560 +public:
1.561 + enum TUpdateParamType
1.562 + {
1.563 + EDeviceName,
1.564 + EPasskeyDisplay,
1.565 + };
1.566 +
1.567 +public:
1.568 + IMPORT_C TBTNotifierUpdateParams2();
1.569 + IMPORT_C TUpdateParamType Type() const;
1.570 +
1.571 +protected:
1.572 + TBTNotifierUpdateParams2(TBTNotifierUpdateParams2::TUpdateParamType aType);
1.573 +
1.574 +private:
1.575 + TUpdateParamType iType;
1.576 +
1.577 + // This data padding has been added to help prevent future binary compatibility breaks
1.578 + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
1.579 + TUint32 iPadding1;
1.580 + TUint32 iPadding2;
1.581 + };
1.582 +
1.583 +
1.584 +/**
1.585 +Bluetooth device name update parameter.
1.586 +This class provides the parameters to indicate an update to the name of
1.587 +the Bluetooth device for which the notifier is waiting for input.
1.588 +
1.589 +@publishedPartner
1.590 +@released
1.591 +*/
1.592 +NONSHARABLE_CLASS(TBTDeviceNameUpdateParams)
1.593 + : public TBTNotifierUpdateParams2
1.594 + {
1.595 +public:
1.596 + IMPORT_C TBTDeviceNameUpdateParams(const TDesC& aDeviceName, TInt aResult);
1.597 + IMPORT_C TBTDeviceNameUpdateParams();
1.598 +
1.599 +public:
1.600 + IMPORT_C TPtrC DeviceName() const;
1.601 + IMPORT_C TInt Result() const;
1.602 +
1.603 +private:
1.604 + TBTDeviceName iDeviceName;
1.605 + TInt iResult;
1.606 +
1.607 + // This data padding has been added to help prevent future binary compatibility breaks
1.608 + // Neither iPadding1 nor iPadding2 have been zero'd because they are currently not used
1.609 + TUint32 iPadding1;
1.610 + TUint32 iPadding2;
1.611 + };
1.612 +
1.613 +/**
1.614 +Secure simple pairing "Passkey Entry" display update parameters.
1.615 +This class provides the update parameters associated with a passkey entry
1.616 +display notifier. Notably it provides the notification of keypresses from
1.617 +the remote device.
1.618 +
1.619 +@publishedPartner
1.620 +@released
1.621 +*/
1.622 +NONSHARABLE_CLASS(TBTPasskeyDisplayUpdateParams)
1.623 + : public TBTNotifierUpdateParams2
1.624 + {
1.625 +public:
1.626 + IMPORT_C TBTPasskeyDisplayUpdateParams(THCIPasskeyEntryNotificationType aNotificationType);
1.627 + IMPORT_C TBTPasskeyDisplayUpdateParams();
1.628 +
1.629 +public:
1.630 + IMPORT_C THCIPasskeyEntryNotificationType KeypressNotification() const;
1.631 +
1.632 +private:
1.633 + THCIPasskeyEntryNotificationType iNotificationType;
1.634 +
1.635 + TUint32 iPadding1;
1.636 + TUint32 iPadding2;
1.637 + };
1.638 +
1.639 +/**
1.640 +Typedef'ed pckgbuf to send numeric comparison parameters to the notifier framework.
1.641 +@publishedPartner
1.642 +@released
1.643 +*/
1.644 +typedef TPckgBuf<TBTNumericComparisonParams> TBTNumericComparisonParamsPckg;
1.645 +/**
1.646 +Typedef'ed pckgbuf to send passkey entry display parameters to the notifier framework.
1.647 +@publishedPartner
1.648 +@released
1.649 +*/
1.650 +typedef TPckgBuf<TBTPasskeyDisplayParams> TBTPasskeyDisplayParamsPckg;
1.651 +/**
1.652 +Typedef'ed pckgbuf to send PIN code entry parameters to the notifier framework.
1.653 +@publishedPartner
1.654 +@released
1.655 +*/
1.656 +typedef TPckgBuf<TBTPinCodeEntryNotifierParams> TBTPinCodeEntryNotifierParamsPckg;
1.657 +
1.658 +/**
1.659 +Typedef'ed pckgbuf to represent the base class of Bluetooth update parameters.
1.660 +@publishedPartner
1.661 +@released
1.662 +*/
1.663 +typedef TPckgBuf<TBTNotifierUpdateParams2> TBTNotifierUpdateParamsPckg2;
1.664 +/**
1.665 +Typedef'ed pckgbuf to send device name update parameters to the notifier framework.
1.666 +@publishedPartner
1.667 +@released
1.668 +*/
1.669 +typedef TPckgBuf<TBTDeviceNameUpdateParams> TBTDeviceNameUpdateParamsPckg;
1.670 +/**
1.671 +Typedef'ed pckgbuf to send passkey entry display update parameters to the notifier framework.
1.672 +@publishedPartner
1.673 +@released
1.674 +*/
1.675 +typedef TPckgBuf<TBTPasskeyDisplayUpdateParams> TBTPasskeyDisplayUpdateParamsPckg;
1.676 +
1.677 +#endif // BTEXTNOTIFIERS_H