bluetooth/btstack/l2cap/l2capSAPSignalHandler.h
branchRCL_3
changeset 23 32ba20339036
parent 0 29b1cd4cb562
child 45 99439b07e980
--- a/bluetooth/btstack/l2cap/l2capSAPSignalHandler.h	Tue May 11 17:15:36 2010 +0300
+++ b/bluetooth/btstack/l2cap/l2capSAPSignalHandler.h	Tue May 25 13:54:55 2010 +0300
@@ -128,6 +128,7 @@
 	static TInt TimerExpired(TAny* aSAPSignalHandler);
 
 	void StartConfigurationTimer();
+	void StartConfigRequestDelayTimer();
 	void CancelTimer();
 
 	void DetachFromMux();
@@ -136,14 +137,16 @@
 	TInt SendEchoRequest(const TDes8* aData);
 	void EchoResponseReceived(const TDesC8* aData);
 
+	inline void ConfigureChannel();
+
 	void OverrideParkMode();
 	void UndoOverrideParkMode();
 	void OverrideLPMWithTimeout();
+
 	inline TInt SignalHandlerErrorCode() const;
 	inline MSocketNotify::TOperationBitmasks SignalHandlerErrorAction() const;
 	inline void SetSignalHandlerErrorCode(TInt aError);
 	inline void SetSignalHandlerErrorAction(MSocketNotify::TOperationBitmasks aAction);
-
 private:
 	CL2CapSAPSignalHandler(CL2CAPConnectionSAP& aSAP);
 	void ConstructL();
@@ -187,9 +190,14 @@
 	// OpenChannelRequest, so OpenChannelRequest is delayed until Information Response comes
 	// through.
 	TBool iOpenChannelRequestAwaitingPeerEntityConfig;
-	// The SAP is ready to send a config request
-	// Flag to indicate that we are delaying sending this config request
-	TBool iAwaitingConfigRequestDelayTimer;
+	// A ConfigureChannelRequest from the SAP is only expected in an active open scenario.
+	// On passive open we kick the configuration ourselves.
+	TBool iAwaitConfigureChannelRequest;
+
+	friend class TL2CAPSigStateClosed;
+	friend class TL2CAPSigStateWaitConnectRsp;
+	friend class TL2CAPSigStateWaitConnect;
+	friend class TL2CAPSigStateConfigBase;
 	};
 
 inline TUint8 CL2CapSAPSignalHandler::GetOutstandingRequestID()
@@ -230,7 +238,7 @@
 	{
 	return iRemotePort;
 	}
-	
+
 inline const TBTDevAddr& CL2CapSAPSignalHandler::RemoteBTAddress() const
 	{
 	return iSAP->RemoteDev();
@@ -280,5 +288,10 @@
 	{
 	iSignalHandlerErrorAction = aAction;
 	}
-	
+
+inline void CL2CapSAPSignalHandler::ConfigureChannel()
+	{
+	iSigState->ConfigureChannel(*this);
+	}
+
 #endif