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 <e32base.h>
+
+const TInt KTEFMaxNameLength = 255;
+typedef TBuf<KTEFMaxNameLength> TTEFSectionName;
+typedef TBuf<KTEFMaxNameLength> TTEFFunction;
+typedef TBuf<KTEFMaxNameLength> 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<TTEFBlockItem> TTEFItemArray;
+
+/**
+ * @internalComponent
+ * @test
+ */
+typedef TPckgBuf<TTEFBlockItem> 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__