videoconnutility/connutility/inc/vcxconnutilwaitsch.h
changeset 41 d88d70d98bbc
parent 34 814ba97beeb9
child 46 3bc36dbd63c2
--- a/videoconnutility/connutility/inc/vcxconnutilwaitsch.h	Fri Jun 11 10:05:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +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 declaration file*
-*/
-
-
-
-
-#ifndef __CVCXCONNUTILWAITSCH_H
-#define __CVCXCONNUTILWAITSCH_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include <e32hashtab.h>
-
-
-class CVcxConnUtilWait;
-class CActiveSchedulerWait;
-
-// CLASS DECLARATION
-
-/**
- * CVcxConnUtilWaitSch is used to manage CActiveSchedulerWait objects
- * within videoconnutility.
- * Basically, when client calls wait, a new CActiveSchedulerWait is created 
- * and being put to list. Different types for waits are managed by different
- * wait -wrapper object, which type is defined as a private class for this class.
- * 
- * Currently videoconnutility puts active objects to wait in following situations:
- * 
- * (1) When there is connection creation ongoing and other active objects try to 
- * create connection: only the one active object that is creating connection is runnig, 
- * other a-objects waits as long as connection is ready
- * 
- * (2) Master waiting for roaming status from slave instances: Master's roaming active object is 
- * waiting for roaming response status change.
- * 
- * (3) Connection creation during roaming: All active objects requesting connection during roaming
- * are put to wait for the roaming to finish, so that correct iap id can be returned.
- * 
- * (4) Disconnecting during roaming. Master's disconnecting a-object(s) is put to wait for
- * roaming to finish
- * 
- * Waiting is released by the client by calling EndWait. CVcxConnUtilWaitSch basicallly 
- * stops wait for every wait object, put those whose type is not the one provided 
- * by the parameter of EndWait are being put back to wait. This solution is needed, to 
- * prevent deadlocks: we might have different kind of waits at the same time, but not all
- * are to be released at the same time, but because of the nature of the ActiveScheduler,
- * all wait objects are needed to release once, before anyone can proceed.
- * 
- * 
- */
-NONSHARABLE_CLASS( CVcxConnUtilWaitSch ) : public CBase
-    {
-    public: // Constructors and destructor
-
-        /**
-         * Destructor.
-         */
-        ~CVcxConnUtilWaitSch();
-    
-        /**
-         * Two-phased constructor.
-         */
-        static CVcxConnUtilWaitSch* NewL();
-    
-        /**
-         * Two-phased constructor.
-         */
-        static CVcxConnUtilWaitSch* NewLC();
-
-    private:
-
-        /**
-         * Constructor for performing 1st stage construction
-         */
-        CVcxConnUtilWaitSch();
-    
-        /**
-         * EPOC default constructor for performing 2nd stage construction
-         */
-        void ConstructL();
-    
-    public:
-  
-        /**
-         * Method creates a new CVcxConnUtilWait object in case
-         * one with provided type does not already exist, then
-         * creates a CActiveSchedulerWait object for the current
-         * active object and puts it to wait by calling 
-         * CActiveSchedulerWait::Start. After call returns (wait has 
-         * released) checks if CVcxConnUtilWait's iCanStop is ETrue.
-         * In case it is not, the object is being put back to wait. 
-         * 
-         * After wait object is really released, it is being deallocated. 
-         * 
-         * Method leaves with systemwide error code, in case object 
-         * creation or saving to array fails.
-         * 
-         * @param aWaitId wait type id for this wait
-         */
-        void WaitL( TUint32 aWaitId );
-        
-        
-        /**
-         * Method loops all CVcxConnUtilWait objects and sets their
-         * iCanStop to ETrue, in case aWaitId is same as CVcxConnUtilWait's
-         * iType. 
-         * All CActiveSchedulerWait's for each CVcxConnUtilWait is being 
-         * released by calling CActiveSchedulerWait::AsyncStop.
-         * 
-         * @param aWaitId wait type id for this wait
-         */
-        void EndWait( TUint32 aWaitId );
-        
-    
-    private:
-                         
-        /**
-         * Internal helper method for getting corresponding 
-         * CVcxConnUtilWait object based in the aID. 
-         * 
-         * In case aID -type object is not found from the 
-         * iWaits -array, it is being created and appended to array.
-         * 
-         * @param aID wait type id for this wait
-         */
-        CVcxConnUtilWait* GetWaitL( TUint32 aID );
-        
-        /**
-         * Internal helper method for PrepareWaitObjectL for 
-         * getting next not started Active scheduler wait 
-         * object for given CVcxConnUtilWait.
-         * 
-         * If there is no existing not started object or given
-         * CVcxConnUtilWait is NULL a new  CActiveSchedulerWait
-         * object is created and appended to the aWait object's
-         * waitarray.
-         * 
-         * 
-         * @param aWait wait wait object from where to search
-         */
-        CActiveSchedulerWait* GetActiveSWaitL( CVcxConnUtilWait* aWait );
-        
-    private:       
-        /**
-         * Array containing all CVcxConnUtilWait objects maintained
-         * by this object  
-         */
-        RPointerArray< CVcxConnUtilWait > iWaits;
-
-    };
-
-#endif // __CVCXCONNUTILWAITSCH_H