--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/stif/stif_plat/inc/TestEngineClient.inl Tue Feb 02 01:57:15 2010 +0200
@@ -0,0 +1,303 @@
+/*
+* 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 implementation of TestEngineClient's
+* inline functions.
+*
+*/
+
+#ifndef TEST_ENGINE_CLIENT_INL
+#define TEST_ENGINE_CLIENT_INL
+
+// CONSTANTS
+// None
+
+// MACROS
+// None
+
+// DATA TYPES
+// None
+
+// FUNCTION PROTOTYPES
+// None
+
+// FORWARD DECLARATIONS
+// None
+
+// CLASS DECLARATION
+
+/*
+-------------------------------------------------------------------------------
+
+ Class:CFixedFlatArray
+
+ Method: CFixedFlatArray
+
+ Description: Default constructor
+
+ C++ default constructor can NOT contain any code, that
+ might leave.
+
+ Parameters: None
+
+ Return Values: None
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+template <class T>
+CFixedFlatArray<T>::CFixedFlatArray() :
+ iArray( NULL ),
+ iBufferPtr(0,0)
+ {
+
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFixedFlatArray
+
+ Method: ConstructL
+
+ Description: Symbian OS second phase constructor
+
+ Symbian OS default constructor can leave.
+
+ Parameters: const TInt aCount: in: Count of contents
+
+ Return Values: None
+
+ Errors/Exceptions: Leaves if memory allocation for iArray of iBuffer fails
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+template <class T>
+void CFixedFlatArray<T>::ConstructL( const TInt aCount )
+ {
+
+ iCount = aCount;
+ iArray = new (ELeave) T[iCount];
+
+ const TInt size = iCount * sizeof (T);
+ iBuffer = HBufC8::NewMaxL ( size );
+
+ iBufferPtr.Set( iBuffer->Des() );
+ iBufferPtr.SetLength( size );
+ iBufferPtr.Set( (TUint8*) iArray, size,size );
+
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFixedFlatArray
+
+ Method: NewL
+
+ Description: Two-phased constructor.
+
+ Parameters: None
+
+ Return Values: CFixedFlatArray<T>: Array of CFixedFlatArray<T> objects
+
+ Errors/Exceptions: Leaves if ConstructL leaves
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+template <class T>
+CFixedFlatArray<T>* CFixedFlatArray<T>::NewL(TInt aSize)
+ {
+ CFixedFlatArray<T>* self = new ( ELeave ) CFixedFlatArray<T>();
+ CleanupStack::PushL( self );
+ self->ConstructL(aSize);
+ CleanupStack::Pop();
+ return self;
+
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFixedFlatArray
+
+ Method: ~CFixedFlatArray
+
+ Description: Destructor
+
+ Parameters: None
+
+ Return Values: None
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+template <class T>
+CFixedFlatArray<T>::~CFixedFlatArray()
+ {
+ delete[] iArray;
+ delete iBuffer;
+
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFixedFlatArray
+
+ Method: Des
+
+ Description: Returns descriptor for array
+
+ Parameters: None
+
+ Return Values: TPtr8&: Descriptor for array
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+template <class T>
+TPtr8& CFixedFlatArray<T>::Des()
+ {
+ return iBufferPtr;
+
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFixedFlatArray
+
+ Method: operator[]
+
+ Description: Returns index operator
+
+ Parameters: TInt aIndex: in: Index of object to be returned
+
+ Return Values: T&: Reference to requested object
+
+ Errors/Exceptions: Panics if aIndex is out of range
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+template <class T>
+T& CFixedFlatArray<T>::operator[] ( TInt aIndex ) const
+ {
+ CheckIndex( aIndex );
+
+ return iArray[aIndex];
+
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFixedFlatArray
+
+ Method: Count
+
+ Description: Returns count
+
+ Parameters: None
+
+ Return Values: TInt: iCount
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+template <class T>
+TInt CFixedFlatArray<T>::Count() const
+ {
+ return iCount;
+
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFixedFlatArray
+
+ Method: Set
+
+ Description: Set buffer to array.
+
+ Parameters: TInt aIndex: in: Index
+ T& aBuf: in: Buffer
+
+ Return Values: None
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+template <class T>
+void CFixedFlatArray<T>::Set( TInt aIndex, T& aBuf )
+ {
+ CheckIndex( aIndex );
+
+ iArray[aIndex] = aBuf;
+
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFixedFlatArray
+
+ Method: CheckIndex
+
+ Description: Set buffer to array.
+
+ Parameters: TInt aIndex: in: Index to be checked
+
+ Return Values: None
+
+ Errors/Exceptions: Panics if index is incorrect
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+template <class T>
+void CFixedFlatArray<T>::CheckIndex( TInt aIndex ) const
+ {
+ if ( aIndex < 0 || aIndex >= iCount )
+ {
+ User::Panic( _L( "CFixedFlatArray: Array index out of range" ), KErrArgument );
+ }
+
+ }
+
+#endif // TEST_ENGINE_CLIENT_INL
+
+// End of File
\ No newline at end of file