bluetooth/btstack/linkmgr/physicallinks.h
changeset 17 907b2fb7aa8e
parent 3 4e39398d58ed
child 19 4b81101308c6
equal deleted inserted replaced
16:0089b2f7ebd8 17:907b2fb7aa8e
   442 	CBTPasskeyEntry* InstancePasskeyEntry() const;
   442 	CBTPasskeyEntry* InstancePasskeyEntry() const;
   443 	TBool IsPasskeyEntryActive()const;
   443 	TBool IsPasskeyEntryActive()const;
   444 	void DeletePasskeyEntry();
   444 	void DeletePasskeyEntry();
   445 	void CancelPasskeyEntry();
   445 	void CancelPasskeyEntry();
   446 	void PasskeyEntryKeyPressed(THCIPasskeyEntryNotificationType aKey);
   446 	void PasskeyEntryKeyPressed(THCIPasskeyEntryNotificationType aKey);
       
   447 
       
   448 	void NewUserConfirmerL(const TBTDevAddr aAddr,CBTSecMan& aSecMan,TBool aInternallyInitiated);
       
   449 
       
   450 	CBTUserConfirmer* InstanceUserConfirmer() const;
       
   451 	TBool IsUserConfirmerActive()const;
       
   452 	void DeleteUserConfirmer();
       
   453 	void CancelUserConfirmer();
       
   454 
       
   455 	
   447 	TBasebandTime GetSniffInterval() const;
   456 	TBasebandTime GetSniffInterval() const;
   448 	
   457 	
   449 	TBool IsPairable() const;
   458 	TBool IsPairable() const;
   450 
   459 
       
   460 	TBool IsPairingExpected() const;
       
   461 	
   451 private:
   462 private:
   452 	CPhysicalLink(CPhysicalLinksManager& aParent, CRegistrySession& aRegSess, const TBTNamelessDevice& aDevice);
   463 	CPhysicalLink(CPhysicalLinksManager& aParent, CRegistrySession& aRegSess, const TBTNamelessDevice& aDevice);
   453 	void ConstructL();
   464 	void ConstructL();
   454 	void GetRemoteDetailsL(const TBTConnect& aConn);
   465 	void GetRemoteDetailsL(const TBTConnect& aConn);
   455 	void DoUpdateNameL(const TBTDeviceName8& aName);
   466 	void DoUpdateNameL(const TBTDeviceName8& aName);
   484 	void HandlePrefetch();
   495 	void HandlePrefetch();
   485 	void PINCodeRequestReply(const TBTDevAddr& aDevAddr,const TDesC8& aPin);
   496 	void PINCodeRequestReply(const TBTDevAddr& aDevAddr,const TDesC8& aPin);
   486 	void PINCodeRequestNegativeReply(const TBTDevAddr& aDevAddr);
   497 	void PINCodeRequestNegativeReply(const TBTDevAddr& aDevAddr);
   487 	
   498 	
   488 	inline TBool IsAuthenticationPending() const;
   499 	inline TBool IsAuthenticationPending() const;
       
   500 	
       
   501 	void LinkKeyRequestResponseAttempt(TBool aForceResponse = EFalse);
       
   502 	void DoLinkKeyResponse(TBool aPositive);
       
   503 
       
   504 	void RemoteSimplePairingModeDetermined(TPhysicalLinkSimplePairingMode aSimplePairingMode);
       
   505 	void SetPeerInSecurityMode3();
   489 
   506 
   490 private: // from MPINCodeResponseHandler
   507 private: // from MPINCodeResponseHandler
   491 	TInt PINCodeRequestReply(const TBTDevAddr& aDevAddr,const TDesC8& aPin) const;
   508 	TInt PINCodeRequestReply(const TBTDevAddr& aDevAddr,const TDesC8& aPin) const;
   492 	TInt PINCodeRequestNegativeReply(const TBTDevAddr& aDevAddr) const;
   509 	TInt PINCodeRequestNegativeReply(const TBTDevAddr& aDevAddr) const;
   493 
   510 
   511 	
   528 	
   512 	// the PHY's UI handlers
   529 	// the PHY's UI handlers
   513 	CBTPinRequester*						iPinRequester;	// looks after PIN entry UI/state
   530 	CBTPinRequester*						iPinRequester;	// looks after PIN entry UI/state
   514 	CBTNumericComparator*					iNumericComparator; // looks after the numeric comparison UI/state
   531 	CBTNumericComparator*					iNumericComparator; // looks after the numeric comparison UI/state
   515 	CBTPasskeyEntry*						iPasskeyEntry; // looks after the passkey entry UI/state
   532 	CBTPasskeyEntry*						iPasskeyEntry; // looks after the passkey entry UI/state
       
   533 	CBTUserConfirmer*					iUserConfirmer; // looks after the user confirmation UI/state
   516 	
   534 	
   517 	CEncryptionEnforcer*					iEncryptionEnforcer;
   535 	CEncryptionEnforcer*					iEncryptionEnforcer;
   518 	
   536 	
   519 	// the PHY's supported logical links...
   537 	// the PHY's supported logical links...
   520 	RPointerArray<CACLLink>					iACLLogicalLinks;
   538 	RPointerArray<CACLLink>					iACLLogicalLinks;
   521 	CBTSynchronousLink*						iSyncLogicalLink; // stack only supports a signal one per PHY
   539 	CBTSynchronousLink*						iSyncLogicalLink; // stack only supports a signal one per PHY
   522 	
   540 
   523 
   541 	TBool						iLinkKeyRequestOutstanding;	// for if we have to wait for Registry or SSP support status
   524 	MPINCodeResponseHandler*	iPinHandler;
   542 
       
   543 	MPINCodeResponseHandler*	iPinHandler;		// for forwarding responses to
       
   544 
   525 	TBTConnect 					iLastPendingConnection;		// for if we have to wait for Registry to decide whether to rject or accept a connection
   545 	TBTConnect 					iLastPendingConnection;		// for if we have to wait for Registry to decide whether to rject or accept a connection
   526 	TBool						iPendingConnection;  // is a connection request waiting for a reply
   546 	TBool						iPendingConnection;  // is a connection request waiting for a reply
   527 	TSglQue<CBTProxySAP>		iProxySAPs;			// the proxies bound to us
   547 	TSglQue<CBTProxySAP>		iProxySAPs;			// the proxies bound to us
   528 	TDeltaTimerEntry			iIdleTimerEntry;
   548 	TDeltaTimerEntry			iIdleTimerEntry;
   529 	TBool						iIdleTimerQueued;
   549 	TBool						iIdleTimerQueued;
   569 	TInt						iIdleTimeout;
   589 	TInt						iIdleTimeout;
   570 
   590 
   571 	TBool						iNewPinCodeValid;
   591 	TBool						iNewPinCodeValid;
   572 	TBTPinCode					iNewPinCode;
   592 	TBTPinCode					iNewPinCode;
   573 
   593 
   574 	TBool						iWaitingForLinkKeyFromRegistry;
   594 	TBool						iLinkKeyReturnedInThisAuthentication;
   575 
   595 	TBool						iLinkKeyObtainedThroughDedicatedBonding;
   576 private:
   596 private:
   577 	/**
   597 	/**
   578 	Enumeration to represent the current state of the physical links storage in the registry,
   598 	Enumeration to represent the current state of the physical links storage in the registry,
   579 	this is to cover the asynchronous properties of actions to the registry.
   599 	this is to cover the asynchronous properties of actions to the registry.
   580 	*/
   600 	*/