stif/stif_plat/inc/StifTestInterface.h
changeset 0 a03f92240627
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stif/stif_plat/inc/StifTestInterface.h	Tue Feb 02 01:57:15 2010 +0200
@@ -0,0 +1,355 @@
+/*
+* Copyright (c) 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: This file contains the header file of the 
+* TestInterface.
+*
+*/
+
+#ifndef TEST_INTERFACE_H
+#define TEST_INTERFACE_H
+
+
+//  INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+#include <StifTestModule.h>
+
+// CONSTANTS
+// None
+
+// MACROS
+// None
+
+// DATA TYPES
+// None
+
+// FUNCTION PROTOTYPES
+
+// This defines drive letters that is available in STIF TF.
+//@spe IMPORT_C const TChar StifDriveLetters( TInt aDriveNumber, TInt& aCount );
+
+// This works and used only in EKA2 environment and used from STIF
+// TestFramework internally.
+// Executable module uses defined capabilities(PlatSec's Capability model)
+// to start session. Function for starting the TestServer and
+// Testmodule/TestClass.
+IMPORT_C TInt StartSession();
+
+// FORWARD DECLARATIONS
+// None
+
+// CLASS DECLARATION
+const TInt KMaxStifInfoName = 0x10; 
+typedef TBuf<KMaxStifInfoName> TStifInfoName;
+
+// DESCRIPTION
+// TTestInfo defines the information for test case and Test Module.
+class TTestInfo 
+    {
+    public:
+        IMPORT_C TTestInfo();
+    public:
+        // The name of Test Module.
+        TName iModuleName;
+        // Test case info for test case execution.
+        TTestCaseInfo iTestCaseInfo;
+        // Config file to be used.
+        TFileName iConfig;
+    };
+    
+// Packaged TTestInfo
+typedef TPckg<TTestInfo> TTestInfoPckg;
+
+// CLASS DECLARATION
+
+// DESCRIPTION
+// TFullTestResult defines the full test case result information.
+class TFullTestResult
+    {
+    public:
+        IMPORT_C TFullTestResult();
+
+        enum TCaseExecutionResult
+        {
+            ECaseOngoing,
+            ECaseExecuted,
+            ECaseCancelled,
+            ECaseErrorFromModule,
+            ECaseLeave,
+            ECasePanic,
+            ECaseException,
+            ECaseTimeout,
+            ECaseSuicided,
+        };
+
+    public:
+        // Test case result.
+        TTestResult iTestResult;
+        // Timestamp when test case was started.
+        TTime iStartTime;
+        // Timestamp when test case was ended.
+        TTime iEndTime;
+        
+        // Test result type
+        TCaseExecutionResult iCaseExecutionResultType;      
+        // Test result code
+        TInt iCaseExecutionResultCode;
+    };
+
+// Packaged TFullTestResult
+typedef TPckg<TFullTestResult> TFullTestResultPckg;
+
+
+// CLASS DECLARATION
+
+// DESCRIPTION
+// TTestProgress defines the progress information from Test Module.
+class TTestProgress 
+    {
+    public:
+        IMPORT_C TTestProgress();
+    public:
+        // "Priority" of the progress information.
+        TInt iPosition;
+        // Description of the data to be printed.
+        TStifInfoName iDescription;
+        // The actual progress information.
+        TName iText;
+    };
+
+// Packaged TTestProgress
+typedef TPckg<TTestProgress> TTestProgressPckg;
+
+
+// CLASS DECLARATION
+
+// DESCRIPTION
+// TErrorNotification defines the error notifications
+class TErrorNotification 
+    {
+    public:
+        IMPORT_C TErrorNotification();
+    public:
+        // Error priority
+        TInt iPriority;
+        // Module reporting error
+        TStifInfoName iModule;
+        // The actual error information.
+        TName iText;
+    };
+
+// Attributes that can be changed with SetAttribute
+enum TAttribute
+    {
+    ELogPath,           // Log file path
+    ERebootPath,        // Reboot path definition
+    ERebootFilename,    // Reboot filename definition
+    EStifMeasurementOn,  // STIF's Measurement enable
+    EStifMeasurementOff // STIF's Measurement disable
+    };
+    
+// Packaged TErrorNotification
+typedef TPckg<TErrorNotification> TErrorNotificationPckg;
+
+// Different STIF internal commands.
+enum TStifCommand
+    {
+    EStifCmdReceive,
+    EStifCmdSend,
+    EStifCmdReboot,
+    EStifCmdStoreState,
+    EStifCmdGetStoredState,
+    EStifCmdRebootProceed,
+    EStifCmdReceiveCancel,
+    EStifCmdMeasurement,
+    };
+typedef TPckg<TStifCommand> TStifCommandPckg;
+
+// Class for Reboot parameter
+class TRebootParams
+    {
+    public:
+        CTestModuleIf::TRebootType aType;
+    };
+
+// Class for Reboot state parameters
+class TRebootStateParams
+    {
+    public:
+        TInt aCode;
+        TName aName;
+    };
+
+// Class for Reboot stored parameters
+class TGetRebootStoredParams
+    {
+    public:
+        TInt aCode;
+        TName aName;
+    };
+
+// Class for Reboot stored parameters(references)
+class TGetRebootStoredParamsRef
+    {
+    public:
+        TGetRebootStoredParamsRef( 
+            TInt& aCode, TName& aName ):iCode(aCode),iName(aName){};
+    public:
+        TInt& iCode;
+        TName& iName;
+    };
+
+// Class for measurement stored parameters
+class TGetMeasurementOptions
+    {
+    public:
+        TInt iOptions;
+    };
+
+// Class for measurement stored parameters(options)
+class TGetMeasurementOptionsRef
+    {
+    public:
+        TGetMeasurementOptionsRef( TInt& aOptions ): iOptions(aOptions){};
+    public:
+        TInt& iOptions;
+    };
+
+// This class offer generic attribute for passing client-server interface
+union TParams
+    {
+    TDes*                       aRemoteMsgRef;
+    const TDesC*                aRemoteMsgConstRef;
+    TRebootParams*              aRebootType;
+    TRebootStateParams*         aRebootState;
+    TGetRebootStoredParamsRef*  aRebootStoredRef;
+    TGetMeasurementOptionsRef*  aMeasurementOption;
+    };
+
+// Packaged TRebootParams
+typedef TPckg<TRebootParams> TRebootParamsPckg;
+
+// Packaged TRebootStateParams
+typedef TPckg<TRebootStateParams> TRebootStateParamsPckg;
+
+// Packaged TGetRebootStoredParams
+typedef TPckg<TGetRebootStoredParams> TGetRebootStoredParamsPckg;
+
+// Packaged TGetMeasurementParams
+typedef TPckg<TGetMeasurementOptions> TGetMeasurementOptionsPckg;
+
+
+// CLASS DECLARATION
+
+// DESCRIPTION
+// Base class for test measurement modules. Measurement modules implements
+// measurerement operations.
+NONSHARABLE_CLASS( CSTIFTestMeasurementImplementation ) : public CBase
+    {
+    public: // Enumerations
+
+    private: // Enumerations
+
+    public: // Constructors and destructor
+
+    public: // New functions
+
+        /**
+        * Pure virtual measurement start command.
+        * Start method's implementation is in measurement module.
+        */
+        virtual TInt Start( ) = 0;
+
+        /**
+        * Pure virtual measurement stop command.
+        * Stop method's implementation is in measurement module.
+        */
+        virtual TInt Stop( ) = 0;
+
+       /**
+        * Pure virtual measurement stop command.
+        * Stop method's implementation is in measurement module.
+        */
+        virtual CSTIFTestMeasurement::TSTIFMeasurementType MeasurementType() = 0;
+
+
+    public: // Functions from base classes
+
+    protected: // New functions
+
+    protected: // Functions from base classes
+
+    private:
+
+    public: //Data
+
+    protected: // Data
+
+    private: // Data
+
+    public: // Friend classes
+
+    protected: // Friend classes
+
+    private: // Friend classes
+
+    };
+
+// STIF utility class
+class TStifUtil
+	{
+    public: // Enumerations
+
+    private: // Enumerations
+
+    public: // Constructors and destructor
+
+    public: // New functions    
+		/**
+		 * Checks if file path contains drive letter. If not file is serched
+		 * on all drives and first hit is added to file name.
+		 */
+    	IMPORT_C static void CorrectFilePathL( TDes& aFilePath );
+    	
+    	/**
+    	 * Method used by both STIF and STIF UI to retrieve version of STIF  
+    	 */
+    	IMPORT_C static void STIFVersion(TInt& aMajorV, TInt& aMinorV, TInt& aBuildV, TDes& aRelDate);
+    
+    public: // Functions from base classes
+
+    protected: // New functions
+
+    protected: // Functions from base classes
+
+    private:
+
+    public: //Data
+
+    protected: // Data
+
+    private: // Data
+
+    public: // Friend classes
+
+    protected: // Friend classes
+
+    private: // Friend classes
+	
+	};
+    
+    
+#endif // TEST_INTERFACE_H
+
+// End of File