mds_plat/metadata_engine_api/tsrc/inc/MdETestScripter.h
changeset 0 c53acadfccc6
child 9 82c0024438c8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mds_plat/metadata_engine_api/tsrc/inc/MdETestScripter.h	Mon Jan 18 20:34:07 2010 +0200
@@ -0,0 +1,537 @@
+/*
+* Copyright (c) 2002-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: 
+*
+*/
+
+#ifndef MDETESTSCRIPTER_H
+#define MDETESTSCRIPTER_H
+
+//  INCLUDES
+#include <e32cmn.h>
+#include <StifLogger.h>
+#include <TestScripterInternal.h>
+#include <StifTestModule.h>
+#include <mdesession.h>
+#include <mdequery.h>
+
+// CONSTANTS
+const TInt KPathPrefixLength( 2 );
+
+const TInt KLast = -1;
+
+const TInt KById = 0;
+const TInt KByUri = 1;
+const TInt KByGuid = 2;
+const TInt KByIds = 3;
+const TInt KByDef = 4;
+const TInt KByIndex = 5;
+
+const TInt KL = 0;
+const TInt KLC = 1;
+
+const TInt KAsync = 0;
+const TInt KSync = 1;
+
+const TInt ESession = 0;
+const TInt EObjectDef = 1;
+const TInt ERelationDef = 2;
+const TInt EPropertyDef = 3;
+const TInt EEventDef = 4;
+const TInt ENamespaceDef = 5;
+const TInt EObject = 6;
+const TInt ERelation = 7;
+const TInt EProperty = 8;
+const TInt EEvent = 9;
+
+// MACROS
+_LIT( KMdETestScripter, "MdETestScripter" );
+#if ( defined (__WINS__) || defined (__WINSCW__) )
+_LIT( KMdETestDataPath, "" );
+#else 
+_LIT( KMdETestDataPath, "\\testing" );
+#endif
+
+_LIT( KMdETestScripterLogPath, "\\logs\\testframework\\MdETestScripter\\" ); 
+
+// Log file
+_LIT( KMdETestScripterLogFile, "MdETestScripter.txt" ); 
+_LIT( KMdETestScripterLogFileWithTitle, "MdETestScripter_[%S].txt" );
+
+// Events
+// Events for schema
+_LIT( KMdESchemaModified, "ESchemaModified" );
+
+// Events for async request
+_LIT( KMdEItemsAsyncAdd, "EItemsAsyncAdd" );
+_LIT( KMdEObjectsAsyncAdd, "EObjectsAsyncAdd" );
+_LIT( KMdERelationsAsyncAdd, "ERelationsAsyncAdd" );
+_LIT( KMdEEventsAsyncAdd, "EEventsAsyncAdd" );
+
+_LIT( KMdEItemsAsyncUpdate, "EItemsAsyncUpdate" );
+_LIT( KMdEObjectsAsyncUpdate, "EObjectsAsyncUpdate" );
+_LIT( KMdERelationsAsyncUpdate, "ERelationsAsyncUpdate" );
+_LIT( KMdEEventsAsyncUpdate, "EEventsAsyncUpdate" );
+
+_LIT( KMdEObjectsAsyncRemoved, "EObjectsAsyncRemoved" );
+_LIT( KMdERelationsAsyncRemoved, "ERelationsAsyncRemoved" );
+_LIT( KMdEEventsAsyncRemoved, "EEventsAsyncRemoved" );
+
+
+// FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+class CMdETestScripter;
+class CMdESession;
+class CMdENamespaceDef;
+class CMdEObject;
+class CMdEInstanceItem;
+class CMdEQuery;
+class CMdELogicCondition;
+class CMdETestScripterAO;
+
+// DATA TYPES
+
+// CLASS DECLARATION
+
+/**
+*  CMdETestScripter test class for STIF Test Framework TestScripter.
+*  ?other_description_lines
+*
+*  @lib ?library
+*  @since ?Series60_version
+*/
+NONSHARABLE_CLASS(CMdETestScripter) : public CScriptBase,
+                                      public MMdESchemaObserver,
+                                      public MMdEObjectObserver,
+                                      public MMdEObjectPresentObserver,
+                                      public MMdERelationObserver,
+                                      public MMdERelationItemObserver,
+                                      public MMdERelationPresentObserver,
+                                      public MMdESessionObserver,
+                                      public MMdEEventObserver,
+                                      public MMdEQueryObserver
+    {
+    friend class CMdETestScripterAO;
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        static CMdETestScripter* NewL( CTestModuleIf& aTestModuleIf );
+
+        /**
+        * Destructor.
+        */
+        virtual ~CMdETestScripter();
+
+    public: // New functions
+
+    public: // Functions from base classes
+        virtual TInt RunMethodL( CStifItemParser& aItem );
+
+    protected:  // New functions
+
+
+    protected:  // Functions from base classes
+
+
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CMdETestScripter( CTestModuleIf& aTestModuleIf );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+        /**
+        * Frees all resources allocated from test methods.
+        * @since ?Series60_version
+        */
+        void Delete();
+        
+        template <class T> T* SanitizeArrayIndexL(
+    		RPointerArray<T>& aArray, const CDesCArrayFlat& aNameArray, 
+    		CStifItemParser& aItem );
+        CMdEInstanceItem* GetInstanceItemByArrayIndexL(
+            TInt aMode, CStifItemParser& aItem );
+        void CheckTMdEObjectL( const TMdEObject& aTObject, const CMdEObject& aObject );
+        void CheckTMdERelationL( const TMdERelation& aTRelation, const CMdERelation& aRelation );
+        template <class T1, class T2> void CheckTInstanceL( const T1& aT1, const T2& aT2 );
+        void CheckTMdEObjectArrayL(
+            const RArray<TMdEObject>& aTObjects, TInt objIndex, TInt aCount );
+        void CheckTMdERelationArrayL(
+            const RArray<TMdERelation>& aTRelations, const TInt aObjIndex, const TInt aCount );
+        template <class T> void CheckTItemIdArrayL(
+            const RArray<TItemId>& aTItemIds, const RPointerArray<T>& aArray,
+            const TInt aIndex, const TInt aCount );
+        TInt CheckAsyncResultArrayL( TEventIf aEvent );
+        void FormInstanceItemArrayL(
+            CStifItemParser& aItem, RPointerArray<CMdEInstanceItem>& aItemArray ) const;
+
+        /**
+        * Test methods are listed below. 
+        */
+
+        // Observer add/remove test primitives
+        virtual TInt AddSchemaObserverL( CStifItemParser& aItem );
+        virtual TInt RemoveSchemaObserverL( CStifItemParser& aItem );
+        virtual TInt AddObjectObserverL( CStifItemParser& aItem );
+        virtual TInt RemoveObjectObserverL( CStifItemParser& aItem );
+        virtual TInt AddObjectPresentObserverL( CStifItemParser& aItem );
+        virtual TInt RemoveObjectPresentObserverL( CStifItemParser& aItem );
+        virtual TInt AddRelationObserverL( CStifItemParser& aItem );
+        virtual TInt RemoveRelationObserverL( CStifItemParser& aItem );
+        virtual TInt AddRelationItemObserverL( CStifItemParser& aItem );
+        virtual TInt RemoveRelationItemObserverL( CStifItemParser& aItem );
+        virtual TInt AddRelationPresentObserverL( CStifItemParser& aItem );
+        virtual TInt RemoveRelationPresentObserverL( CStifItemParser& aItem );
+        virtual TInt AddEventObserverL( CStifItemParser& aItem );
+        virtual TInt RemoveEventObserverL( CStifItemParser& aItem );
+
+        // Notification resulated test primitives
+        virtual TInt VerifyTItemIdsL( CStifItemParser& aItem );
+        virtual TInt VerifyMdERelationsL( CStifItemParser& aItem );
+        virtual TInt VerifyObserverNotificationTypeL( CStifItemParser& aItem );
+
+        // Metadata/schema/namespace test primitives.
+        virtual TInt ObjectDefCountL( CStifItemParser& aItem );
+        virtual TInt ObjectDefL( CStifItemParser& aItem );
+        virtual TInt GetObjectDefL( CStifItemParser& aItem );
+        virtual TInt RelationDefCountL( CStifItemParser& aItem );
+        virtual TInt RelationDefL( CStifItemParser& aItem );
+        virtual TInt GetRelationDefL( CStifItemParser& aItem );
+        virtual TInt EventDefCountL( CStifItemParser& aItem );
+        virtual TInt EventDefL( CStifItemParser& aItem );
+        virtual TInt GetEventDefL( CStifItemParser& aItem );
+
+        virtual TInt ExportMetadataL( CStifItemParser& aItem );
+        virtual TInt ImportMetadataL( CStifItemParser& aItem );
+        virtual TInt ImportSchemaL( CStifItemParser& aItem );
+        virtual TInt NamespaceDefCountL( CStifItemParser& aItem );
+        virtual TInt NamespaceDefL( CStifItemParser& aItem );
+        virtual TInt GetNamespaceDefL( CStifItemParser& aItem );
+        virtual TInt ResetNamespaceDefArray( CStifItemParser& aItem );
+        virtual TInt GetDefaultNamespaceDefL( CStifItemParser& aItem );
+        virtual TInt LoadSchemaL( CStifItemParser& aItem );
+        virtual TInt EngineSessionL( CStifItemParser& aItem );
+        virtual TInt GetSchemaVersionL( CStifItemParser& aItem );
+        virtual TInt SetObjectToPresentByGuidL( CStifItemParser& aItem );
+        
+        // Item / InstanceItem test primitives.
+        virtual TInt BelongsToSessionL( CStifItemParser& aItem );
+        virtual TInt SessionL( CStifItemParser& aItem );
+        virtual TInt InDatabaseL( CStifItemParser& aItem );
+        virtual TInt AddItemsL( CStifItemParser& aItem );
+        virtual TInt UpdateItemsL( CStifItemParser& aItem );
+
+        // Definition test primitives.
+        virtual TInt AddRelationDefL( CStifItemParser& aItem );
+        virtual TInt AddEventDefL( CStifItemParser& aItem );
+        virtual TInt PropertyDefCountL( CStifItemParser& aItem );
+        virtual TInt PropertyDefL( CStifItemParser& aItem );
+        virtual TInt GetPropertyDefL( CStifItemParser& aItem );
+        virtual TInt MandatoryL( CStifItemParser& aItem );
+        virtual TInt MinInt32ValueL( CStifItemParser& aItem );
+        virtual TInt MaxInt32ValueL( CStifItemParser& aItem );
+        virtual TInt MinUint32ValueL( CStifItemParser& aItem );
+        virtual TInt MaxUint32ValueL( CStifItemParser& aItem );
+        virtual TInt MinInt64ValueL( CStifItemParser& aItem );
+        virtual TInt MaxInt64ValueL( CStifItemParser& aItem );
+        virtual TInt MinRealValueL( CStifItemParser& aItem );
+        virtual TInt MaxRealValueL( CStifItemParser& aItem );
+        virtual TInt MinTimeValueL( CStifItemParser& aItem );
+        virtual TInt MaxTimeValueL( CStifItemParser& aItem );
+        virtual TInt MinTextLengthL( CStifItemParser& aItem );
+        virtual TInt MaxTextLengthL( CStifItemParser& aItem );
+        virtual TInt CompareL( CStifItemParser& aItem );
+        virtual TInt ParentL( CStifItemParser& aItem );
+        virtual TInt NameL( CStifItemParser& aItem );
+        virtual TInt ReadOnlyL( CStifItemParser& aItem );
+        virtual TInt DefL( CStifItemParser& aItem );
+
+        // Object test primitives.
+        virtual TInt SetDefL( CStifItemParser& aItem );
+        virtual TInt UriL( CStifItemParser& aItem );
+        virtual TInt SetUriL( CStifItemParser& aItem );
+        virtual TInt ConfidentialL( CStifItemParser& aItem );
+        virtual TInt SetConfidentialL( CStifItemParser& aItem );
+        virtual TInt PlaceholderL( CStifItemParser& aItem );
+        virtual TInt SetPlaceholderL( CStifItemParser& aItem );
+        virtual TInt MediaIdL( CStifItemParser& aItem );
+        virtual TInt SetMediaIdL( CStifItemParser& aItem );
+        virtual TInt UsageCountL( CStifItemParser& aItem );
+        virtual TInt GuidL( CStifItemParser& aItem );
+        virtual TInt SetGuidL( CStifItemParser& aItem );
+        virtual TInt OpenForModificationsL( CStifItemParser& aItem );
+        virtual TInt NewObjectL( CStifItemParser& aItem );
+        virtual TInt AddObjectL( CStifItemParser& aItem );
+        virtual TInt AddObjectsL( CStifItemParser& aItem );
+        virtual TInt GetObjectL( CStifItemParser& aItem );
+        virtual TInt GetFullObjectL( CStifItemParser& aItem );
+        virtual TInt CheckObjectL( CStifItemParser& aItem );
+        virtual TInt RemoveObjectL( CStifItemParser& aItem );
+        virtual TInt RemoveObjectsL( CStifItemParser& aItem );
+        virtual TInt RemoveAllObjectsL( CStifItemParser& aItem );
+        virtual TInt OpenObjectL( CStifItemParser& aItem );
+        virtual TInt OpenFullObjectL( CStifItemParser& aItem );
+        virtual TInt CommitObjectL( CStifItemParser& aItem );
+        virtual TInt CommitObjectsL( CStifItemParser& aItem );
+        virtual TInt CancelObjectL( CStifItemParser& aItem );
+
+        virtual TInt PropertyL( CStifItemParser& aItem );
+        virtual TInt PropertyCountL( CStifItemParser& aItem );
+        virtual TInt AddBoolPropertyL( CStifItemParser& aItem );
+        virtual TInt AddInt8PropertyL( CStifItemParser& aItem );
+        virtual TInt AddUint8PropertyL( CStifItemParser& aItem );
+        virtual TInt AddInt16PropertyL( CStifItemParser& aItem );
+        virtual TInt AddUint16PropertyL( CStifItemParser& aItem );
+        virtual TInt AddInt32PropertyL( CStifItemParser& aItem );
+        virtual TInt AddUint32PropertyL( CStifItemParser& aItem );
+        virtual TInt AddInt64PropertyL( CStifItemParser& aItem );
+        virtual TInt AddReal32PropertyL( CStifItemParser& aItem );
+        virtual TInt AddReal64PropertyL( CStifItemParser& aItem );
+        virtual TInt AddTextPropertyL( CStifItemParser& aItem );
+        virtual TInt AddTimePropertyL( CStifItemParser& aItem );
+
+        // Property test primitives.
+        virtual TInt ObjectL( CStifItemParser& aItem );
+        virtual TInt BoolValueL( CStifItemParser& aItem );
+        virtual TInt Int8ValueL( CStifItemParser& aItem );
+        virtual TInt Uint8ValueL( CStifItemParser& aItem );
+        virtual TInt Int16ValueL( CStifItemParser& aItem );
+        virtual TInt Uint16ValueL( CStifItemParser& aItem );
+        virtual TInt Int32ValueL( CStifItemParser& aItem );
+        virtual TInt Uint32ValueL( CStifItemParser& aItem );
+        virtual TInt Int64ValueL( CStifItemParser& aItem );
+        virtual TInt Real32ValueL( CStifItemParser& aItem );
+        virtual TInt Real64ValueL( CStifItemParser& aItem );
+        virtual TInt TimeValueL( CStifItemParser& aItem );
+        virtual TInt TextValueL( CStifItemParser& aItem );
+        virtual TInt SetBoolValueL( CStifItemParser& aItem );
+        virtual TInt SetInt8ValueL( CStifItemParser& aItem );
+        virtual TInt SetUint8ValueL( CStifItemParser& aItem );
+        virtual TInt SetInt16ValueL( CStifItemParser& aItem );
+        virtual TInt SetUint16ValueL( CStifItemParser& aItem );
+        virtual TInt SetInt32ValueL( CStifItemParser& aItem );
+        virtual TInt SetUint32ValueL( CStifItemParser& aItem );
+        virtual TInt SetInt64ValueL( CStifItemParser& aItem );
+        virtual TInt SetReal32ValueL( CStifItemParser& aItem );
+        virtual TInt SetReal64ValueL( CStifItemParser& aItem );
+        virtual TInt SetTimeValueL( CStifItemParser& aItem );
+        virtual TInt SetTextValueL( CStifItemParser& aItem );
+        virtual TInt RemovePropertyL( CStifItemParser& aItem );
+        virtual TInt MovePropertiesL( CStifItemParser& aItem );
+
+        // Free text test primitives.
+        virtual TInt FreeTextCountL( CStifItemParser& aItem );
+        virtual TInt FreeTextL( CStifItemParser& aItem );
+        virtual TInt FreeTextIndexL( CStifItemParser& aItem );
+        virtual TInt AddFreeTextL( CStifItemParser& aItem );
+        virtual TInt RemoveFreeTextL( CStifItemParser& aItem );
+
+        // Relation test primitives.
+        virtual TInt NewRelationL( CStifItemParser& aItem );
+        virtual TInt AddRelationL( CStifItemParser& aItem );
+        virtual TInt LeftObjectIdL( CStifItemParser& aItem );
+        virtual TInt RightObjectIdL( CStifItemParser& aItem );
+        virtual TInt ParameterL( CStifItemParser& aItem );
+        virtual TInt SetParameterL( CStifItemParser& aItem );
+        virtual TInt SetLeftObjectIdL( CStifItemParser& aItem );
+        virtual TInt SetRightObjectIdL( CStifItemParser& aItem );
+        virtual TInt LastModifiedDateL( CStifItemParser& aItem );
+        virtual TInt SetLastModifiedDateL( CStifItemParser& aItem );
+        virtual TInt GetRelationL( CStifItemParser& aItem );
+        virtual TInt UpdateRelationL( CStifItemParser& aItem );
+        virtual TInt RemoveRelationL( CStifItemParser& aItem );
+        virtual TInt RemoveRelationsL( CStifItemParser& aItem );
+
+        // Event test primitives.
+        virtual TInt NewEventL( CStifItemParser& aItem );
+        virtual TInt AddEventL( CStifItemParser& aItem );
+        virtual TInt ObjectIdL( CStifItemParser& aItem );
+        virtual TInt TimeL( CStifItemParser& aItem );
+        virtual TInt SourceL( CStifItemParser& aItem );
+        virtual TInt ParticipantL( CStifItemParser& aItem );
+        virtual TInt GetEventL( CStifItemParser& aItem );
+        virtual TInt RemoveEventL( CStifItemParser& aItem );
+        virtual TInt RemoveEventsL( CStifItemParser& aItem );
+        //[TestMethods] - Do not remove
+
+        // Metadata framework observer callback methods
+        void HandleObjectNotification( CMdESession& aSession, 
+            TObserverNotificationType aType,
+            const RArray<TItemId>& aObjectIdArray );
+        void HandleObjectPresentNotification(CMdESession& aSession, 
+            TBool aPresent, const RArray<TItemId>& aObjectIdArray);
+        void HandleRelationNotification( CMdESession& aSession, 
+            TObserverNotificationType aType,
+            const RArray<TItemId>& aRelationIdArray );
+        void HandleRelationItemNotification(CMdESession& aSession, 
+            TObserverNotificationType aType,
+            const RArray<TMdERelation>& aRelationArray);
+        void HandleRelationPresentNotification(CMdESession& aSession,
+            TBool aPresent, const RArray<TItemId>& aRelationIdArray);
+        void HandleEventNotification( CMdESession& aSession,
+            TObserverNotificationType aType,
+            const RArray<TItemId>& aEventIdArray );
+    	void HandleSessionOpened( CMdESession& aSession, TInt aError );
+    	void HandleSessionError( CMdESession& aSession, TInt aError );
+        void HandleSchemaModified();
+		TInt QueryObjectL( CStifItemParser& aItem );
+		TInt QueryRelationL( CStifItemParser& aItem );
+		TInt QueryEventL( CStifItemParser& aItem );
+
+		TInt TestPopulateDbL( CStifItemParser& aItem );
+		
+private:
+		CMdEObjectDef& GetObjectDefStrL( CStifItemParser& aItem );
+		CMdERelationDef& GetRelationDefStrL( CStifItemParser& aItem );
+		static TQueryResultMode CMdETestScripter::ResultModeL(TDesC& aModeString);
+		static TObjectConditionCompareMethod CompareMethodL( TDesC& aMethodString );
+		static TMdERangeType RangeTypeL( TDesC& aTypeString );
+
+		TInt GetObjectDefIndexL( CStifItemParser& aItem );	
+		TInt GetRelationDefIndexL( CStifItemParser& aItem );
+		TInt GetEventDefIndexL( CStifItemParser& aItem );
+		TInt GetPropertyDefIndexL( CStifItemParser& aItem );
+
+		TInt GetObjectIndexL( CStifItemParser& aItem );
+		TInt GetEventIndexL( CStifItemParser& aItem );
+		TInt GetRelationIndexL( CStifItemParser& aItem );
+		TInt GetPropertyIndexL( CStifItemParser& aItem );
+
+		TInt GetLogicConditionIndexL( CStifItemParser& aItem );
+		TInt GetRelationConditionIndexL( CStifItemParser& aItem );
+
+		void AppendNameL(CDesCArrayFlat* aNameArray, const TDesC& aName)
+			{
+			TInt pos;
+			TBuf<32> name(aName);
+			pos = name.Find(_L("ARRAY_INDEX"));
+			if ( pos != KErrNotFound )
+				{
+				name.SetLength( pos );
+				name.AppendNum( aNameArray->Count() );
+				}
+			if ( aNameArray->Find( name, pos ) )
+				{
+				aNameArray->AppendL( name );
+				}
+			else
+				{ // 
+				iLog->Log( _L( "indentifier = %S already used" ), &name );
+				User::Leave( KErrAlreadyExists );			
+				}						
+			}
+		
+
+public:
+
+		TInt NewObjectQueryL( CStifItemParser& aItem );
+		TInt NewRelationQueryL( CStifItemParser& aItem );
+		TInt NewEventQueryL( CStifItemParser& aItem );
+		TInt AddPropertyFilterL( CStifItemParser& aItem );
+		TInt AppendOrderRuleL( CStifItemParser& aItem );
+		TInt NewLogicConditionL( CStifItemParser& aItem );
+		TInt AddLogicConditionL( CStifItemParser& aItem );		
+		TInt AddObjectConditionL( CStifItemParser& aItem );
+		TInt AddPropertyConditionL( CStifItemParser& aItem );
+		TInt AddRelationConditionL( CStifItemParser& aItem );
+		TInt AddEventConditionL( CStifItemParser& aItem );
+		
+		TInt ObjectConditionsL( CStifItemParser& aItem );
+		
+		TInt RightL( CStifItemParser& aItem );
+		TInt LeftL( CStifItemParser& aItem );
+		TInt SetOperatorL( CStifItemParser& aItem );
+		TInt SetNegateL( CStifItemParser& aItem );
+		
+		TInt FindL( CStifItemParser& aItem );		
+			
+		void HandleQueryCompleted( CMdEQuery& aQuery, TInt aError );
+    	
+    	void HandleQueryNewResults(CMdEQuery& aQuery,
+                                       TInt aFirstNewItemIndex,
+                                       TInt aNewItemCount);
+        TInt SetObjectQueryResultL( CStifItemParser& aItem );
+        TInt SetEventQueryResultL( CStifItemParser& aItem );
+        TInt SetRelationQueryResultL( CStifItemParser& aItem );
+        
+    private:
+        // Data
+        TInt iError;
+
+        RPointerArray<CMdEObjectDef> iObjectDefArray;
+        RPointerArray<CMdERelationDef> iRelationDefArray;
+        RPointerArray<CMdEEventDef> iEventDefArray;
+        RPointerArray<CMdEPropertyDef> iPropertyDefArray;
+        RPointerArray<CMdENamespaceDef> iNamespaceDefArray;
+        
+		RPointerArray<CMdEObject> iObjectArray;
+        RPointerArray<CMdERelation> iRelationArray;
+        RPointerArray<CMdEEvent> iEventArray;
+        RPointerArray<CMdEProperty> iPropertyArray;
+		RPointerArray<CMdELogicCondition> iLogicConditionArray;
+		RPointerArray<CMdERelationCondition> iRelationConditionArray;
+		RPointerArray<CMdEObjectCondition> iObjectConditionArray;
+		RPointerArray<CMdEPropertyCondition> iPropertyConditionArray;
+		RPointerArray<CMdEEventCondition> iEventConditionArray;
+
+        // Result data from callbacks.
+        TObserverNotificationType iNotificationType;
+        CMdESession* iNotificationSession;
+        RArray<TMdERelation> iNotificationRelationArray;
+        RArray<TItemId> iNotificationItemIdArray;
+
+        CDesCArrayFlat *iObjectDefNameArray;
+        CDesCArrayFlat *iRelationDefNameArray;
+		CDesCArrayFlat *iEventDefNameArray;
+		CDesCArrayFlat *iPropertyDefNameArray;
+		CDesCArrayFlat *iNamespaceDefNameArray;
+		
+		CDesCArrayFlat *iObjectNameArray;		
+        CDesCArrayFlat *iRelationNameArray;
+        CDesCArrayFlat *iEventNameArray;
+        
+        CDesCArrayFlat *iPropertyNameArray;
+        
+		CDesCArrayFlat *iRelationConditionNameArray;
+		CDesCArrayFlat *iObjectConditionNameArray;
+		CDesCArrayFlat *iEventConditionNameArray;
+		
+		CDesCArrayFlat *iLogicConditionNameArray;		
+		CDesCArrayFlat *iPropertyConditionNameArray;
+
+		RArray<TInt> iResultIndices;
+
+        CMdESession* iMdeSession;
+		CMdENamespaceDef* iDefaultNamespaceDef;
+		CMdEQuery *iQuery;
+		CMdELogicCondition *iQueryRoot;
+        TFileName iFilePath;
+        
+        CMdETestScripterAO* iAsyncHandler;
+        RMdEDataBuffer iMdEDataBuf; // Buffer for mde async request results
+        RPointerArray<CMdEInstanceItem> iItemArray;
+        TInt iItemCount;
+    };
+
+#endif      // MDETESTSCRIPTER_H
+
+// End of File