diff -r bbd31066657e -r 8bb370ba6d1d testexecfw/stf/stfext/testmodules/teftestmod/teftestmodulefw/utils/inc/blockitems.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/testexecfw/stf/stfext/testmodules/teftestmod/teftestmodulefw/utils/inc/blockitems.h Fri Apr 09 10:46:28 2010 +0800 @@ -0,0 +1,181 @@ +/* +* Copyright (c) 2005-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: +* @file +* This contains BlockItems.h +* +*/ + + + +#ifndef __BLOCK_ITEMS_H__ +#define __BLOCK_ITEMS_H__ + +#include + +const TInt KTEFMaxNameLength = 255; +typedef TBuf TTEFSectionName; +typedef TBuf TTEFFunction; +typedef TBuf TTEFObjectType; + +enum TTEFBlockItemType +/** + * @internalComponent + * @test + * + * Types of block item + * + * ETEFNull + * - undefined type + * + * ETEFCreateObject + * - create an object + * + * ETEFRestoreObject + * - restore an object from the shared area + * + * ETEFCommand + * - execute a command on an object + * + * ETEFStore + * - store the object in shared area + * + * ETEFOutstanding + * - wait for all outstandign requests to complete + * + * ETEFDelay + * - delay all processing + * + * ETEFAsyncDelay + * - delay but keep asynchronus operations running during delay. + * + * ETEFSharedActiveScheduler + * - use active schedular from shared data + * + * ETEFStoreActiveScheduler + * - store active schedular in shared data + */ + { + ETEFNull = 0, + ETEFCreateObject, + ETEFRestoreObject, + ETEFCommand, + ETEFStore, + ETEFOutstanding, + ETEFDelay, + ETEFAsyncDelay, + ETEFSharedActiveScheduler, + ETEFStoreActiveScheduler + }; + +class TTEFCommand +/** + * @internalComponent + * @test + */ + { +public: + TTEFSectionName iObject; + TTEFFunction iFunction; + }; + +class TTEFBlockItem +/** + * @internalComponent + * @test + */ + { +public: + TTEFBlockItem() + : iItemType(ETEFNull) + , iExpectedError(0) + , iExpectedAsyncError(0) + , iError(0) + , iAsyncError(0) + , iTime(0) + , iExecuted(EFalse) {} + + TTEFBlockItemType iItemType; + TTEFObjectType iObjectType; + TTEFCommand iCommand; + TTEFSectionName iSection; + TInt iExpectedError; + TInt iExpectedAsyncError; + TInt iError; + TInt iAsyncError; + TInt iTime; + TBool iExecuted; + }; + +/** + * @internalComponent + * @test + */ +typedef CArrayFixFlat TTEFItemArray; + +/** + * @internalComponent + * @test + */ +typedef TPckgBuf TTEFItemPkgBuf; + +class MSharedData +/** + * @internalComponent + * @test + * + * Access to the shared data + */ + { +public: + /* + * Create and active scheduler in the shared data + * + * @leave system wide error + */ + virtual void CreateActiveSchedulerL() =0; + + /* + * Delete the active scheduler in the shared data + * + * @leave system wide error + */ + virtual void DeleteActiveSchedulerL() =0; + + /* + * Get an object in the shared data and own it. + * As owner you will be resonsible for it's deletion. + * + * @param aName - name of object to own + * + * @return the obeject + * + * @leave system wide error + */ + virtual TAny* GetObjectAndOwnL(const TDesC& aName) =0; + + /* + * Put an object in the shared data and disown it. + * The shared data becomes will be resonsible for it's deletion. + * + * @param aName - name of object to own + * @param aAny - the object + * @param aCleanupOperation - Operation to delete the object if still in shared data on exit + * + * @leave system wide error + */ + virtual void PutAndDisownL(const TDesC& aName, TAny* aAny, TCleanupOperation aCleanupOperation) =0; + }; + +#endif // __BLOCK_ITEMS_H__