videoconnutility/connutility/src/vcxconnutilwaitsch.cpp
changeset 18 2c61986c60fa
parent 16 ae43a6765dd5
child 20 fbe6578feb8b
--- a/videoconnutility/connutility/src/vcxconnutilwaitsch.cpp	Fri Apr 16 16:02:30 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +0,0 @@
-/*
-* Copyright (c) 2006 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:    CCVcxConnUtilWaitSch class definition file*
-*/
-
-
-
-
-
-#include "vcxconnutilwaitsch.h"
-
-
- /**
- * CVcxConnUtilWait is used to wrap CActiveScheduler objects to be used
- * as "wait-type" context within videoconnutility.
- * Each CVcxConnUtilWait object has a wait type -id for whose
- * object maintans an array of CActiveScheduler objects' wait state.
- */
-NONSHARABLE_CLASS( CVcxConnUtilWait ) : public CBase
-    {
-    public: 
-        
-        /**
-         * Destructor.
-         */
-        ~CVcxConnUtilWait()
-            {
-            iWaitArray.ResetAndDestroy();
-            };
-        
-        /**
-         * Default constructor
-         */
-        CVcxConnUtilWait( ) {};
-        
-        /**
-         * Wait type id
-         */
-        TUint32 iType;
-        
-        /**
-         * Flag to indicate wether CActiveScheduler maintained
-         * by this object can really be released. In case flag is 
-         * false, CActiveScheduler -objects need to be put to wait
-         * again right after their release.  
-         */
-        TBool   iCanStop;
-        
-        /**
-         * Array containing CActiveScheduler maintained
-         * by this object  
-         */
-        RPointerArray < CActiveSchedulerWait > iWaitArray;
-    };
-
-
-// -----------------------------------------------------------------------------
-// CVcxConnUtilWaitSch::CVcxConnUtilWaitSch()
-// -----------------------------------------------------------------------------
-//
-CVcxConnUtilWaitSch::CVcxConnUtilWaitSch()
-    {
-    // No implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxConnUtilWaitSch::~CVcxConnUtilWaitSch()
-// -----------------------------------------------------------------------------
-//
-CVcxConnUtilWaitSch::~CVcxConnUtilWaitSch()
-    {
-    iWaits.ResetAndDestroy();
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxConnUtilWaitSch::NewLC()
-// -----------------------------------------------------------------------------
-//
-CVcxConnUtilWaitSch* CVcxConnUtilWaitSch::NewLC()
-    {
-    CVcxConnUtilWaitSch* self = new (ELeave)CVcxConnUtilWaitSch();
-    CleanupStack::PushL(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxConnUtilWaitSch::NewL()
-// -----------------------------------------------------------------------------
-//
-CVcxConnUtilWaitSch* CVcxConnUtilWaitSch::NewL()
-    {
-    CVcxConnUtilWaitSch* self = CVcxConnUtilWaitSch::NewLC();
-    CleanupStack::Pop( self ); // self;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxConnUtilWaitSch::WaitL()
-// -----------------------------------------------------------------------------
-//
-void CVcxConnUtilWaitSch::WaitL( TUint32 aWaitId )
-    {
-    CVcxConnUtilWait* wait = GetWaitL( aWaitId );
-    CActiveSchedulerWait* activeWait = GetActiveSWaitL( wait ); 
-        
-    while( !wait->iCanStop )
-        {
-        activeWait->Start();        
-        }
-    
-    TInt index = wait->iWaitArray.FindL( activeWait );
-    if( index != KErrNotFound )
-        {       
-        wait->iWaitArray.Remove( index );
-        }
-    delete activeWait;
-    
-    if( !wait->iWaitArray.Count() )
-        {
-        index = iWaits.FindL( wait );
-        if( index != KErrNotFound )
-            {            
-            iWaits.Remove( index );
-            }
-        delete wait;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxConnUtilWaitSch::EndWait()
-// -----------------------------------------------------------------------------
-//
-void CVcxConnUtilWaitSch::EndWait( TUint32 aWaitId )
-    {
-    TInt waitCount( 0 );
-    TInt asWaitCount( 0 );
-    
-    waitCount = iWaits.Count();
-    
-    for( TInt i( 0 ); i < waitCount; ++i )
-        {
-        iWaits[ i ]->iCanStop = ( aWaitId == iWaits[ i ]->iType );
-        
-        asWaitCount = iWaits[ i ]->iWaitArray.Count();
-        
-        for( TInt j( 0 ); j < asWaitCount; ++j )
-            {
-            if( iWaits[ i ]->iWaitArray[ j ]->IsStarted() )
-                {
-                iWaits[ i ]->iWaitArray[ j ]->AsyncStop();
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxConnUtilWaitSch::GetWaitL()
-// -----------------------------------------------------------------------------
-//
-CVcxConnUtilWait* CVcxConnUtilWaitSch::GetWaitL( TUint32 aID )
-    {
-    CVcxConnUtilWait* wait( 0 );
-    TInt count( 0 );
-    count = iWaits.Count();
-    
-    for( TInt i( 0 ); i < count; ++i )
-        {
-        if( iWaits[ i ]->iType == aID )
-            {
-            wait = iWaits[ i ];
-            break;
-            }
-        }
-    if( !wait )
-        {
-        wait = new (ELeave) CVcxConnUtilWait();
-        CleanupStack::PushL( wait );
-        wait->iType = aID;
-        iWaits.AppendL( wait );
-        CleanupStack::Pop( wait );
-        }
-    return wait;
-    }
-
-// -----------------------------------------------------------------------------
-// CVcxConnUtilWaitSch::GetActiveSWaitL()
-// -----------------------------------------------------------------------------
-//
-CActiveSchedulerWait* CVcxConnUtilWaitSch::GetActiveSWaitL( CVcxConnUtilWait* aWait )
-    {  
-    CActiveSchedulerWait* item( 0 );
-    if( aWait )
-        {
-        TInt count( aWait->iWaitArray.Count() );
-        for( TInt i( 0 ); i < count; i++ )
-            {
-            if( !( aWait->iWaitArray[i]->IsStarted() ) )
-                {
-                item = aWait->iWaitArray[i];
-                break;
-                }
-            }
-        }
-    if( !item )
-        {
-        item = new ( ELeave) CActiveSchedulerWait;
-        CleanupStack::PushL( item );
-        aWait->iWaitArray.AppendL( item );
-        CleanupStack::Pop( item );
-        }
-    return item;
-    }
-// End of file
-