diff -r 7fdc9a71d314 -r 8ad140f3dd41 stif/stif_plat/inc/StifTestInterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/stif/stif_plat/inc/StifTestInterface.h Wed Oct 13 16:17:58 2010 +0300 @@ -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 +#include +#include + +// 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 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 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 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 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 TErrorNotificationPckg; + +// Different STIF internal commands. +enum TStifCommand + { + EStifCmdReceive, + EStifCmdSend, + EStifCmdReboot, + EStifCmdStoreState, + EStifCmdGetStoredState, + EStifCmdRebootProceed, + EStifCmdReceiveCancel, + EStifCmdMeasurement, + }; +typedef TPckg 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 TRebootParamsPckg; + +// Packaged TRebootStateParams +typedef TPckg TRebootStateParamsPckg; + +// Packaged TGetRebootStoredParams +typedef TPckg TGetRebootStoredParamsPckg; + +// Packaged TGetMeasurementParams +typedef TPckg 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