systemswstubs/examplecommonisc/IscDriver/src/IscChannelContainer.cpp
changeset 39 65e91466a14b
parent 31 931072794a66
child 40 b7e5ed8c1342
--- a/systemswstubs/examplecommonisc/IscDriver/src/IscChannelContainer.cpp	Tue Jul 06 14:03:31 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,279 +0,0 @@
-/*
-* Copyright (c) 2005 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:  An example implementation for ISC Driver Reference
-*
-*/
-
-
-
-// INCLUDE FILES
-
-#include <kernel.h>
-#include <IscDefinitions.h>
-#include "IscChannel.h"
-#include "IscChannelContainer.h"
-#include "IscTrace.h"
-
-#ifdef __WINS__
-#include <windows.h>
-#endif
-
-// EXTERNAL DATA STRUCTURES
-
-// EXTERNAL FUNCTION PROTOTYPES  
-
-// CONSTANTS
-const TInt KChannelComplitionDfcPriority( 2 );
-
-// MACROS
-
-// LOCAL CONSTANTS AND MACROS
-DIscChannel* IscChannelContainer::iIscChannels[KIscNumberOfUnits][KIscMaxNumberOfChannelSharers];
-TDfc* IscChannelContainer::iDfc = NULL;
-
-// MODULE DATA STRUCTURES
-
-// LOCAL FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-#ifdef __WINS__
-CRITICAL_SECTION g_IscCriticalSection;
-#endif
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// IscChannelContainer::SetChannel
-// Set pointer to channel
-// ( other items were commented in a header ).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt IscChannelContainer::SetChannel( 
-    DIscChannel* aChannel,
-    const TUint16 aUnit )
-    {
-    C_TRACE( ( _T( "IscChannelContainer::SetChannel(0x%x, 0x%x)" ), aChannel, aUnit ) );
-    TInt error( KErrNoMemory );
-
-    //check values
-    if ( aUnit < KIscNumberOfUnits )
-        {
-        for ( TInt i( 0 ); i < KIscMaxNumberOfChannelSharers; i++ )
-            {
-            if ( !iIscChannels[aUnit][i] )
-                {
-                iIscChannels[aUnit][i] = aChannel;
-                error = KErrNone;
-                break;
-                }
-            }
-        }
-    else
-        {
-        ASSERT_RESET_ALWAYS( 0, "IscDriver",EIscPanicSetChannel );
-        }
-    
-    C_TRACE( ( _T( "IscChannelContainer::SetChannel - return 0x%x" ), error ) );
-    return error;    
-    }
-
-// -----------------------------------------------------------------------------
-// IscChannelContainer::Channel
-// Return pointer to channel
-// ( other items were commented in a header ).
-// -----------------------------------------------------------------------------
-//
-DIscChannel* IscChannelContainer::Channel( 
-    const TUint16 aChannel, 
-    const TUint16 aChannelSharingIndex )    
-    {
-    TRACE_ASSERT( aChannel < KIscNumberOfUnits );
-    TRACE_ASSERT( aChannelSharingIndex < KIscMaxNumberOfChannelSharers );
-    return( iIscChannels[ aChannel ][ aChannelSharingIndex ] );    
-    }
-
-// -----------------------------------------------------------------------------
-// IscChannelContainer::RemoveChannel
-// 
-// ( other items were commented in a header ).
-// -----------------------------------------------------------------------------
-//
-TInt IscChannelContainer::RemoveChannel
-		( 
-    	DIscChannel* aChannel
-    	)
-    {
-    
-    TRACE_ASSERT( aChannel );
-    C_TRACE( ( _T( "IscChannelContainer::RemoveChannel(0x%x)" ), aChannel ) );
-    TUint16 channelNumber = aChannel->GetChannelNumber();
-
-    TInt error( KErrNotFound );
-    for ( TInt i( KErrNone ); ( i < KIscMaxNumberOfChannelSharers ) && ( KErrNone != error ); i++ )
-        {
-        if ( iIscChannels[channelNumber][i] == aChannel )
-            {
-            iIscChannels[channelNumber][i] = NULL;
-            error = KErrNone;
-            }
-        }
-
-    C_TRACE( ( _T( "IscChannelContainer::RemoveChannel - return %d" ), error ) );
-    return error;
-    
-    }
-
-// -----------------------------------------------------------------------------
-// IscChannelContainer::ChannelComplition
-// Goes through channels and open ones are emptied
-// ( other items were commented in a header ).
-// -----------------------------------------------------------------------------
-//
-void IscChannelContainer::ChannelComplition( 
-    TAny* /*a*/ )
-    {
-    C_TRACE( ( _T( "IscChannelContainer::ChannelComplition()" ) ) );
-#ifdef __WINS__
-    EnterCriticalSection( &g_IscCriticalSection );
-#endif
-    
-    DIscChannel* channelPtr = NULL;
-
-    for ( TUint16 channel( KIscFirstChannel ) ; channel < KIscNumberOfUnits; channel++ )
-        {
-        for ( TUint16 i( 0 ); i < KIscMaxNumberOfChannelSharers; i++ )
-            {
-            channelPtr = iIscChannels[channel][i];
-            if ( channelPtr )
-                {
-                channelPtr->EmptyBuffers();
-                }
-            }
-        }
-#ifdef __WINS__
-    LeaveCriticalSection( &g_IscCriticalSection );
-#endif
-
-    C_TRACE( ( _T( "IscChannelContainer::ChannelComplition - return 0x%x" ), KErrNone ) );
-    
-    }
-
-// -----------------------------------------------------------------------------
-// IscChannelContainer::AddDfc
-// Adds ChannelComplition Dfc
-// ( other items were commented in a header ).
-// -----------------------------------------------------------------------------
-//
-void IscChannelContainer::AddDfc()
-    {
-    C_TRACE( ( _T( "IscChannelContainer::AddDfc()" ) ) );
-
-    if ( NKern::CurrentContext() == NKern::EInterrupt )
-        {
-        iDfc->Add();
-        }
-    else
-        {
-        iDfc->Enque();
-        }    
-    
-    }
-
-// -----------------------------------------------------------------------------
-// IscChannelContainer::Initialize
-// Allocates Dfc function dynamically and formats data tables.
-// ( other items were commented in a header ).
-// -----------------------------------------------------------------------------
-//
-void IscChannelContainer::Initialize()
-    {    
-    C_TRACE( ( _T( "IscChannelContainer::Initialize()" ) ) );
-
-    if ( !iDfc )
-        {
-        iDfc = new TDfc( IscChannelContainer::ChannelComplition, NULL, Kern::DfcQue0(),
-                         KChannelComplitionDfcPriority );
-        ASSERT_RESET_ALWAYS( iDfc, "IscDriver",EIscMemoryAllocationFailure );
-        }
-    
-    for ( TUint16 channel( 0 ); channel < KIscNumberOfUnits; channel++ )
-        {
-        for ( TUint16 i( 0 ); i < KIscMaxNumberOfChannelSharers; i++ )
-            {
-            iIscChannels[channel][i] = NULL;
-            }
-        }
-
-#ifdef __WINS__
-    InitializeCriticalSection( &g_IscCriticalSection );
-#endif
-    }
-
-// -----------------------------------------------------------------------------
-// IscChannelContainer::DeActivate
-// Deallocates Dfc function
-// ( other items were commented in a header ).
-// -----------------------------------------------------------------------------
-//
-void IscChannelContainer::DeActivate()
-    {    
-    if ( iDfc )
-        {
-        delete iDfc;
-        iDfc = NULL;
-        }
-#ifdef __WINS__
-    DeleteCriticalSection( &g_IscCriticalSection );
-#endif
-    
-    }
-
-// -----------------------------------------------------------------------------
-// IscChannelContainer::ValidateChannel
-// 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt IscChannelContainer::ValidateChannel( 
-    DIscChannel* aChannelPtr )
-    {
-    C_TRACE( ( _T( "IscChannelContainer::ValidateChannel(0x%x)" ), aChannelPtr ) );
-    TInt error( KErrNotFound );
-    if( !aChannelPtr )
-    	{
-    	C_TRACE( ( _T( "IscChannelContainer::ValidateChannel aChannelPtr was NULL" ) ) );
-    	error = KErrArgument;	
-    	}
-    else
-    	{
-	    for ( TUint16 channelNumber( 0 ); channelNumber < KIscNumberOfUnits ; channelNumber++ )
-	        {
-	        for ( TInt i( KErrNone ); i < KIscMaxNumberOfChannelSharers ; i++ )
-	            {
-	            if ( iIscChannels[channelNumber][i] == aChannelPtr )
-	                {
-	                error = KErrNone;
-	                break;
-	                }
-	            }
-	        }    		
-    	}
-
-    C_TRACE( ( _T( "IscChannelContainer::ValidateChannel - return %d" ), error ) );
-    return error;
-    
-    }
-
-//  End of File