wlan_bearer/wlanldd/wlan_common/umac_common/inc/umaceventdispatcher.inl
changeset 0 c40eb8fe8501
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_bearer/wlanldd/wlan_common/umac_common/inc/umaceventdispatcher.inl	Tue Feb 02 02:03:13 2010 +0200
@@ -0,0 +1,132 @@
+/*
+* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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:   Event dispatcher that is used to serialize MAC prototocl
+*                statemachine access
+*
+*/
+
+/*
+* %version: 10 %
+*/
+
+#include "umacinternaldefinitions.h"
+
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+inline WlanEventDispatcher::~WlanEventDispatcher() 
+    {
+    iOid = NULL;
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+inline WlanEventDispatcher::TCommandResp::TCommandResp() :
+    iId( static_cast<WHA::TCompleteCommandId>( 0 ) ),
+    iStatus( static_cast<WHA::TStatus>( 0 ) )
+    {
+    os_memset( &iParams, 0, sizeof(iParams) );
+    }
+    
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void WlanEventDispatcher::Enable( 
+    TChannel aChannelMask )
+    {
+    OsTracePrint( KEventDispatcher, (TUint8*)
+        ("UMAC * eventdispatcher * enable events") );
+
+    iDisableChannelMask &= ~aChannelMask;
+
+    OsTracePrint( KEventDispatcher, 
+        (TUint8*)("current mask: 0x%02x"),  iDisableChannelMask );
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void WlanEventDispatcher::Disable( 
+    TChannel aChannelMask )
+    {
+    OsTracePrint( KEventDispatcher, (TUint8*)
+        ("UMAC * eventdispatcher * disable events") );
+
+    iDisableChannelMask |= aChannelMask;
+
+    OsTracePrint( KEventDispatcher, 
+        (TUint8*)("current mask: 0x%02x"),  iDisableChannelMask );
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void WlanEventDispatcher::Register( const TOIDHeader& aOid )
+    {
+    OsTracePrint( KEventDispatcher, (TUint8*)
+        ("UMAC * eventdispatcher * register OID") );
+    OsTracePrint( KEventDispatcher, (TUint8*)("OID id: 0x%08x"), aOid.oid_id );
+
+    if ( iOid )
+        {
+        // programming error
+        OsAssert( (TUint8*)("UMAC * panic"), (TUint8*)(WLAN_FILE), __LINE__ );
+        }
+
+    iOid = &aOid;
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void WlanEventDispatcher::Register( TInternalEvent aInternalEvent )
+    {
+    OsTracePrint( KEventDispatcher, (TUint8*)
+        ("UMAC: WlanEventDispatcher::Register(): register internal event: %d"),
+        aInternalEvent );
+    iInternalEvents |= aInternalEvent;
+    
+    OsTracePrint( KEventDispatcher, (TUint8*)
+        ("UMAC: WlanEventDispatcher::Register(): iInternalEvents: %d"),
+        iInternalEvents );    
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+TBool WlanEventDispatcher::ChannelEnabled( 
+    TChannel aChannel ) const 
+    {
+    return !(iDisableChannelMask & aChannel);
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+inline TBool WlanEventDispatcher::CommandCompletionRegistered( 
+    WHA::TCompleteCommandId aCommandId ) const
+    {
+    return ( iCommandCompletionRegistered && 
+             aCommandId == iWhaCommandCompletionParams.iId );
+    }