--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bluetooth/btstack/linkmgr/AcceptWatchdog.cpp Fri Jan 15 08:13:17 2010 +0200
@@ -0,0 +1,71 @@
+// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Implements the accept watchdog timer for baseband SAPs
+//
+//
+
+#include <bluetooth/logger.h>
+#include "AcceptWatchdog.h"
+#include "basebandsap.h"
+#include "btsockettimer.h"
+
+#ifdef __FLOG_ACTIVE
+_LIT8(KLogComponent, LOG_COMPONENT_HCI_WATCHDOG);
+#endif
+
+#ifdef _DEBUG
+PANICCATEGORY("HciWatch");
+#endif
+
+TAcceptWatchdog::TAcceptWatchdog(CBTBasebandSAP& aParent)
+: iParent(aParent), iActive(EFalse)
+ {
+ TCallBack cb(AcceptTimeout, this);
+ iIdleTimerEntry.Set(cb);
+ }
+
+void TAcceptWatchdog::Start()
+ {
+ BTSocketTimer::Queue(KAcceptWatchdogTimeout, iIdleTimerEntry);
+ // add entry to timer queue
+ iActive = ETrue;
+ }
+
+void TAcceptWatchdog::Cancel()
+ {
+ if (iActive)
+ {
+ BTSocketTimer::Remove(iIdleTimerEntry);
+ iActive = EFalse;
+ }
+ }
+
+/*static*/ TInt TAcceptWatchdog::AcceptTimeout(TAny* aTAcceptWatchdog)
+ {
+ TAcceptWatchdog* w = reinterpret_cast<TAcceptWatchdog*>(aTAcceptWatchdog);
+
+ ASSERT_DEBUG(w);
+ w->iActive = EFalse;
+ w->iParent.Timeout(EAccept);
+
+ return EFalse;
+ }
+
+
+#ifdef _DEBUG
+TAcceptWatchdog::~TAcceptWatchdog()
+ {
+ ASSERT_DEBUG(!iActive);
+ }
+#endif