--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/apicompatanamdw/bcdrivers/os/cellularsrv/BCSmsUtilitiesTest/src/BCSmsUtilitiesTestCases.cpp Thu Apr 22 17:15:08 2010 +0530
@@ -0,0 +1,6897 @@
+/*
+* Copyright (c) 2002 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: ?Description
+*
+*/
+
+/* Changed by Vaibhav - 13Aug07 for Removing CodeScanner Warnings - High/medium */
+
+// INCLUDE FILES
+#include <e32math.h>
+#include "BCSmsUtilitiesTest.h"
+#include <gsmunmspacemobmsg.h>
+#include <S32file.h>
+#include <e32cons.h>
+#include <txtrich.h>
+
+#include <gsmuelem.h>
+#define KTimeStampSize 32
+_LIT(KTestNativeChar, "SmsGsmUtilities");
+_LIT8(KTestNativeChar8, "SmsGsmUtilities");
+_LIT8(KTestInfo8, "ABCDEFGH");
+_LIT8(KTestCommandData8, "CommandData");
+_LIT(KTestBuffer1, "ABCDEFGHIJKLMNOPQRSTUVWX");
+
+// ============================= LOCAL FUNCTIONS ===============================
+// -----------------------------------------------------------------------------
+// Create_Console
+// Creates a new Console Window
+// -----------------------------------------------------------------------------
+LOCAL_C CConsoleBase* Create_ConsoleL(const TDesC& title)
+ {
+ CConsoleBase* console;
+
+ console = Console::NewL(title,TSize( KConsFullScreen, KConsFullScreen));
+ CleanupStack::PushL( console );
+ return console;
+ }
+
+// -----------------------------------------------------------------------------
+// Print
+// Prints the result onto screen
+// -----------------------------------------------------------------------------
+LOCAL_C void Print(CConsoleBase* base, TInt result, const TDesC& text)
+ {
+ base->Printf(text);
+ if( result == KErrNone)
+ {
+ base->Printf(_L(" passed\n"));
+ }
+ else
+ {
+ base->Printf(_L("::Error code %d\n"), result);
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// Remove_Console
+// Deletes a new Console Window
+// -----------------------------------------------------------------------------
+LOCAL_C void Remove_Console(CConsoleBase* base)
+ {
+ //base->Getch();
+ CleanupStack::PopAndDestroy(base);
+ }
+
+void Check(TInt aValue, TInt aExpected )
+ {
+ if(aValue != aExpected)
+ {
+ RDebug::Print(_L("*** Expected value: %d, got: %d\r\n"), aExpected, aValue);
+ __ASSERT_ALWAYS(aValue != aExpected, User::Panic(_L("Active object Error"), 1));
+ }
+ }
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CBCSmsUtilitiesTest::Case
+// Returns a test case by number.
+//
+// This function contains an array of all available test cases
+// i.e pair of case name and test function. If case specified by parameter
+// aCaseNumber is found from array, then that item is returned.
+//
+// The reason for this rather complicated function is to specify all the
+// test cases only in one place. It is not necessary to understand how
+// function pointers to class member functions works when adding new test
+// cases. See function body for instructions how to add new test case.
+// -----------------------------------------------------------------------------
+//
+const TCaseInfo CBCSmsUtilitiesTest::Case (
+ const TInt aCaseNumber ) const
+ {
+
+
+ static TCaseInfoInternal const KCases[] =
+ {
+ // To add new test cases, add new items to this array
+ ENTRY( "CSmsAlphabetConverter", CBCSmsUtilitiesTest::TestSmsAlphabetConverterL ),
+ ENTRY( "CSmsBuffer", CBCSmsUtilitiesTest::TestSmsBufferL ),
+ ENTRY( "CSmsCommand", CBCSmsUtilitiesTest::TestSmsCommandL ),
+ ENTRY( "CSmsDeliver", CBCSmsUtilitiesTest::TestSmsDeliverL ),
+ ENTRY( "CSmsDeliverReport", CBCSmsUtilitiesTest::TestSmsDeliverReportL ),
+ ENTRY( "CSmsEditorBuffer", CBCSmsUtilitiesTest::TestSmsEditorBufferL ),
+ ENTRY( "CSmsInformationElement", CBCSmsUtilitiesTest::TestSmsInformationElementL ),
+ ENTRY( "CSmsMessage", CBCSmsUtilitiesTest::TestSmsMessageL ),
+ ENTRY( "CSmsPDU", CBCSmsUtilitiesTest::TestSmsPDUL ),
+ ENTRY( "CSmsStatusReport", CBCSmsUtilitiesTest::TestSmsStatusReportL ),
+ ENTRY( "CSmsSubmit", CBCSmsUtilitiesTest::TestSmsSubmitL ),
+ ENTRY( "CSmsSubmitReport", CBCSmsUtilitiesTest::TestSmsSubmitReportL ),
+ ENTRY( "CSmsUserData", CBCSmsUtilitiesTest::TestSmsUserDataL ),
+ };
+
+ // Verify that case number is valid
+ if( (TUint) aCaseNumber >= sizeof( KCases ) /
+ sizeof( TCaseInfoInternal ) )
+ {
+ // Invalid case, construct empty object
+ TCaseInfo null( (const TText*) L"" );
+ null.iMethod = NULL;
+ null.iIsOOMTest = EFalse;
+ null.iFirstMemoryAllocation = 0;
+ null.iLastMemoryAllocation = 0;
+ return null;
+ }
+
+ // Construct TCaseInfo object and return it
+ TCaseInfo tmp ( KCases[ aCaseNumber ].iCaseName );
+ tmp.iMethod = KCases[ aCaseNumber ].iMethod;
+ tmp.iIsOOMTest = KCases[ aCaseNumber ].iIsOOMTest;
+ tmp.iFirstMemoryAllocation = KCases[ aCaseNumber ].iFirstMemoryAllocation;
+ tmp.iLastMemoryAllocation = KCases[ aCaseNumber ].iLastMemoryAllocation;
+ return tmp;
+
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetAlphabet
+// Gets the coding scheme alphabet
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestGetAlphabet( CStifLogger* aLog, CSmsAlphabetConverter& aAlphabetConv)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling Alphabet()"));
+ TInt result = KErrNone;
+
+ //inline TSmsDataCodingScheme::TSmsAlphabet CSmsAlphabetConverter::Alphabet() const
+ TSmsDataCodingScheme::TSmsAlphabet alphabet = aAlphabetConv.Alphabet();
+
+ if( alphabet == TSmsDataCodingScheme::ESmsAlphabet8Bit )
+ {
+ aLog->Log(_L("Alphabet() Completed"));
+ aLog->Log(_L("Alphabet fetched"));
+ aLog->Log(_L("Get alphabet == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Get alphabet == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestConvertFromNative
+// Converts from the native character set to
+// unpacked user data elements of the desired character set.
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestConvertFromNative( CStifLogger* aLog, CSmsAlphabetConverter& aAlphabetConv)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ConvertFromNativeL()"));
+
+ TBufC<24> nativeChar(KTestNativeChar);
+ TBufC8<24> UDElements(KTestNativeChar8);
+ //IMPORT_C TPtrC8 ConvertFromNativeL(const TDesC& aNativeCharacters);
+ TPtrC8 convChar;
+ TRAPD( result, convChar.Set(aAlphabetConv.ConvertFromNativeL(nativeChar))) ;
+
+ TPtrC8 UDElementsPtr(UDElements);
+ if(convChar.Compare(UDElementsPtr))
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Convert from native == FAIL"));
+ }
+ else
+ {
+ aLog->Log(_L("ConvertFromNativeL() Completed"));
+ aLog->Log(_L("Conversion successfully performoded"));
+ aLog->Log(_L("Convert from native == PASS"));
+ }
+
+ return result;
+ }
+
+LOCAL_C TInt TestConvertFromNative2L( CStifLogger* aLog, CSmsAlphabetConverter& aAlphabetConv)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ConvertFromNative2L()"));
+
+ TBufC<24> nativeChar(KTestNativeChar);
+ TBufC8<24> UDElements(KTestNativeChar8);
+
+ TInt numUnconvertibleChars;
+ TInt numDowngradedChars;
+ TPtrC8 convChar;
+ TRAPD( result, convChar.Set(aAlphabetConv.ConvertFromNativeL(nativeChar,ESmsEncodingNone,numUnconvertibleChars,numDowngradedChars ))) ;
+
+ TPtrC8 UDElementsPtr(UDElements);
+ if(convChar.Compare(UDElementsPtr))
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Convert from native2 == FAIL"));
+ }
+ else
+ {
+ aLog->Log(_L("ConvertFromNative2L() Completed"));
+ aLog->Log(_L("Conversion successfully performoded"));
+ aLog->Log(_L("Convert from native2 == PASS"));
+ }
+
+ return result;
+ }
+// -----------------------------------------------------------------------------
+// TestConvertToNative
+// Converts the user data elements of the specified character set to
+// the native character set.
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestConvertToNative( CStifLogger* aLog, CSmsAlphabetConverter& aAlphabetConv)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ConvertToNativeL()"));
+
+ TBufC<24> nativeChar(KTestNativeChar);
+ TBufC8<24> UDElements(KTestNativeChar8);
+ //IMPORT_C TPtrC ConvertToNativeL(const TDesC8& aUDElements);
+ TPtrC convChar;
+ TRAPD( result, convChar.Set(aAlphabetConv.ConvertToNativeL(UDElements)));
+
+ TBufC<24> nativeCharPtr(nativeChar);
+ if(convChar.Compare(nativeCharPtr))
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Convert To native == FAIL"));
+ }
+ else
+ {
+ aLog->Log(_L("ConvertToNativeL() Completed"));
+ aLog->Log(_L("Conversion successfully performoded"));
+ aLog->Log(_L("Convert To native == PASS"));
+ }
+
+ return result;
+ }
+
+LOCAL_C TInt TestConvertToNative2L( CStifLogger* aLog, CSmsAlphabetConverter& aAlphabetConv)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ConvertToNative2L()"));
+
+ TBufC<24> nativeChar(KTestNativeChar);
+ TBufC8<24> UDElements(KTestNativeChar8);
+
+ TPtrC convChar;
+ TRAPD( result, convChar.Set(aAlphabetConv.ConvertToNativeL(UDElements,ESmsEncodingNone )));
+
+ TBufC<24> nativeCharPtr(nativeChar);
+ if(convChar.Compare(nativeCharPtr))
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Convert To native2 == FAIL"));
+ }
+ else
+ {
+ aLog->Log(_L("ConvertToNative2L() Completed"));
+ aLog->Log(_L("Conversion successfully performoded"));
+ aLog->Log(_L("Convert To native2 == PASS"));
+ }
+
+ return result;
+ }
+// -----------------------------------------------------------------------------
+// TestResetUnconvertedNativeCharacters
+// Resets the unconverted native character buffer
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestResetUnconvertedNativeCharacters( CStifLogger* aLog, CSmsAlphabetConverter& aAlphabetConv)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ResetUnconvertedNativeCharacters()"));
+
+ TInt result = KErrNone;
+
+ //inline void ResetUnconvertedNativeCharacters();
+ aAlphabetConv.ResetUnconvertedNativeCharacters();
+
+ aLog->Log(_L("ResetUnconvertedNativeCharacters() Completed"));
+ aLog->Log(_L("Reset performed successfully"));
+ aLog->Log(_L("Reset unconverted native characters == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestResetUnconvertedUDElements
+// Resets the unconverted user data elements buffer
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestResetUnconvertedUDElements( CStifLogger* aLog, CSmsAlphabetConverter& aAlphabetConv)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ResetUnconvertedUDElements()"));
+ TInt result = KErrNone;
+
+ //inline void ResetUnconvertedUDElements();
+ aAlphabetConv.ResetUnconvertedUDElements();
+
+ aLog->Log(_L("ResetUnconvertedUDElements() Completed"));
+ aLog->Log(_L("Reset performed successfully"));
+ aLog->Log(_L("Reset unconverted UD Elements == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestUnconvertedNativeCharacters
+// Gets the unconverted native characters
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestUnconvertedNativeCharacters( CStifLogger* aLog, CSmsAlphabetConverter& aAlphabetConv)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling UnconvertedNativeCharacters()"));
+ TInt result = KErrNone;
+
+ //inline TPtrC UnconvertedNativeCharacters();
+ TPtrC nativeCharPtr( aAlphabetConv.UnconvertedNativeCharacters() );
+
+ aLog->Log(_L("UnconvertedNativeCharacters() Completed"));
+ if(nativeCharPtr != KNullDesC )
+ aLog->Log(_L("Result data:Characters: %s"), nativeCharPtr.Ptr());
+ else
+ aLog->Log(_L("Result data:Characters: NULL "));
+ aLog->Log(_L("Get unconverted native characters == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestUnconvertedUDElements
+// Gets the unconverted user data elements
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestUnconvertedUDElements( CStifLogger* aLog, CSmsAlphabetConverter& aAlphabetConv)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling UnconvertedUDElements()"));
+ TInt result = KErrNone;
+
+ //inline TPtrC8 UnconvertedUDElements();
+ TPtrC8 UDElementsPtr( aAlphabetConv.UnconvertedUDElements());
+
+ aLog->Log(_L("UnconvertedUDElements() Completed"));
+ if( UDElementsPtr!= KNullDesC8 )
+ aLog->Log(_L("Result data:Characters: %s"), UDElementsPtr.Ptr());
+ else
+ aLog->Log(_L("Result data:Characters: NULL"));
+ aLog->Log(_L("Get unconverted UD Elements == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestDelete
+// Deletes data from the buffer
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestDelete( CStifLogger* aLog, CSmsBuffer& aBuffer)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling DeleteL()"));
+
+ TInt position = 2;
+ TInt length = 2;
+ //IMPORT_C void DeleteL(TInt aPos,TInt aLength);
+ TRAPD( result, aBuffer.DeleteL( position, length));
+
+ if( result == KErrNone )
+ {
+ aLog->Log(_L("DeleteL() Completed"));
+ aLog->Log(_L("Data successfully deleted"));
+ aLog->Log(_L("Delete == PASS"));
+ }
+ else
+ aLog->Log(_L("Delete == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestReset
+// Resets the buffer
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestReset( CStifLogger* aLog, CSmsBuffer& aBuffer)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling Reset()"));
+ TInt result = KErrNone;
+
+ //IMPORT_C void Reset();
+ aBuffer.Reset();
+
+ aLog->Log(_L("Reset() Completed"));
+ aLog->Log(_L("Data successfully reseted"));
+ aLog->Log(_L("Reset == PASS"));
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestExtract
+// Extracts buffer data to a descriptor
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestExtract( CStifLogger* aLog, CSmsBuffer& aBuffer)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling Extract()"));
+ TInt result = KErrNone;
+
+ TBuf<24> buffer;
+ TInt position = 2;
+ TInt length = 6;
+ //IMPORT_C void Extract(TDes& aBuf,TInt aPos,TInt aLength) const;
+ aBuffer.Extract(buffer, position, length);
+
+ aLog->Log(_L("Extract() Completed"));
+ aLog->Log(_L("Data successfully extracted"));
+ aLog->Log(_L("Extract == PASS"));
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestInsert
+// Inserts data into the buffer
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestInsert( CStifLogger* aLog, CSmsBuffer& aBuffer)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling InsertL()"));
+
+ TBufC<24> buffer(KTestBuffer1);
+ TInt position = 0;
+ //IMPORT_C void InsertL(TInt aPos,const TDesC& aBuf);
+ TRAPD( result, aBuffer.InsertL(position, buffer));
+
+ if( result == KErrNone )
+ {
+ aLog->Log(_L("InsertL() Completed"));
+ aLog->Log(_L("Data successfully Inserted"));
+ aLog->Log(_L("InsertL == PASS"));
+ }
+ else
+ aLog->Log(_L("InsertL == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetLength
+// Gets the amount of space currently used in the buffer.
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestGetLength( CStifLogger* aLog, CSmsBuffer& aBuffer)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling Length()"));
+ TInt result = KErrNone;
+
+ //IMPORT_C TInt Length() const;
+ TInt length = aBuffer.Length();
+
+ if(length == 22)
+ {
+ aLog->Log(_L("Length() Completed"));
+ aLog->Log(_L("Result data: Length: %d"), length);
+ aLog->Log(_L("Length == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Length == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestExternalize
+// Externalises the object.
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestExternalizeL( CStifLogger* aLog, CSmsBuffer& aBuffer)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ExternalizeL()"));
+
+ RFs session;
+ User::LeaveIfError(session.Connect());
+ TBufC<64> storename = _L("C:\\SMSGSMUtilities_CSmsBuffer");
+ RFileWriteStream write;
+
+ write.Create(session, storename, EFileWrite);
+ TInt err = write.Open(session, storename, EFileWrite);
+
+ //IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
+ TRAPD( result, aBuffer.ExternalizeL( write ));
+
+ write.CommitL();
+ write.Close();
+
+ session.Close();
+ if( result == KErrNone )
+ {
+ aLog->Log(_L("ExternalizeL() Completed"));
+ aLog->Log(_L("Buffer successfully externalized"));
+ aLog->Log(_L("ExternalizeL == PASS"));
+ }
+ else
+ aLog->Log(_L("ExternalizeL == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestInternalize
+// Internalises the object.
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestInternalizeL( CStifLogger* aLog, CSmsBuffer& aBuffer)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling InternalizeL()"));
+
+ RFs session;
+ User::LeaveIfError(session.Connect());
+ TBufC<64> storename = _L("C:\\SMSGSMUtilities_CSmsBuffer");
+ RFileReadStream read;
+
+ TInt erro = read.Open(session, storename, EFileRead);
+
+ //IMPORT_C void InternalizeL(RReadStream &aStream)
+ TRAPD( result, aBuffer.InternalizeL( read ));
+
+ read.Close();
+
+ //now delete the store
+ TInt err = session.Delete(storename);
+ if(err != KErrNone)
+ {
+ RDebug::Print(_L("Error %d deleting \"%S\" file.\n"), err, &storename);
+ }
+
+ session.Close();
+ if( result == KErrNone )
+ {
+ aLog->Log(_L("InternalizeL() Completed"));
+ aLog->Log(_L("Buffer successfully internalized"));
+ aLog->Log(_L("InternalizeL == PASS"));
+ }
+ else
+ aLog->Log(_L("InternalizeL == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestAddInformationElement
+// Adds an Information Element.
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestAddInformationElement( CStifLogger* aLog, CSmsCommand& aCommand)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling AddInformationElementL()"));
+
+ CSmsInformationElement::TSmsInformationElementIdentifier identifier = CSmsInformationElement::ESmsIEIConcatenatedShortMessages8BitReference;
+ TBufC8<24> information(KTestInfo8);
+ //IMPORT_C void AddInformationElementL(CSmsInformationElement::TSmsInformationElementIdentifier aIdentifier, TDesC8& aData);
+ TRAPD( result, aCommand.AddInformationElementL( identifier, information));
+
+ if( result ==KErrNone )
+ {
+ aLog->Log(_L("AddInformationElementL() completed"));
+ aLog->Log(_L("Information element successfully added"));
+ aLog->Log(_L("Add information element == PASS"));
+ }
+ else
+ aLog->Log(_L("Add information element == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestRemoveInformationElement
+// Removes an Information Element
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestRemoveInformationElement( CStifLogger* aLog, CSmsCommand& aCommand)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling RemoveInformationElement()"));
+ TInt result = KErrNone;
+
+ TInt index = 0;
+ //IMPORT_C void RemoveInformationElement(TInt aIndex);
+ aCommand.RemoveInformationElement( index );
+
+ aLog->Log(_L("RemoveInformationElement() completed"));
+ aLog->Log(_L("Information element successfully removed"));
+ aLog->Log(_L("Remove information element == PASS"));
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestMaxCommandDataLength
+// Gets the Maximum Data Length of the Command
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestMaxCommandDataLength( CStifLogger* aLog, CSmsCommand& aCommand)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling MaxCommandDataLength()"));
+ TInt result = KErrNone;
+
+ //IMPORT_C TInt MaxCommandDataLength() const;
+ TInt maxLength = aCommand.MaxCommandDataLength();
+
+ aLog->Log(_L("MaxCommandDataLength() completed"));
+ aLog->Log(_L("Result data:Max length: %d"),maxLength);
+ aLog->Log(_L("Get max command data length == PASS"));
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetCommandData
+// Gets the Command Data
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestGetCommandData( CStifLogger* aLog, CSmsCommand& aCommand)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling CommandData()"));
+ TInt result = KErrNone;
+
+ //IMPORT_C TPtrC8 CommandData() const;
+ TPtrC8 commandPtr = aCommand.CommandData();
+
+ if( commandPtr == KTestCommandData8)
+ {
+ aLog->Log(_L("CommandData() completed"));
+ aLog->Log(_L("Result data:Command data: %s"), commandPtr.Ptr());
+ aLog->Log(_L("Get command data == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Get command data == FAIL"));
+ }
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetCommandType
+// Gets the Command Type
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestGetCommandType( CStifLogger* aLog, CSmsCommand& aCommand)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling CommandType()"));
+ TInt result = KErrNone;
+
+ //IMPORT_C TInt CommandType() const;
+ TInt commandType = aCommand.CommandType();
+
+ if( commandType == TSmsCommandType::ESmsCommandTypeEnableStatusReportRequest)
+ {
+ aLog->Log(_L("CommandType() completed"));
+ aLog->Log(_L("Result data:Command Type: %d"), commandType);
+ aLog->Log(_L("Get command Type == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Get command Type == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetCommandType
+// Sets the Command Type
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestSetCommandType( CStifLogger* aLog, CSmsCommand& aCommand)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetCommandType()"));
+ TInt result = KErrNone;
+
+ TSmsCommandType::TSmsCommandTypeValue commandType = TSmsCommandType::ESmsCommandTypeEnableStatusReportRequest;
+ //IMPORT_C void SetCommandType(TSmsCommandType::TSmsCommandTypeValue aCommandType);
+ aCommand.SetCommandType( commandType );
+
+ aLog->Log(_L("SetCommandType() completed"));
+ aLog->Log(_L("Command type successfully stored"));
+ aLog->Log(_L("Set command Type == PASS"));
+ return result;
+ }
+
+
+//----------------------------------------------------------------------------
+// TestInformationElement
+// Gets an Information Element
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestInformationElement( CStifLogger* aLog, CSmsCommand& aCommand)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling InformationElement()"));
+ TInt result = KErrNone;
+
+ TInt index = 0;
+ //IMPORT_C CSmsInformationElement& InformationElement(TInt aIndex) const;
+ CSmsInformationElement& element = aCommand.InformationElement(index);
+
+ aLog->Log(_L("InformationElement() completed"));
+ aLog->Log(_L("Information element successfully fetched"));
+ aLog->Log(_L("Get information element == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestInformationElementIndex
+// Gets index of a specified Information Element.
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestInformationElementIndex( CStifLogger* aLog, CSmsCommand& aCommand)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling InformationElementIndex()"));
+ TInt result = KErrNone;
+
+ CSmsInformationElement::TSmsInformationElementIdentifier identifier = CSmsInformationElement::ESmsIEIConcatenatedShortMessages8BitReference;;
+ TInt index;
+ //IMPORT_C TBool InformationElementIndex(CSmsInformationElement::TSmsInformationElementIdentifier aIdentifier,
+ // TInt& aIndex) const;
+ TInt length = aCommand.InformationElementIndex(identifier, index);
+
+ aLog->Log(_L("InformationElementIndex() completed"));
+ aLog->Log(_L("Information element index successfully fetched"));
+ aLog->Log(_L("Get information element index == PASS"));
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetMessageNumber
+// Gets the Message Number
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestGetMessageNumber( CStifLogger* aLog, CSmsCommand& aCommand)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling MessageNumber()"));
+ TInt result = KErrNone;
+
+ //IMPORT_C TInt MessageNumber() const;
+ TInt number = aCommand.MessageNumber();
+
+ if( number == 1 )
+ {
+ aLog->Log(_L("MessageNumber() completed"));
+ aLog->Log(_L("Result data:Message number: %d"),number);
+ aLog->Log(_L("Get message number == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Get message number == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetMessageNumber
+// Sets the Message Number
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestSetMessageNumber( CStifLogger* aLog, CSmsCommand& aCommand)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetMessageNumber()"));
+ TInt result = KErrNone;
+
+ TInt number = 1;
+ //IMPORT_C void SetMessageNumber(TInt aMessageNumber);
+ aCommand.SetMessageNumber(number);
+
+ aLog->Log(_L("SetMessageNumber() completed"));
+ aLog->Log(_L("Message number successfully stored"));
+ aLog->Log(_L("Set Message Number == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetMessageReference
+// Gets the Message Reference
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestGetMessageReference( CStifLogger* aLog, CSmsCommand& aCommand)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling MessageReference()"));
+ TInt result = KErrNone;
+
+ //IMPORT_C TInt MessageReference() const;
+ TInt getRef = aCommand.MessageReference();
+
+ if( getRef == 1 )
+ {
+ aLog->Log(_L("MessageReference() Completed"));
+ aLog->Log(_L("result data:Message reference: %d"), getRef);
+ aLog->Log(_L("Get Message Reference == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Get Message Reference == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetMessageReference
+// Sets the Message Reference
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestSetMessageReference( CStifLogger* aLog, CSmsCommand& aCommand)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetMessageReference()"));
+ TInt result = KErrNone;
+
+ TInt setRef = 1;
+ //IMPORT_C void SetMessageReference(TInt aMessageReference);
+ aCommand.SetMessageReference(setRef);
+
+ aLog->Log(_L("SetMessageReference() Completed"));
+ aLog->Log(_L("Message reference successfully stored"));
+ aLog->Log(_L("Set Message Reference == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestNumInformationElements
+// Gets the number of Information Elements in the User Data
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestNumInformationElements( CStifLogger* aLog, CSmsCommand& aCommand)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling NumInformationElements()"));
+ TInt result = KErrNone;
+
+ //IMPORT_C TInt NumInformationElements() const;
+ TInt numElements = aCommand.NumInformationElements();
+
+ aLog->Log(_L("NumInformationElements() Completed"));
+ aLog->Log(_L("result data: Number of elements: %d"), numElements);
+ aLog->Log(_L("Get Number Of Information Elements == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetStatusReportRequest
+// Gets Status Report Request flag
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestGetStatusReportRequest( CStifLogger* aLog, CSmsCommand& aCommand)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling StatusReportRequest()"));
+ TInt result = KErrNone;
+
+ //IMPORT_C TBool StatusReportRequest() const;
+ TBool reportReq = aCommand.StatusReportRequest();
+
+ if( reportReq )
+ {
+ aLog->Log(_L("SetStatusReportRequest() completed"));
+ aLog->Log(_L("Status report request flag successfully fetched"));
+ aLog->Log(_L("Get status report request == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Get status report request == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetStatusReportRequest
+// Externalises the object.
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestSetStatusReportRequest( CStifLogger* aLog, CSmsCommand& aCommand)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetStatusReportRequest()"));
+ TInt result = KErrNone;
+
+ TBool reportReq = ETrue;
+ //IMPORT_C void SetStatusReportRequest(TBool aRequest);
+ aCommand.SetStatusReportRequest(reportReq);
+
+ aLog->Log(_L("SetStatusReportRequest() completed"));
+ aLog->Log(_L("Status report request flag successfully stored"));
+ aLog->Log(_L("Set status report request == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetCommandData
+// Sets the Command Data
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestSetCommandData( CStifLogger* aLog, CSmsCommand& aCommand)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetCommandDataL()"));
+
+ TBufC8<24> commandData(KTestCommandData8);
+ //IMPORT_C void SetCommandDataL(const TDesC8& aData);
+ TRAPD( result, aCommand.SetCommandDataL(commandData));
+
+ if( result == KErrNone )
+ {
+ aLog->Log(_L("SetCommandDataL() completed"));
+ aLog->Log(_L("Command data successfully stored"));
+ aLog->Log(_L("Set command data == PASS"));
+ }
+ else
+ aLog->Log(_L("Set command data == FAIL"));
+
+ return result;
+ }
+// -----------------------------------------------------------------------------
+// TestSmsCommandDuplicateL
+// Creates a copy of the object
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestSmsCommandDuplicateL( CStifLogger* aLog, CSmsCommand& aCommand)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SmsCommandDuplicateL()"));
+
+ TInt result = KErrNone;
+
+ CSmsCommand* dupObj = aCommand.DuplicateL();
+
+ if( dupObj )
+ {
+ aLog->Log(_L("TestSmsCommandDuplicateL() completed"));
+ aLog->Log(_L("Object successfully created"));
+ aLog->Log(_L("SmsCommandDuplicateL == PASS"));
+
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("SmsCommandDuplicateL == FAIL"));
+ }
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetMoreMessagesToSend
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetMoreMessagesToSend( CStifLogger* aLog, CSmsDeliver& aDeliver)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetMoreMessagesToSend()"));
+ TInt result = KErrNone;
+
+ //void SetMoreMessagesToSend(TBool aMore);
+ aDeliver.SetMoreMessagesToSend(EFalse);
+
+ aLog->Log(_L("SetMoreMessagesToSend() Completed"));
+ aLog->Log(_L("More messages to send - flag successfully stored"));
+ aLog->Log(_L("Set more messages to send == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetMoreMessagesToSend
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetMoreMessagesToSend( CStifLogger* aLog, CSmsDeliver& aDeliver)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling MoreMessagesToSend()"));
+ TInt result = KErrNone;
+
+ //TBool MoreMessagesToSend() const;
+ TBool msgs = aDeliver.MoreMessagesToSend();
+
+ if( msgs == EFalse)
+ {
+ aLog->Log(_L("MoreMessagesToSend() Completed"));
+ aLog->Log(_L("Result Data:More messages to send flag: %d"), msgs);
+ aLog->Log(_L("Get more messages to send == PASS"));
+ }
+ else
+ {
+ result =KErrGeneral;
+ aLog->Log(_L("Get more messages to send == PASS"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetReplyPath
+// Sets Reply Path flag
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetReplyPath( CStifLogger* aLog, CSmsDeliver& aDeliver)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetReplyPath()"));
+ TInt result = KErrNone;
+
+ //void SetReplyPath(TBool aReplyPath);
+ aDeliver.SetReplyPath(EFalse);
+
+ aLog->Log(_L("SetReplyPath() completed"));
+ aLog->Log(_L("Reply path - flag successfully stored"));
+ aLog->Log(_L("Set reply path == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetReplyPath
+// Gets Reply Path flag
+// If a Reply Path exists, the recipient of the SMS can reply using the same
+// service center address
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetReplyPath( CStifLogger* aLog, CSmsDeliver& aDeliver)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ReplyPath()"));
+ TInt result = KErrNone;
+
+ //TBool ReplyPath() const;
+ TBool path = aDeliver.ReplyPath();
+
+ if(path == EFalse)
+ {
+ aLog->Log(_L("ReplyPath() Completed"));
+ aLog->Log(_L("Result data:Reply path flag: %d "), path);
+ aLog->Log(_L("Get reply path == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Get reply path == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetStatusReportIndication
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetStatusReportIndication( CStifLogger* aLog, CSmsDeliver& aDeliver)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetStatusReportIndication()"));
+ TInt result = KErrNone;
+
+ //void SetStatusReportIndication(TBool aIndication);
+ aDeliver.SetStatusReportIndication(ETrue);
+
+ aLog->Log(_L("SetStatusReportIndication() Completed"));
+ aLog->Log(_L("Status report flag successfully stored"));
+ aLog->Log(_L("Set status report indication == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetStatusReportIndication
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetStatusReportIndication( CStifLogger* aLog, CSmsDeliver& aDeliver)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling StatusReportIndication()"));
+ TInt result = KErrNone;
+
+ //TBool StatusReportIndication() const;
+ TBool indication = aDeliver.StatusReportIndication();
+
+ if( indication )
+ {
+ aLog->Log(_L("StatusReportIndication() Completed"));
+ aLog->Log(_L("Result data:Status report flag: %d "), indication);
+ aLog->Log(_L("Get status report indication == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Get status report indication == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetServiceCenterTimeStamp
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetServiceCenterTimeStamp( CStifLogger* aLog, CSmsDeliver& aDeliver)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetServiceCenterTimeStamp()"));
+ TInt result = KErrNone;
+
+ const TTime time(TDateTime(2006,EJanuary,01,12,0,0,0));
+ //void SetServiceCenterTimeStamp(const TTime& aTime,TInt aNumQuarterHours=0)
+ aDeliver.SetServiceCenterTimeStamp(time);
+
+ aLog->Log(_L("SetServiceCenterTimeStamp() Completed"));
+ aLog->Log(_L("Time stamp successfully stored"));
+ aLog->Log(_L("Set service center time stamp == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetServiceCenterTimeStamp
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetServiceCenterTimeStampL( CStifLogger* aLog, CSmsDeliver& aDeliver)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ServiceCenterTimeStamp()"));
+ TInt result = KErrNone;
+
+ TBuf<30> string;
+ _LIT( KFormat, "%*E%*D%X%*N%*Y %1 %2 '%3 %H%:1%T%:2%S");
+ TTime setTime(TDateTime(2006,EJanuary,01,12,0,0,0));
+ TTime getTime;
+ TInt numQuarterHrs;
+ //void ServiceCenterTimeStamp(TTime& aTime,TInt& aNumQuarterHours);
+ aDeliver.ServiceCenterTimeStamp(getTime, numQuarterHrs);
+
+ if( getTime == setTime )
+ {
+ getTime.FormatL(string, KFormat);
+ aLog->Log(_L("ServiceCenterTimeStamp() Completed"));
+ aLog->Log(_L("Result data:Time stamp: %S"), &string);
+ //aLog->Log(_L("Time zone difference: %d"), );
+ aLog->Log(_L("Get service center time stamp == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Get service center time stamp == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetProtocolIdentifier
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetProtocolIdentifier( CStifLogger* aLog, CSmsDeliver& aDeliver)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ProtocolIdentifier()"));
+ TInt result = KErrNone;
+
+ //const TSmsProtocolIdentifier* ProtocolIdentifier() const;
+ const TSmsProtocolIdentifier* id = aDeliver.ProtocolIdentifier();
+
+ aLog->Log(_L("ProtocolIdentifier() Completed"));
+ aLog->Log(_L("Result data:Protocol identifier: %d"), id->operator TInt());
+ aLog->Log(_L("Get protocol identifier == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSmsDeliverDuplicateL
+// Creates a copy of the object
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestSmsDeliverDuplicateL( CStifLogger* aLog, CSmsDeliver& aDeliver)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SmsDeliverDuplicateL()"));
+
+ TInt result = KErrNone;
+
+ CSmsDeliver* dupObj = aDeliver.DuplicateL();
+
+ if( dupObj )
+ {
+ aLog->Log(_L("TestSmsDeliverDuplicateL() completed"));
+ aLog->Log(_L("Object successfully created"));
+ aLog->Log(_L("SmsDeliverDuplicateL == PASS"));
+
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("SmsDeliverDuplicateL == FAIL"));
+ }
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetIsRPError
+// Gets the Reply Path Error flag
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetIsRPError (CStifLogger* aLog, CSmsDeliverReport& aDeliverReport)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling IsRPError()"));
+
+ TInt result = KErrNone;
+
+ // TBool IsRPError() const
+ TBool checkres = aDeliverReport.IsRPError();
+
+ if( checkres )
+ {
+ aLog->Log( _L("IsRPError() completed"));
+ aLog->Log(_L("Result data:is RP error flag: %d"),checkres);
+ aLog->Log( _L("Get is RP error == PASS"));
+ }
+ else
+ aLog->Log( _L("Get is RP error == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetIsRPError
+// Gets the Reply Path Error flag
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetIsRPError (CStifLogger* aLog, CSmsDeliverReport& aDeliverReport)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetIsRPError()"));
+
+ TInt result = KErrNone;
+ TBool tempVar = ETrue;
+
+ // inline void SetIsRPError(TBool aIsRPError)
+ aDeliverReport.SetIsRPError (tempVar);
+
+ aLog->Log( _L("SetIsRPError() completed"));
+ aLog->Log( _L("Is RP error flag stored successfully"));
+ aLog->Log( _L("Set is RP error == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetFailureCause
+// Gets the Failure Cause
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetFailureCause (CStifLogger* aLog, CSmsDeliverReport& aDeliverReport)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling FailureCause()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C TInt FailureCause() const
+ TInt checkres = aDeliverReport.FailureCause ();
+
+ if(checkres == TSmsFailureCause::ESmsPIDErrorCannotReplaceShortMessage)
+ {
+ aLog->Log( _L("FailureCause() completed"));
+ _LIT(tempVal,"result data:failure cause: %d");
+ aLog->Log(tempVal,checkres);
+ aLog->Log( _L("Get failure cause == PASS"));
+ }
+ else
+ aLog->Log( _L("Get failure cause == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetFailureCause
+// Sets the Failure Cause
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetFailureCause (CStifLogger* aLog, CSmsDeliverReport& aDeliverReport)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetFailureCause()"));
+
+ TInt result = KErrNone;
+ TSmsFailureCause::TSmsFailureCauseError aFailureCause =
+ TSmsFailureCause::ESmsPIDErrorCannotReplaceShortMessage;
+
+ // IMPORT_C void SetFailureCause
+ // (TSmsFailureCause::TSmsFailureCauseError aFailureCause)
+ aDeliverReport.SetFailureCause (aFailureCause);
+
+ if(result == KErrNone)
+ {
+ aLog->Log( _L("SetFailureCause() completed"));
+ aLog->Log( _L("Failure cause stored successfully"));
+ aLog->Log( _L("Set failure cause == PASS"));
+ }
+ else
+ aLog->Log( _L("Set failure cause == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSmsDeliverReportDuplicateL
+// Creates a copy of the object
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestSmsDeliverReportDuplicateL( CStifLogger* aLog, CSmsDeliverReport& aDeliverReport)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SmsDeliverReportDuplicateL()"));
+
+ TInt result = KErrNone;
+
+ CSmsDeliverReport* dupObj = aDeliverReport.DuplicateL();
+
+ if( dupObj )
+ {
+ aLog->Log(_L("TestSmsDeliverReportDuplicateL() completed"));
+ aLog->Log(_L("Object successfully created"));
+ aLog->Log(_L("SmsDeliverReportDuplicateL == PASS"));
+
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("SmsDeliverReportDuplicateL == FAIL"));
+ }
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestDelete
+// Deletes data from the buffer
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestDelete( CStifLogger* aLog, CSmsEditorBuffer& aBuffer)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling DeleteL()"));
+
+ TInt position = 2;
+ TInt length = 2;
+ //IMPORT_C void DeleteL(TInt aPos,TInt aLength);
+ TRAPD( result, aBuffer.DeleteL( position, length));
+
+ if( result == KErrNone )
+ {
+ aLog->Log(_L("DeleteL() Completed"));
+ aLog->Log(_L("Data successfully deleted"));
+ aLog->Log(_L("Delete == PASS"));
+ }
+ else
+ aLog->Log(_L("Delete == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestReset
+// Resets the buffer
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestReset( CStifLogger* aLog, CSmsEditorBuffer& aBuffer)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling Reset()"));
+ TInt result = KErrNone;
+
+ //IMPORT_C void Reset();
+ aBuffer.Reset();
+
+ aLog->Log(_L("Reset() Completed"));
+ aLog->Log(_L("Data successfully reseted"));
+ aLog->Log(_L("Reset == PASS"));
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestExtract
+// Extracts buffer data to a descriptor
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestExtract( CStifLogger* aLog, CSmsEditorBuffer& aBuffer)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling Extract()"));
+ TInt result = KErrNone;
+
+ TBuf<24> buffer;
+ TInt position = 2;
+ TInt length = 6;
+ //IMPORT_C void Extract(TDes& aBuf,TInt aPos,TInt aLength) const;
+ aBuffer.Extract(buffer, position, length);
+
+ aLog->Log(_L("Extract() Completed"));
+ aLog->Log(_L("Data successfully extracted"));
+ aLog->Log(_L("Extract == PASS"));
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestInsert
+// Inserts data into the buffer
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestInsert( CStifLogger* aLog, CSmsEditorBuffer& aBuffer)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling InsertL()"));
+
+ TBufC<24> buffer(KTestBuffer1);
+ TInt position = 0;
+ //IMPORT_C void InsertL(TInt aPos,const TDesC& aBuf);
+ TRAPD( result, aBuffer.InsertL(position, buffer));
+
+ if( result == KErrNone )
+ {
+ aLog->Log(_L("InsertL() Completed"));
+ aLog->Log(_L("Data successfully Inserted"));
+ aLog->Log(_L("Delete == PASS"));
+ }
+ else
+ aLog->Log(_L("Delete == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetLength
+// Gets the amount of space currently used in the buffer.
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestGetLength( CStifLogger* aLog, CSmsEditorBuffer& aBuffer)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling Length()"));
+ TInt result = KErrNone;
+
+ //IMPORT_C TInt Length() const;
+ TInt length = aBuffer.Length();
+
+ if(length == 22)
+ {
+ aLog->Log(_L("Length() Completed"));
+ aLog->Log(_L("Result data: Length: %d"), length);
+ aLog->Log(_L("Length == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Length == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetIdentifier
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetIdentifier( CStifLogger* aLog, CSmsInformationElement& aElement)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling Identifier()"));
+ TInt result = KErrNone;
+
+ //TSmsInformationElementIdentifier Identifier() const;
+ CSmsInformationElement::TSmsInformationElementIdentifier id = aElement.Identifier();
+
+ aLog->Log(_L("Identifier() Completed"));
+ aLog->Log(_L("Result data: Identifier: %d"),id);
+ aLog->Log(_L("Get identifier == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetDataTPtr8
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetDataTPtr8( CStifLogger* aLog, CSmsInformationElement& aElement)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling TPtr8 Data()"));
+ TInt result = KErrNone;
+
+ //TPtr8 Data();
+ TPtr8 data = aElement.Data();
+
+ aLog->Log(_L("TPtr8 Data() Completed"));
+ aLog->Log(_L("Result data: Data: %s"), data.Ptr());
+ aLog->Log(_L("Get data (TPtr8) == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetDataTDesC8
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetDataTDesC8( CStifLogger* aLog, CSmsInformationElement& aElement)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling TDesC8& Data()"));
+ TInt result = KErrNone;
+
+ //const TDesC8& Data() const;
+ const TBufC8<32> data = aElement.Data();
+
+ aLog->Log(_L("TDesC8& Data() Completed"));
+ aLog->Log(_L("Result data: Data: %s"), data.Ptr());
+ aLog->Log(_L("Get data (TDesC8) == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestConstructionSmsPDUType
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestConstructionTGsmSms_MessageL(CStifLogger* aLog)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling CSmsMessage::NewL(TGsmSms)"));
+ TInt result = KErrNone;
+
+ RFs session;
+ User::LeaveIfError(session.Connect());
+ TGsmSms sms;
+ CSmsBuffer* buffer = CSmsBuffer::NewL();
+ CCnvCharacterSetConverter* characterSetConverter = CCnvCharacterSetConverter::NewL();
+ //static CSmsPDU* NewL(TSmsPDUType aType,CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs,TBool aIsRPError=EFalse);
+ CSmsPDU* PDU = CSmsPDU::NewL(CSmsPDU::ESmsDeliver, *characterSetConverter, session);
+ PDU->EncodeMessagePDUL( sms );
+
+ //static CSmsMessage* NewL(RFs& aFs, const TGsmSms& aGsmSms,CSmsBufferBase* aBuffer,
+ // TBool aIsRPError=EFalse,TBool aIsMobileTerminated=ETrue);
+ CSmsMessage* message = CSmsMessage::NewL(session, sms, buffer);
+ CleanupStack::PushL(message);
+
+ if(message == NULL )
+ result = KErrGeneral;
+
+ CleanupStack::PopAndDestroy();
+ session.Close();
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetType
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetType(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling Type()"));
+ TInt result = KErrNone;
+
+ //CSmsPDU::TSmsPDUType Type() const;
+ CSmsPDU::TSmsPDUType type = aMessage.Type();
+
+ if( type == CSmsPDU::ESmsDeliver )
+ {
+ aLog->Log(_L("Type() Completed"));
+ aLog->Log(_L("Result data: Type: %d"), type);
+ aLog->Log(_L("Get type == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Get type == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetIsComplete
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetIsComplete(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling IsComplete()"));
+ TInt result = KErrNone;
+
+ //TBool IsComplete() const;
+ TBool res = aMessage.IsComplete();
+
+ aLog->Log(_L("IsComplete() Completed"));
+ aLog->Log(_L("Result data: Is completed: %d"), res);
+ aLog->Log(_L("Get is complete == PASS"));
+
+ return result;
+ }
+// -----------------------------------------------------------------------------
+// TestIsDecoded
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestIsDecoded(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling IsDecoded()"));
+ TInt result = KErrNone;
+
+ //TBool IsDecoded() const
+ TBool res = aMessage.IsDecoded();
+
+ aLog->Log(_L("IsDecoded() Completed"));
+ aLog->Log(_L("Result data: IsDecoded: %d"), res);
+ aLog->Log(_L("Get is decoded == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetStorage
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetStorage(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetStorage()"));
+ TInt result = KErrNone;
+
+ //void SetStorage(TMobileSmsStorage aStorage)
+ CSmsMessage::TMobileSmsStorage storage = CSmsMessage::ESmsNoStorage;
+ aMessage.SetStorage(storage);
+
+ aLog->Log(_L("SetStorage() Completed"));
+ aLog->Log(_L("Storage successfully set"));
+ aLog->Log(_L("Set storage == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetStorage
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetStorage(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling Storage()"));
+ TInt result = KErrNone;
+
+ //TMobileSmsStorage Storage() const
+ CSmsMessage::TMobileSmsStorage storage = aMessage.Storage();
+
+ if( storage == CSmsMessage::ESmsNoStorage)
+ {
+ aLog->Log(_L("Storage() Completed"));
+ aLog->Log(_L("Result data: storage: %d"), storage);
+ aLog->Log(_L("Get storage == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Get storage == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetStatus
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetStatus(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetStatus()"));
+ TInt result = KErrNone;
+
+ //void SetStatus(NMobileSmsStore::TMobileSmsStoreStatus aStatus)
+ NMobileSmsStore::TMobileSmsStoreStatus status = NMobileSmsStore::EStoredMessageUnknownStatus;
+ aMessage.SetStatus(status);
+
+ aLog->Log(_L("Status() Completed"));
+ aLog->Log(_L("Result data: status: %d"), status);
+ aLog->Log(_L("Get status == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetStatus
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetStatus(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling Status()"));
+ TInt result = KErrNone;
+
+ //NMobileSmsStore::TMobileSmsStoreStatus Status() const
+ NMobileSmsStore::TMobileSmsStoreStatus status = aMessage.Status();
+
+ if( status == NMobileSmsStore::EStoredMessageUnknownStatus )
+ {
+ aLog->Log(_L("Status() Completed"));
+ aLog->Log(_L("Result data: status: %d"), status);
+ aLog->Log(_L("Get status == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Get status == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetLogServerId
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetLogServerId(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetLogServerId()"));
+ TInt result = KErrNone;
+
+ //void SetLogServerId(TInt aId)
+ TInt id = 1;
+ aMessage.SetLogServerId(id);
+
+ aLog->Log(_L("SetLogServerId() completed"));
+ aLog->Log(_L("Log server id successfully stored"));
+ aLog->Log(_L("Set log server id == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetLogServerId
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetLogServerId(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling LogServerId()"));
+ TInt result = KErrNone;
+
+ //TInt LogServerId() const
+ TInt id = aMessage.LogServerId();
+
+ if( id == 1)
+ {
+ aLog->Log(_L("LogServerId() completed"));
+ aLog->Log(_L("result data: log server id: %d"), id);
+ aLog->Log(_L("Get log server id == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Get log server id == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetTime
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetTime(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetTime()"));
+ TInt result = KErrNone;
+
+ TTime time(TDateTime(2006,EJanuary,01,12,0,0,0));
+ //void SetTime(const TTime &aTime)
+ aMessage.SetTime(time);
+
+ aLog->Log(_L("SetTime() completed"));
+ aLog->Log(_L("Time successfully stored"));
+ aLog->Log(_L("Set time == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetTime
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetTimeL(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling Time()"));
+ TInt result = KErrNone;
+
+ TBuf<30> string;
+ _LIT( KFormat, "%*E%*D%X%*N%*Y %1 %2 '%3 %H%:1%T%:2%S");
+ TTime setTime(TDateTime(2006,EJanuary,01,12,0,0,0));
+ //const TTime &Time() const
+ TTime time = aMessage.Time();
+
+ if( time == setTime )
+ {
+ time.FormatL(string, KFormat);
+ aLog->Log(_L("Time() completed"));
+ aLog->Log(_L("result data: time: %S"), &string);
+ aLog->Log(_L("Get time == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Get time == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetSMSPDU
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetSMSPduL(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SmsPduL()"));
+ TInt result = KErrNone;
+
+ //CSmsPDU &SmsPduL()
+ CSmsPDU& smspdu = aMessage.SmsPDU();
+
+ aLog->Log(_L("SmsPduL() completed"));
+ aLog->Log(_L("result data: PDU type: %d"), smspdu.Type());
+ aLog->Log(_L("Get SMS PDU == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetSMSPDUConst
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetSMSPDUConst(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SmsPduL() const"));
+ TInt result = KErrNone;
+
+ //const CSmsPDU &SmsPduL() const
+ const CSmsPDU& smspdu = aMessage.SmsPDU();
+
+ aLog->Log(_L("SmsPduL() const completed"));
+ aLog->Log(_L("result data: PDU type: %d"), smspdu.Type());
+ aLog->Log(_L("Get SMS PDU == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetSeviceCenterAddress
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetServiceCenterAddress(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetServiceCenterAddressL()"));
+
+ TPtrC serviceCenter = _L("nokia house");
+ //void SetServiceCenterAddressL(const TDesC &aAddress)
+ TRAPD( result,aMessage.SetServiceCenterAddressL(serviceCenter));
+
+ if( result == KErrNone )
+ {
+ aLog->Log(_L("SetServiceCenterAddressL() completed"));
+ aLog->Log(_L("Service center address successfully stored"));
+ aLog->Log(_L("Set service center address == PASS"));
+ }
+ else
+ {
+ aLog->Log(_L("Set service center address == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetSeviceCenterAddress
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetServiceCenterAddress(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ServiceCenterAddress()"));
+ TInt result = KErrNone;
+
+ TPtrC setServiceCenter = _L("nokia house");
+ //TPtrC ServiceCenterAddress() const
+ TPtrC serviceCenter = aMessage.ServiceCenterAddress();
+
+ if( !setServiceCenter.Compare(serviceCenter) )
+ {
+ aLog->Log(_L("ServiceCenterAddress() completed"));
+ aLog->Log(_L("result data: address: %s"), serviceCenter.Ptr());
+ aLog->Log(_L("Get service center address == PASS"));
+ }
+ else
+ {
+ aLog->Log(_L("Get service center address == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetParsedServiceCenterAddress
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetParsedServiceCenterAddress(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetParsedServiceCenterAddressL()"));
+
+ //void SetParsedServiceCenterAddressL(const TGsmSmsTelNumber &aParsedAddress);
+ TGsmSmsTelNumber telNumber;
+ telNumber.iTelNumber = _L("919886757059");
+ TRAPD( result, aMessage.SetParsedServiceCenterAddressL(telNumber));
+
+ if( result == KErrNone )
+ {
+ aLog->Log(_L("SetParsedServiceCenterAddressL() completed"));
+ aLog->Log(_L("Parsed address successfully stored"));
+ aLog->Log(_L("Set parsed service center address == PASS"));
+ }
+ else
+ {
+ aLog->Log(_L("Set parsed service center address == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetParsedServiceCenterAddress
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetParsedServiceCenterAddress(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ParsedServiceCenterAddress()"));
+ TInt result = KErrNone;
+
+ TGsmSmsTelNumber setTelNumber;
+ setTelNumber.iTelNumber = _L("919886757059");
+ //void ParsedServiceCenterAddress(TGsmSmsTelNumber &aParsedAddress) const
+ TGsmSmsTelNumber telNumber;
+ aMessage.ParsedServiceCenterAddress(telNumber);
+
+ if(setTelNumber.iTelNumber == telNumber.iTelNumber)
+ {
+ aLog->Log(_L("ParsedServiceCenterAddress() completed"));
+ aLog->Log(_L("result data: parsed address: %s"), telNumber.iTelNumber.Ptr());
+ aLog->Log(_L("Get parsed service center address == PASS"));
+ }
+ else
+ {
+ aLog->Log(_L("Get parsed service center address == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetToFromAddress
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetToFromAddress(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetToFromAddressL()"));
+
+ TBufC<12> address(_L("nokia house"));
+
+ //void SetToFromAddressL(const TDesC &aAddress)
+ TRAPD( result, aMessage.SetToFromAddressL(address));
+
+ if( result == KErrNone )
+ {
+ aLog->Log(_L("SetToFromAddressL() completed"));
+ aLog->Log(_L("To from addresses successfully stored"));
+ aLog->Log(_L("Set to from address == PASS"));
+ }
+ else
+ {
+ aLog->Log(_L("Set to from address == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetToFromAddress
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetToFromAddress(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ToFromAddress()"));
+ TInt result = KErrNone;
+
+ TBufC<12> address(_L("nokia house"));
+ //TPtrC ToFromAddress() const
+ TPtrC addressPtr = aMessage.ToFromAddress();
+
+ if( !addressPtr.Compare(address) )
+ {
+ aLog->Log(_L("ToFromAddress() completed"));
+ aLog->Log(_L("result data: to from address: %s"), addressPtr.Ptr());
+ aLog->Log(_L("Get to from address == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Get to from address == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetParsedToFromAddress
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetParsedToFromAddress(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetParsedToFromAddressL()"));
+
+ //void SetParsedToFromAddressL(const TGsmSmsTelNumber &aParsedAddress)
+ TGsmSmsTelNumber address;
+ address.iTelNumber = _L("919886757059");
+ TRAPD( result, aMessage.SetParsedToFromAddressL(address));
+
+ if( result == KErrNone )
+ {
+ aLog->Log(_L("SetParsedToFromAddressL() completed"));
+ aLog->Log(_L("Parsed to from addresses successfully stored"));
+ aLog->Log(_L("Set to from address == PASS"));
+ }
+ else
+ {
+ aLog->Log(_L("Set to from address == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetParsedToFromAddress
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetParsedToFromAddress(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ParsedToFromAddress()"));
+ TInt result = KErrNone;
+
+ TGsmSmsTelNumber setAddress;
+ setAddress.iTelNumber = _L("919886757059");
+ //void ParsedToFromAddress(TGsmSmsTelNumber &aParsedAddress) const
+ TGsmSmsTelNumber address;
+ aMessage.ParsedToFromAddress(address);
+
+ if(setAddress.iTelNumber == address.iTelNumber)
+ {
+ aLog->Log(_L("ParsedToFromAddress() completed"));
+ aLog->Log(_L("result data: parsed to from address: %s"), address.iTelNumber.Ptr());
+ aLog->Log(_L("Get to from address == PASS"));
+ }
+ else
+ {
+ aLog->Log(_L("Get to from address == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestInternalizeWithoutBuffer
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestInternalizeWithoutBufferL(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling InternalizeWithoutBufferL()"));
+
+ RFs session;
+ User::LeaveIfError(session.Connect());
+ TBufC<64> storename = _L("C:\\SMSGSMUtilities_CSmsMessage");
+ RFileReadStream read;
+
+ TInt erro = read.Open(session, storename, EFileRead);
+
+ //void InternalizeWithoutBufferL(RReadStream &aStream)
+ TRAPD( result, aMessage.InternalizeWithoutBufferL(read));
+
+ read.Close();
+
+ //now delete the store
+ TInt err = session.Delete(storename);
+ if(err != KErrNone)
+ {
+ RDebug::Print(_L("Error %d deleting \"%S\" file.\n"), err, &storename);
+ }
+
+ session.Close();
+ if( result == KErrNone )
+ {
+ aLog->Log(_L("InternalizeWithoutBufferL() completed"));
+ aLog->Log(_L("Data internalized successfully"));
+ aLog->Log(_L("Internalize without buffer == PASS"));
+ }
+ else
+ aLog->Log(_L("Internalize without buffer == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestExternalizeWithoutBufferL
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestExternalizeWithoutBufferL(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ExternalizeWithoutBufferL()"));
+
+ RFs session;
+ User::LeaveIfError(session.Connect());
+ TBufC<64> storename = _L("C:\\SMSGSMUtilities_CSmsMessage");
+ RFileWriteStream write;
+
+ write.Create(session, storename, EFileWrite);
+ TInt err = write.Open(session, storename, EFileWrite);
+
+ //void ExternalizeWithoutBufferL(RWriteStream &aStream) const
+ TRAPD( result, aMessage.ExternalizeWithoutBufferL(write));
+
+ write.CommitL();
+ write.Close();
+
+ session.Close();
+ if( result == KErrNone )
+ {
+ aLog->Log(_L("ExternalizeWithoutBufferL() completed"));
+ aLog->Log(_L("Data externalized successfully"));
+ aLog->Log(_L("Externalize without buffer == PASS"));
+ }
+ else
+ aLog->Log(_L("Externalize without buffer == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestInternalize
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestInternalizeL(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling InternalizeL()"));
+
+ RFs session;
+ User::LeaveIfError(session.Connect());
+ TBufC<64> storename = _L("C:\\SMSGSMUtilities_CSmsMessage");
+ RFileReadStream read;
+
+ TInt erro = read.Open(session, storename, EFileRead);
+
+ //IMPORT_C void InternalizeL(RReadStream &aStream)
+ TRAPD( result, aMessage.InternalizeL( read ));
+
+ read.Close();
+
+ //now delete the store
+ TInt err = session.Delete(storename);
+ if(err != KErrNone)
+ {
+ RDebug::Print(_L("Error %d deleting \"%S\" file.\n"), err, &storename);
+ }
+
+ session.Close();
+ if( result == KErrNone )
+ {
+ aLog->Log(_L("InternalizeL() completed"));
+ aLog->Log(_L("Data internalized successfully"));
+ aLog->Log(_L("Internalize == PASS"));
+ }
+ else
+ aLog->Log(_L("Internalize == FAIL"));
+
+ return result;
+
+ }
+
+// -----------------------------------------------------------------------------
+// TestExternalize
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestExternalizeL(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ExternalizeL()"));
+
+ RFs session;
+ User::LeaveIfError(session.Connect());
+ TBufC<64> storename = _L("C:\\SMSGSMUtilities_CSmsMessage");
+ RFileWriteStream write;
+
+ write.Create(session, storename, EFileWrite);
+ TInt err = write.Open(session, storename, EFileWrite);
+
+ //IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
+ TRAPD( result, aMessage.ExternalizeL( write ));
+
+ write.CommitL();
+ write.Close();
+
+ session.Close();
+ if( result == KErrNone )
+ {
+ aLog->Log(_L("ExternalizeL() completed"));
+ aLog->Log(_L("Data externalized successfully"));
+ aLog->Log(_L("Externalize == PASS"));
+ }
+ else
+ aLog->Log(_L("Externalize == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetBuffer
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetBufferL(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling Buffer()"));
+ TInt result = KErrNone;
+
+ //CSmsBufferBase &Buffer()
+ CSmsBuffer& buffer = STATIC_CAST(CSmsBuffer&, aMessage.Buffer());
+ HBufC* buf = HBufC::NewL(buffer.Length());
+ TPtr bufPtr = buf->Des();
+
+ aLog->Log(_L("Buffer() completed"));
+ buffer.Extract(bufPtr, 0, buffer.Length());
+ aLog->Log(_L("result data: buffer: %s"), buf);
+ aLog->Log(_L("Get buffer == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetBufferConst
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetBufferConstL(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling const Buffer()"));
+ TInt result = KErrNone;
+
+ //const CSmsBufferBase &Buffer() const
+ const CSmsBuffer& buffer = STATIC_CAST(const CSmsBuffer&, aMessage.Buffer());
+ HBufC* buf = HBufC::NewL(buffer.Length());
+ TPtr bufPtr = buf->Des();
+
+ aLog->Log(_L("const Buffer() completed"));
+ buffer.Extract(bufPtr, 0, buffer.Length());
+ aLog->Log(_L("result data: buffer: %s"), buf);
+ aLog->Log(_L("Get buffer const == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetTextPresent
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetTextPresent(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling TextPresent()"));
+ TInt result = KErrNone;
+
+ //TBool TextPresent() const
+ TBool res = aMessage.TextPresent();
+
+ aLog->Log(_L("TextPresent() completed"));
+ aLog->Log(_L("result data: text present: %d"), res);
+ aLog->Log(_L("Get text present == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetNumberOfMessagePDU
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetNumberOfMessagePduL(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling NumMessagePDUsL()"));
+
+ //TInt NumMessagePDUsL()
+ TInt res = 0;
+ TRAPD(result, res = aMessage.NumMessagePDUsL());
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log(_L("NumMessagePDUsL() completed"));
+ aLog->Log(_L("result data: number of PDUs: %d"), res);
+ aLog->Log(_L("Get number of message PDUs == PASS"));
+ }
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetMaxLength
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetMaxLength(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling MaxMessageLength()"));
+ TInt result = KErrNone;
+
+ //TInt MaxMessageLength()
+ TInt res = aMessage.MaxMessageLength();
+
+ aLog->Log(_L("MaxMessageLength() completed"));
+ aLog->Log(_L("result data: max message length: %d"), res);
+ aLog->Log(_L("Get max message length == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetMessageLength
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetMessageLength(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling MessageLengthL()"));
+
+ //TInt MessageLengthL()
+ TInt res = 0;
+ TRAPD(result, res = aMessage.MessageLengthL());
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log(_L("MessageLengthL() completed"));
+ aLog->Log(_L("result data: message length: %d"), res);
+ aLog->Log(_L("Get message length == PASS"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestOptimizeSettings
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestOptimizeSettings(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling OptimizeSettingsL()"));
+
+ //void OptimizeSettingsL(TInt aOptions)
+ TRAPD( result, aMessage.OptimizeSettingsL(CSmsMessage::ESmsFlagOptimizeAlphabet));
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log(_L("OptimizeSettingsL() completed"));
+ aLog->Log(_L("User data settings successfully optimized"));
+ aLog->Log(_L("Optimize settings == PASS"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetIsSupported
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetIsSupported(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling IsSupportedL()"));
+
+ //TBool IsSupportedL(const TDesC &aDes, TInt &aNumberOfUnconvertibleCharacters, TInt &aIndexOfFirstUnconvertibleCharacter)
+ TBufC<50> testBuffer = _L("Nokia$123has*some%employees");
+ TInt numUnconvertable;
+ TInt posFirstUnconvertable;
+ TBool res = 0;
+ TRAPD( result, res = aMessage.IsSupportedL(testBuffer, numUnconvertable, posFirstUnconvertable));
+
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log(_L("IsSupportedL() completed"));
+ aLog->Log(_L("result data: is supported: %d"), res);
+ aLog->Log(_L("Get is supported == PASS"));
+ }
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestEncodeMessagePDU
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestEncodeMessagePDUL(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling EncodeMessagePDUsL()"));
+
+ CArrayFix<TGsmSms>* singlePDU = new (ELeave) CArrayFixFlat<TGsmSms>(10);
+ aMessage.EncodeIntoSinglePDUL(*singlePDU);
+ CArrayFix<TGsmSms>* encodedPDU = new (ELeave) CArrayFixFlat<TGsmSms>(10);
+ //EncodeMessagePDUsL(CArrayFix< TGsmSms > &aSmsArray, TInt aReference=0)
+ TRAPD( result, aMessage.EncodeMessagePDUsL(*encodedPDU));
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log(_L("EncodeMessagePDUsL() completed"));
+ aLog->Log(_L("Message PDUs encoded successfully"));
+ aLog->Log(_L("Encode message PDUs == PASS"));
+ }
+
+ delete singlePDU;
+ delete encodedPDU;
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestDecodeMessagePDU
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestDecodeMessagePDUL(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling DecodeMessagePDUsL()"));
+
+ CArrayFix<TGsmSms>* PDU = new (ELeave) CArrayFixFlat<TGsmSms>(10);
+ const TGsmSms* gsmSms = new (ELeave) TGsmSms();
+
+ TInt i = 0;
+ for(; i<10; i++ )
+ {
+ PDU->InsertL(i,*gsmSms);
+ }
+
+ //void DecodeMessagePDUsL(const CArrayFix<TGsmSms>& aSmsArray);
+ TRAPD( result, aMessage.DecodeMessagePDUsL(*PDU));
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log(_L("DecodeMessagePDUsL() completed"));
+ aLog->Log(_L("Message PDUs decoded successfully"));
+ aLog->Log(_L("Decode message PDUs == PASS"));
+ }
+
+ delete PDU;
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestAddEMSInformationElements
+//
+// -----------------------------------------------------------------------------
+/*LOCAL_C TInt TestAddEMSInformationElements(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling AddEMSInformationElementL()"));
+ TInt result = KErrNone;
+ RFs rfServer;
+ User::LeaveIfError(rfServer.Connect());
+
+ CCnvCharacterSetConverter* characterSetConverter = CCnvCharacterSetConverter::NewL();
+ CSmsBuffer* smsBuffer = CSmsBuffer::NewL();
+ CSmsMessage* smsMessage = CSmsMessage::NewL(rfServer, CSmsPDU::ESmsCommand, smsBuffer );
+ CSmsCommand& command = STATIC_CAST(CSmsCommand&, smsMessage->SmsPduL() );
+
+ CSmsInformationElement::TSmsInformationElementIdentifier identifier = CSmsInformationElement::ESmsEnhancedVariablePicture;
+ TBufC8<24> information(KTestInfo8);
+ command.AddInformationElementL( identifier, information);
+
+ CEmsInformationElement& element = STATIC_CAST(CEmsInformationElement&, command.InformationElement(0));
+ CleanupStack::PushL(&element);
+
+ element.SetStartPosition(0);
+
+//currently not exported
+ CEmsSoundIE* element = CEmsSoundIE::NewL();
+ CleanupStack::PushL(element);
+
+ //void AddEMSInformationElementL(const CEmsInformationElement &aEmsIE)
+ TRAPD( result, aMessage.AddEMSInformationElementL(*element));
+
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log(_L("AddEMSInformationElementL() completed"));
+ aLog->Log(_L("EMS information element added"));
+ aLog->Log(_L("Add EMS information elements == PASS"));
+ }
+
+ CleanupStack::PopAndDestroy(element);
+ rfServer.Close();
+ return result;
+ }
+*/
+// -----------------------------------------------------------------------------
+// TestGetEMSInformationElements
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetEMSInformationElements(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling GetEMSInformationElementsL()"));
+
+ //const RPointerArray< const CEmsInformationElement > &GetEMSInformationElementsL() const
+ RPointerArray<const CEmsInformationElement> arrayEmsInfo;
+ TRAPD( result, arrayEmsInfo = aMessage.GetEMSInformationElementsL());
+
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log(_L("GetEMSInformationElementsL() completed"));
+ aLog->Log(_L("EMS information elements fetched"));
+ aLog->Log(_L("Get EMS information elements == PASS"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestRemoveEMSInformationElements
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestRemoveEMSInformationElements(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling RemoveEMSInformationElementsL()"));
+
+ //RPointerArray< CEmsInformationElement > *RemoveEMSInformationElementsL(const TUint aStartPosition, const TSmsId aEmsId);
+ RPointerArray<CEmsInformationElement>* arrayEmsInfo = new RPointerArray<CEmsInformationElement>(5);
+ TRAPD( result, arrayEmsInfo = aMessage.RemoveEMSInformationElementsL(0, CEmsInformationElement::ESmsIEIConcatenatedShortMessages8BitReference));
+
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log(_L("RemoveEMSInformationElementsL() completed"));
+ aLog->Log(_L("EMS information elements removed"));
+ aLog->Log(_L("Remove EMS information elements PASS"));
+ }
+
+ delete arrayEmsInfo;
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestRemoveEMSInformationElement
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestRemoveEMSInformationElement(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling RemoveEMSInformationElementL()"));
+
+ //CEmsInformationElement *RemoveEMSInformationElementL(const TUint aStartPosition, const TSmsId aEmsId)
+ TRAPD( result, CEmsInformationElement* removedElement = aMessage.RemoveEMSInformationElementL(0, CEmsInformationElement::ESmsIEIConcatenatedShortMessages8BitReference));
+
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log(_L("RemoveEMSInformationElementL() completed"));
+ aLog->Log(_L("EMS information element removed"));
+ aLog->Log(_L("Remove EMS information element PASS"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestResetEMS
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestResetEMS(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling ResetEMSL()"));
+
+ //void ResetEMSL();
+ TRAPD( result, aMessage.ResetEMSL());
+
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log( _L("ResetEMSL() completed"));
+ aLog->Log (_L("EMS information element successfully reseted"));
+ aLog->Log( _L("Reset EMS == PASS"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestCopyEMSElements
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestCopyEMSElementsL(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling CopyEmsElementsL()"));
+
+ RFs rfServer;
+ User::LeaveIfError(rfServer.Connect());
+
+ CCnvCharacterSetConverter* characterSetConverter = CCnvCharacterSetConverter::NewL();
+ CSmsBuffer* smsBuffer = CSmsBuffer::NewL();
+ CSmsMessage* message = CSmsMessage::NewL(rfServer, CSmsPDU::ESmsDeliver, smsBuffer );
+
+ //void CopyEmsElementsL(CSmsMessage &aToMessage) const
+ TRAPD( result, aMessage.CopyEmsElementsL(*message));
+
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log(_L("CopyEmsElementsL() completed"));
+ aLog->Log(_L("EMS elements copied successfully"));
+ aLog->Log(_L("Copy EMS elements == PASS"));
+ }
+
+ delete message;
+ rfServer.Close();
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestEncodeIntoSinglePDU
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestEncodeIntoSinglePDUL(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling EncodeIntoSinglePDUL()"));
+
+ //TBool EncodeIntoSinglePDUL(CArrayFix< TGsmSms > &aSmsArray);
+ CArrayFix<TGsmSms>* singlePDU = new (ELeave) CArrayFixFlat<TGsmSms>(10);
+ TRAPD( result, TBool res = aMessage.EncodeIntoSinglePDUL(*singlePDU));
+
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log( _L("EncodeIntoSinglePDUL() completed"));
+ aLog->Log (_L("Encoded into single PDU successfully"));
+ aLog->Log( _L("Get is email header == PASS"));
+ }
+
+ delete singlePDU;
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestAddSlot
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestAddSlot(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling AddSlotL()"));
+
+ TGsmSmsSlotEntry slotEntry;
+ TRAPD( result, aMessage.AddSlotL(slotEntry));
+
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log(_L("AddSlotL() completed"));
+ aLog->Log(_L("Slot added successfully"));
+ aLog->Log(_L("Add slot == PASS"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestMatchSlots
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestMatchSlotsL(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling MatchSlots()"));
+ TInt result = KErrNone;
+
+ const CArrayFixFlat<TGsmSmsSlotEntry>* slotArray = new(ELeave) CArrayFixFlat<TGsmSmsSlotEntry>(5);
+ //TBool MatchSlots(const CArrayFixFlat<TGsmSmsSlotEntry>& aSlotArray);
+ TBool match = aMessage.MatchSlots(*slotArray);
+
+ aLog->Log(_L("MatchSlots() Completed"));
+ aLog->Log(_L("Slots matched successfully"));
+ aLog->Log(_L("Match Slots == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestAddEmailHeader
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestAddEmailHeader(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling AddEmailHeader()"));
+
+ const TBufC<24> header(_L("EMail Header"));
+ TBufC<64> body(_L("EMail Body"));
+ //void AddEmailHeaderL(const TDesC& aEmailHeader,const TDesC& aEmailBody);
+ TRAPD( result, aMessage.AddEmailHeaderL(header, body));
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log(_L("AddEmailHeaderL() completed"));
+ aLog->Log(_L("Email header added successfully"));
+ aLog->Log(_L("Add email header == PASS"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetIsEmailHeader
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetIsEmailHeader(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling IsEmailHeader()"));
+
+ TInt result = KErrNone;
+
+ //TBool IsEmailHeader() const
+ TBool res = aMessage.IsEmailHeader();
+
+ aLog->Log( _L("IsEmailHeader() completed"));
+ aLog->Log (_L("result data: is e-mail header : %d"), res);
+ aLog->Log( _L("Get is email header == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetEmailHeader
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetEmailHeaderL(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling GetEmailHeaderL()"));
+
+ HBufC* emailHeader = HBufC::NewL(1024);
+ HBufC* emailBody = HBufC::NewL(1024);
+ TBool res;
+ //TBool GetEmailHeaderL(HBufC **aEmailHeader, HBufC **aEmailBody);
+ TRAPD( result, res = aMessage.GetEmailHeaderL(&emailHeader, &emailBody));
+
+ if( res && (result == KErrNone) )
+ {
+ aLog->Log( _L("GetEmailHeaderL() completed"));
+ aLog->Log (_L("result data: e-mail header: %s"), emailHeader);
+ aLog->Log (_L("result data: e-mail body: %s"), emailBody);
+ aLog->Log( _L("Get email header == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log( _L("Get email header == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetIs16BitConcatenation
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetIs16BitConcatenation(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling Set16BitConcatenation()"));
+
+ TInt result = KErrNone;
+
+ //void Set16BitConcatenation(TBool aIs16BitConcatenation)
+ aMessage.Set16BitConcatenation(ETrue);
+
+ if( aMessage.Is16BitConcatenation() )
+ {
+ aLog->Log( _L("Set16BitConcatenation() completed"));
+ aLog->Log (_L("16 bit concatenation flag stored successfully"));
+ aLog->Log( _L("Set is 16 bit concatenation == PASS"));
+ }
+ else
+ {
+ aLog->Log( _L("Set is 16 bit concatenation == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetIs16BitConcatenation
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetIs16BitConcatenation(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling Is16BitConcatenation()"));
+
+ TInt result = KErrNone;
+
+ //TBool Is16BitConcatenation() const
+ TBool res = aMessage.Is16BitConcatenation();
+
+ aLog->Log( _L("Is16BitConcatenation() completed"));
+ aLog->Log (_L("result data: 16 bit concatenation flag : %d"), res);
+ aLog->Log( _L("Get is 16 bit concatenation == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestUpdateSlots
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestUpdateSlotsL(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling UpdateSlotsL()"));
+
+ TInt8 storeid = CSmsMessage::ESmsSIMStorage;
+ TBuf8<128> slot_buffer;
+ TBufC<32> file(_L("c:\\SmsSlots"));
+ CArrayFixFlat<TGsmSmsSlotEntry>* slot = new(ELeave) CArrayFixFlat<TGsmSmsSlotEntry>(5);
+ RFs session;
+ RFileWriteStream write;
+ RFileReadStream read;
+
+ User::LeaveIfError( session.Connect() );
+ write.Create(session, file, EFileWrite);
+ TInt err = write.Open(session, file, EFileWrite);
+
+ TInt size = sizeof(slot);
+ write.WriteUint8L(storeid);
+ write.WriteL((TUint16*)slot, size);
+ write.CommitL();
+ write.Close();
+ TInt erro = read.Open(session, file, EFileRead);
+
+ read.ReadL(slot_buffer, size+1);
+ //void UpdateSlotsL(TDesC8& aBuf);
+ TRAPD( result, aMessage.UpdateSlotsL(slot_buffer));
+
+ read.Close();
+ session.Delete(file);
+ session.Close();
+
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log(_L("UpdateSlotsL() completed"));
+ aLog->Log(_L("Slot information updated successfully"));
+ aLog->Log(_L("Update slots == PASS"));
+ }
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetEncodingInfoL
+//
+// -----------------------------------------------------------------------------
+
+LOCAL_C TInt TestGetEncodingInfoL(CStifLogger* aLog, CSmsMessage& aMessage)
+{
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling GetEncodingInfoL()"));
+
+ TInt pdus =1;
+ TInt unconvertedchars=0;
+ TInt downgradedchars = 0;
+ TInt freeudunitsinlastfreepdu = 0;
+
+ aMessage.GetEncodingInfoL(pdus, unconvertedchars, downgradedchars, freeudunitsinlastfreepdu);
+
+ return KErrNone;
+}
+
+// -----------------------------------------------------------------------------
+// TestSetAlternative7bitEncoding
+//
+// -----------------------------------------------------------------------------
+
+LOCAL_C TInt TestSetAlternative7bitEncoding(CStifLogger* aLog, CSmsMessage& aMessage)
+{
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetAlternative7bitEncoding()"));
+
+
+ TInt ret = aMessage.SetAlternative7bitEncoding(ESmsEncodingNone);
+ TSmsEncoding id = aMessage.Alternative7bitEncoding();
+
+ return ret;
+}
+
+LOCAL_C TInt TestGetIsSupported2(CStifLogger* aLog,CSmsMessage& aMessage)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling IsSupported2L()"));
+
+ //TBool IsSupportedL(const TDesC &aDes, TInt &aNumberOfUnconvertibleCharacters, TInt &aIndexOfFirstUnconvertibleCharacter)
+ TBufC<50> testBuffer = _L("Nokia$123has*some%employees");
+ TInt numUnconvertable;
+ TInt posFirstUnconvertable;
+ TInt numreqAlternativeEncoding;
+ TInt numDowngradedChars;
+ TBool res = 0;
+ TRAPD( result, res = aMessage.IsSupportedL(testBuffer, numUnconvertable, numDowngradedChars, numreqAlternativeEncoding, posFirstUnconvertable));
+
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log(_L("IsSupported2L() completed"));
+ aLog->Log(_L("result data: is supported: %d"), res);
+ aLog->Log(_L("Get is supported == PASS"));
+ }
+ return result;
+ }
+//----------------------------------------------------------------
+// TestConstructionTGsmSms
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestConstructionTGsmSms_PduL(CStifLogger* aLog, CSmsPDU& pdu)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling CSmsPDU::NewL(TGsmSms)"));
+ TInt result = KErrNone;
+
+ RFs session;
+ User::LeaveIfError(session.Connect());
+ TGsmSms sms;
+ pdu.EncodeMessagePDUL( sms );
+ CCnvCharacterSetConverter* converter = CCnvCharacterSetConverter::NewL();
+ CleanupStack::PushL(converter);
+
+ //static CSmsPDU* NewL(const TGsmSms& aGsmSms,CCnvCharacterSetConverter& aCharacterSetConverter
+ //,RFs& aFs,TBool aIsRPError=EFalse,TBool aIsMobileTerminated=ETrue);
+ CSmsPDU* PDU = CSmsPDU::NewL(sms, *converter, session, ETrue, EFalse);
+ CleanupStack::PushL(PDU);
+
+ if( PDU != NULL)
+ {
+ aLog->Log(_L("CSmsPDU::NewL(TGsmSms) Completed"));
+ aLog->Log(_L("CSmsPDU::NewL(TGsmSms) == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("CSmsPDU::NewL(TGsmSms) == FAIL"));
+ }
+
+ CleanupStack::PopAndDestroy(2);
+ session.Close();
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestConstructionStream
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestConstructionStreamL(CStifLogger* aLog, CSmsPDU& PDU)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling CSmsPDU::NewL(RReadStream)"));
+ TInt result = KErrNone;
+
+ RFs session;
+ User::LeaveIfError(session.Connect());
+ TBufC<64> storename = _L("C:\\CSmsPDU_Construction");
+ RFileWriteStream write;
+ RFileReadStream read;
+ CCnvCharacterSetConverter* charSet = CCnvCharacterSetConverter::NewL();
+ write.Create(session, storename, EFileWrite);
+ TInt erro = write.Open(session, storename, EFileWrite);
+ PDU.ExternalizeL( write );
+ write.CommitL();
+ write.Close();
+
+ erro = read.Open(session, storename, EFileRead);
+ CSmsPDU* aPDU = CSmsPDU::NewL( read, *charSet, session);
+ read.Close();
+ //now delete the store
+ TInt err = session.Delete(storename);
+ session.Close();
+
+ if( aPDU != NULL)
+ {
+ aLog->Log(_L("CSmsPDU::NewL(RReadStream) Completed"));
+ aLog->Log(_L("CSmsPDU::NewL(RReadStream) == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("CSmsPDU::NewL(RReadStream) == FAIL"));
+ }
+
+ delete aPDU;
+ delete charSet;
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetType
+// Gets the PDU type
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetType (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling Type ()"));
+ TInt result = KErrNone;
+
+ // inline TSmsPDUType Type() const
+ CSmsPDU::TSmsPDUType checkres = aSmsPdu.Type ();
+
+ if( checkres == CSmsPDU::ESmsDeliver)
+ {
+ aLog->Log( _L("Type() completed"));
+ aLog->Log (_L("Result data:type: %d"),checkres);
+ aLog->Log( _L("Get type == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log( _L("Get type == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestExternalizeL
+// Externalises the object
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestExternalizeL (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ExternalizeL()"));
+
+ RFs session;
+ User::LeaveIfError(session.Connect());
+ TBufC<64> storename = _L("C:\\SMSGSMUtilities_CSmsPDU");
+ RFileWriteStream write;
+
+ write.Create(session, storename, EFileWrite);
+ TInt err = write.Open(session, storename, EFileWrite);
+
+ //IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
+ TRAPD( result, aSmsPdu.ExternalizeL( write ));
+
+ write.CommitL();
+ write.Close();
+
+ session.Close();
+ if( result == KErrNone )
+ {
+ aLog->Log( _L("ExternalizeL() completed"));
+ aLog->Log( _L("Data externalized successfully"));
+ aLog->Log( _L("Externalize == PASS"));
+ }
+ else
+ aLog->Log( _L("Externalize == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestEncodeMessagePDUs
+// Encodes a TGsmSms for the given type of CSmsPDU
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestEncodeMessagePDUs (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling EncodeMessagePDUsL()"));
+ TGsmSms testSms;
+
+ // IMPORT_C void EncodeMessagePDUL(TGsmSms &aGsmSms) const
+ TRAPD(result, aSmsPdu.EncodeMessagePDUL (testSms));
+
+ if( result == KErrNone)
+ {
+ aLog->Log( _L("EncodeMessagePDUsL() completed"));
+ aLog->Log( _L("Message PDUs encoded successfully"));
+ aLog->Log( _L("Encode message PDUs == PASS"));
+
+ }
+ else
+ aLog->Log( _L("Encode message PDUs == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetServiceCenterAddress
+// Gets the service center address
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetServiceCenterAddress (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling ServiceCenterAddress()"));
+
+ TInt result = KErrNone;
+ TPtrC address = _L("Test String");
+
+ // IMPORT_C TPtrC ServiceCenterAddress() const
+ TPtrC checkres = aSmsPdu.ServiceCenterAddress ();
+
+ if(!checkres.Compare (address))
+ {
+ aLog->Log( _L("GetServiceCenterAddressL() completed"));
+ aLog->Log (_L("Result data:address: %s"),checkres.Ptr());
+ aLog->Log( _L("Get service center address == PASS"));
+ }
+ else
+ aLog->Log( _L("Get service center address == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetServiceCenterAddress
+// Sets the service center address
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetServiceCenterAddress (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetServiceCenterAddressL()"));
+
+ TPtrC address = _L("Test String");
+
+ // IMPORT_C void SetServiceCenterAddressL(const TDesC &aAddress);
+ TRAPD(result, aSmsPdu.SetServiceCenterAddressL (address));
+
+ if(result == KErrNone)
+ {
+ aLog->Log( _L("SetServiceCenterAddressL() completed"));
+ aLog->Log( _L("Service center address successfully stored"));
+ aLog->Log( _L("Set service center address == PASS"));
+ }
+ else
+ aLog->Log( _L("Set service center address == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetParsedServiceCenterAddress
+// Gets the service center address in a TGsmSmsTelNumber object
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetParsedServiceCenterAddress (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling ParsedServiceCenterAddress()"));
+
+ TInt result = KErrNone;
+ TGsmSmsTelNumber testTelNo;
+ _LIT(str,"9945563472");
+ TBuf<20> telno (str);
+
+
+ // IMPORT_C void ParsedServiceCenterAddress(TGsmSmsTelNumber
+ // &aParsedAddress) const
+ aSmsPdu.ParsedServiceCenterAddress (testTelNo);
+
+ if(!(testTelNo.iTelNumber).Compare (telno))
+ {
+ aLog->Log( _L("ParsedServiceCenterAddress() completed"));
+ aLog->Log (_L("result data:parsed address: %s"),testTelNo.iTelNumber.Ptr());
+ aLog->Log( _L("Get parsed service center address == PASS"));
+ }
+ else
+ aLog->Log( _L("Get parsed service center address == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetParsedServiceCenterAddress
+// Sets the service center address in a TGsmSmsTelNumber object
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetParsedServiceCenterAddress (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetParsedServiceCenterAddressL()"));
+
+ TGsmSmsTelNumber testTelNo;
+ _LIT(str,"9945563472");
+ TBuf<20> telno (str);
+ testTelNo.iTelNumber = telno;
+
+
+ // IMPORT_C void SetParsedServiceCenterAddressL(const TGsmSmsTelNumber
+ // &aParsedAddress);
+ TRAPD(result, aSmsPdu.SetParsedServiceCenterAddressL (testTelNo));
+
+ if(result == KErrNone)
+ {
+ aLog->Log( _L("SetParsedServiceCenterAddressL() completed"));
+ aLog->Log( _L("Parsed address successfully stored"));
+ aLog->Log( _L("Set parsed service center address == PASS"));
+ }
+ else
+ aLog->Log( _L("Set parsed service center address == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetToFromAddress
+// Gets the "to from" address
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetToFromAddress (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling ToFromAddress()"));
+
+ TInt result = KErrNone;
+ _LIT(str,"TestAddress");
+ TBufC<20> testadd (str);
+
+ // IMPORT_C TPtrC ToFromAddress() const
+ TPtrC checkres = aSmsPdu.ToFromAddress();
+
+ if( ! checkres.Compare (testadd))
+ {
+ aLog->Log( _L("ToFromAddress() completed"));
+ aLog->Log(_L("Result data:to from address: %s"),checkres.Ptr());
+ aLog->Log( _L("Get to from address == PASS"));
+ }
+ else
+ aLog->Log( _L("Get to from address == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetToFromAddress
+// Gets the "to from" address
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetToFromAddress (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetToFromAddressL()"));
+
+ _LIT(str,"TestAddress");
+ TBufC<20> testadd (str);
+
+ // IMPORT_C void SetToFromAddressL(const TDesC &aAddress)
+ TRAPD( result, aSmsPdu.SetToFromAddressL (testadd));
+
+ if(result == KErrNone)
+ {
+ aLog->Log( _L("SetToFromAddressL() completed"));
+ aLog->Log( _L("To from addresses successfully stored"));
+ aLog->Log( _L("Set to from address == PASS"));
+ }
+ else
+ aLog->Log( _L("Set to from address == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetParsedToFromAddress
+// Gets the "to from" in a TGsmSmsTelNumber object
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetParsedToFromAddress (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling ParsedToFromAddress()"));
+
+ TInt result = KErrNone;
+ TGsmSmsTelNumber testTelNo;
+ _LIT(str,"9945563472");
+ TBuf<20> telno (str);
+
+ // IMPORT_C void ParsedToFromAddress(TGsmSmsTelNumber &aParsedAddress) const
+ aSmsPdu.ParsedToFromAddress (testTelNo);
+
+ if(!(testTelNo.iTelNumber).Compare (telno))
+ {
+ aLog->Log( _L("ParsedToFromAddress() completed"));
+ _LIT(tempVal,"result data:parsed to from address: %s");
+ aLog->Log (tempVal,testTelNo.iTelNumber.Ptr());
+ aLog->Log( _L("Get parsed to from address == PASS"));
+ }
+ else
+ aLog->Log( _L("Get parsed to from address == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetParsedToFromAddress
+// Sets the "to from" with a TGsmSmsTelNumber object
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetParsedToFromAddress (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetParsedToFromAddressL()"));
+
+ TGsmSmsTelNumber testTelNo;
+ _LIT(str,"9945563472");
+ TBuf<20> telno (str);
+ testTelNo.iTelNumber = telno;
+
+
+ // IMPORT_C void SetParsedToFromAddressL(const TGsmSmsTelNumber
+ // &aParsedAddress);
+ TRAPD( result, aSmsPdu.SetParsedToFromAddressL (testTelNo));
+
+ if(result == KErrNone)
+ {
+ aLog->Log( _L("SetParsedToFromAddressL() completed"));
+ aLog->Log( _L("Parsed to from addresses successfully stored"));
+ aLog->Log( _L("Set parsed to from address == PASS"));
+ }
+ else
+ aLog->Log( _L("Set parsed to from address == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetBits7To4
+// Gets bits 7 to 4 on the data coding scheme
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetBits7To4 (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling Bits7To4()"));
+
+ TInt result = KErrNone;
+ TSmsDataCodingScheme::TSmsDCSBits7To4 bitsVal;
+
+ // IMPORT_C TSmsDataCodingScheme::TSmsDCSBits7To4 Bits7To4() const
+ bitsVal = aSmsPdu.Bits7To4 ();
+
+ if(bitsVal == TSmsDataCodingScheme::ESmsDCSTextUncompressedWithNoClassInfo)
+ {
+ aLog->Log( _L("Bits7To4() completed"));
+ _LIT(tempVal,"result data:bits 7 to 4: %d");
+ aLog->Log (tempVal,bitsVal);
+ aLog->Log( _L("Get bits 7 to 4 == PASS"));
+ }
+ else
+ aLog->Log( _L("Get bits 7 to 4 == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetBits7To4
+// Sets bits 7 to 4 on the data coding scheme
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetBits7To4 (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetBits7To4()"));
+
+ TInt result = KErrNone;
+ TSmsDataCodingScheme::TSmsDCSBits7To4 bitsVal (TSmsDataCodingScheme::
+ ESmsDCSTextUncompressedWithNoClassInfo);
+
+ // IMPORT_C void SetBits7To4(TSmsDataCodingScheme::TSmsDCSBits7To4
+ // aBits7To4)
+ aSmsPdu.SetBits7To4 (bitsVal);
+
+ aLog->Log( _L("SetBits7To4() completed"));
+ aLog->Log( _L("Bits 7 to 4 stored successfully"));
+ aLog->Log( _L("Set bits 7 to 4 == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetAlphabet
+// Gets the alphabet encoded in the data coding scheme
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetAlphabet (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling Alphabet()"));
+
+ TInt result = KErrNone;
+ TSmsDataCodingScheme::TSmsAlphabet testAlphabet;
+
+ // IMPORT_C TSmsDataCodingScheme::TSmsAlphabet Alphabet() const
+ testAlphabet = aSmsPdu.Alphabet();
+
+ if(testAlphabet == TSmsDataCodingScheme::ESmsAlphabet7Bit)
+ {
+ aLog->Log( _L("Alphabet() completed"));
+ _LIT(tempVal,"result data:alphabet: %d");
+ aLog->Log (tempVal,testAlphabet);
+ aLog->Log( _L("Get alphabet == PASS"));
+ }
+ else
+ aLog->Log( _L("Get alphabet == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetAlphabet
+// Sets the alphabet encoded in the data coding scheme
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetAlphabet (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetAlphabet()"));
+
+ TInt result = KErrNone;
+ TSmsDataCodingScheme::TSmsAlphabet testAlphabet (TSmsDataCodingScheme::
+ ESmsAlphabet7Bit);
+
+ // IMPORT_C void SetAlphabet(TSmsDataCodingScheme::TSmsAlphabet aAlphabet)
+ aSmsPdu.SetAlphabet (testAlphabet);
+
+ aLog->Log( _L("SetAlphabet() completed"));
+ aLog->Log( _L("Alphabet stored successfully"));
+ aLog->Log( _L("Set alphabet == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetClass
+// Gets the GSM SMS PDU class in the data coding scheme
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetClass (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling Class()"));
+
+ TInt result = KErrNone;
+ TSmsDataCodingScheme::TSmsClass testClass (TSmsDataCodingScheme::
+ ESmsClass0);
+
+ //TBool Class(TSmsDataCodingScheme::TSmsClass &aClass) const
+ TBool checkres = aSmsPdu.Class (testClass);
+
+ if( checkres )
+ {
+ aLog->Log( _L("Class() completed"));
+ aLog->Log(_L("Result data:class: %d"),testClass);
+ aLog->Log( _L("Get class == PASS"));
+ }
+ else
+ aLog->Log( _L("Get class == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetClass
+// Sets the GSM SMS PDU class in the data coding scheme
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetClass (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetClass()"));
+
+ TInt result = KErrNone;
+ TSmsDataCodingScheme::TSmsClass testClass (TSmsDataCodingScheme::ESmsClass0);
+
+ //void SetClass(TBool aClassDefined, TSmsDataCodingScheme::TSmsClass aClass)
+ aSmsPdu.SetClass (ETrue, testClass);
+
+ aLog->Log( _L("SetClass() completed"));
+ aLog->Log( _L("Class stored successfully"));
+ aLog->Log( _L("Set class == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetTextCompressed
+// True if Text Compressed is encoded in the data coding scheme
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetTextCompressed (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling TextCompressed()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C TBool TextCompressed() const
+ TBool checkres = aSmsPdu.TextCompressed ();
+
+ if( checkres )
+ {
+ aLog->Log( _L("TextCompressed() completed"));
+ _LIT(tempVal,"result data:text compressed: %d");
+ aLog->Log (tempVal,checkres);
+ aLog->Log( _L("Get text compresed == PASS"));
+ }
+ else
+ aLog->Log( _L("Get text compresed == FAIL"));
+
+ return result;
+ }
+
+
+
+// -----------------------------------------------------------------------------
+// TestSetTextCompressed
+// Set to encode Text Compressed in the data coding scheme
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetTextCompressed (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetTextCompressed()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C void SetTextCompressed(TBool aCompressed);
+ aSmsPdu.SetTextCompressed (ETrue);
+
+ aLog->Log( _L("SetTextCompressed() completed"));
+ aLog->Log( _L("Text compressed flag successfully stored"));
+ aLog->Log( _L("Set text compresed == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetIndicationState
+// Gets the Indication State encoded in the data coding scheme.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetIndicationState (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling IndicationState()"));
+
+ TInt result = KErrNone;
+ TSmsDataCodingScheme::TSmsIndicationState testState;
+
+ // IMPORT_C TSmsDataCodingScheme::TSmsIndicationState IndicationState() const
+ testState = aSmsPdu.IndicationState ();
+
+ if(testState == TSmsDataCodingScheme::ESmsIndicationInactive)
+ {
+ aLog->Log( _L("IndicationState() completed"));
+ _LIT(tempVal,"result data:indication state: %d");
+ aLog->Log (tempVal,testState);
+ aLog->Log( _L("Get indication state == PASS"));
+ }
+ else
+ aLog->Log( _L("Get indication state == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetIndicationState
+// Sets the Indication State encoded in the data coding scheme.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetIndicationState (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetIndicationState()"));
+
+ TInt result = KErrNone;
+ TSmsDataCodingScheme::TSmsIndicationState testState (TSmsDataCodingScheme::
+ ESmsIndicationInactive);
+
+ // IMPORT_C void SetIndicationState(TSmsDataCodingScheme::
+ // TSmsIndicationState aState);
+ aSmsPdu.SetIndicationState (testState);
+
+ aLog->Log( _L("SetIndicationState() completed"));
+ aLog->Log( _L("Indication state stored successfully"));
+ aLog->Log( _L("Set indication state == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetIndicationType
+// Gets the Indication Type encoded in the data coding scheme.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetIndicationType (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling IndicationType()"));
+
+ TInt result = KErrNone;
+ TSmsDataCodingScheme::TSmsIndicationType testIndicationType;
+
+ //TSmsDataCodingScheme::TSmsIndicationType IndicationType() const
+ testIndicationType = aSmsPdu.IndicationType ();
+
+ if(testIndicationType == TSmsDataCodingScheme::ESmsVoicemailMessageWaiting)
+ {
+ aLog->Log( _L("IndicationType() completed"));
+ _LIT(tempVal,"result data:indication type: %d");
+ aLog->Log (tempVal,testIndicationType);
+ aLog->Log( _L("Get indication type == PASS"));
+ }
+ else
+ aLog->Log( _L("Get indication type == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetIndicationType
+// Sets the Indication Type encoded in the data coding scheme.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetIndicationType (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetIndicationType()"));
+
+ TInt result = KErrNone;
+ TSmsDataCodingScheme::TSmsIndicationType testIndicationType (
+ TSmsDataCodingScheme::ESmsVoicemailMessageWaiting);
+
+ //void SetIndicationType(TSmsDataCodingScheme::TSmsIndicationType aType);
+ aSmsPdu.SetIndicationType (testIndicationType);
+
+ aLog->Log( _L("SetIndicationType() completed"));
+ aLog->Log( _L("Indication type stored successfully"));
+ aLog->Log( _L("Set indication type == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetTextConcatenated
+// Tests if the PDU is part of a concatenated message
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetTextConcatenated (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling TextConcatenated()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C TBool TextConcatenated(TBool *aIs16Bit=0) const
+ TBool checkres = aSmsPdu.TextConcatenated ();
+
+ if( checkres )
+ {
+ aLog->Log( _L("TextConcatenated() completed"));
+ _LIT(tempVal,"result data:text concatenated: %d");
+ aLog->Log (tempVal,checkres);
+ aLog->Log( _L("Get text concatenated == PASS"));
+ }
+ else
+ aLog->Log( _L("Get text concatenated == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetTextConcatenated
+// Tests if the PDU is part of a concatenated message.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetTextConcatenated (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetTextConcatenatedL()"));
+
+ // IMPORT_C void SetTextConcatenatedL(TBool aConcatenated,
+ // TBool aIs16Bit=EFalse);
+ TRAPD( result, aSmsPdu.SetTextConcatenatedL (ETrue));
+
+ if(result == KErrNone)
+ {
+ aLog->Log( _L("SetTextConcatenatedL() completed"));
+ aLog->Log( _L("Text concatenated flag successfully stored"));
+ aLog->Log( _L("Set text concatenated == PASS"));
+ }
+ else
+ aLog->Log( _L("Set text concatenated == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetConcatenatedMessageReference
+// Gets the reference contained in the Concatenation Information Element
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetConcatenatedMessageReference (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling ConcatenatedMessageReference()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C TInt ConcatenatedMessageReference() const
+ TInt checkres = aSmsPdu.ConcatenatedMessageReference ();
+
+ if(checkres == 1)
+ {
+ aLog->Log( _L("ConcatenatedMessageReference() completed"));
+ _LIT(tempVal,"result data:concatenated message reference: %d");
+ aLog->Log (tempVal, checkres);
+ aLog->Log( _L("Get concatenated message reference == PASS"));
+ }
+ else
+ aLog->Log( _L("Get concatenated message reference == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetConcatenatedMessageReference
+// Sets the reference contained in the Concatenation Information Element
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetConcatenatedMessageReference (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetConcatenatedMessageReference()"));
+
+ TInt result = KErrNone;
+ TInt SetVal = 1;
+
+ // IMPORT_C void SetConcatenatedMessageReference(TInt aReference)
+ aSmsPdu.SetConcatenatedMessageReference (SetVal);
+
+ aLog->Log( _L("SetConcatenatedMessageReference() completed"));
+ aLog->Log( _L("Concatenated message reference stored successfully"));
+ aLog->Log( _L("Set concatenated message reference == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetNumberOfConcatenatedMessageL
+// Gets the number of PDU's in a Concatenated Message.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetNumberOfConcatenatedMessageL (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling NumConcatenatedMessagePDUs()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C TInt NumConcatenatedMessagePDUs() const
+ TInt checkres = aSmsPdu.NumConcatenatedMessagePDUs ();
+
+ if(checkres == 10)
+ {
+ aLog->Log( _L("NumConcatenatedMessagePDUs() completed"));
+ _LIT(tempVal,"result data:number of concatenated PDUs: %d");
+ aLog->Log (tempVal,checkres);
+ aLog->Log( _L("Get number of concatenated message PDUs == PASS"));
+ }
+ else
+ aLog->Log( _L("Get number of concatenated message PDUs == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetNumberOfConcatenatedMessageL
+// Sets the number of PDU's in a Concatenated Message.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetNumberOfConcatenatedMessageL (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetNumConcatenatedMessagePDUs()"));
+
+ TInt result = KErrNone;
+ TInt setVal = 10;
+
+ // IMPORT_C void SetNumConcatenatedMessagePDUs(TInt aNum);
+ aSmsPdu.SetNumConcatenatedMessagePDUs (setVal);
+
+ aLog->Log( _L("SetNumConcatenatedMessagePDUs() completed"));
+ aLog->Log( _L("Number of concatenated PDUs stored successfully"));
+ aLog->Log( _L("Set number of concatenated message PDUs == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetConcatenatedMessagePDUIndex
+// Gets the index of the PDU within the Concatenated Message.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetConcatenatedMessagePDUIndex (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling ConcatenatedMessagePDUIndex()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C TInt ConcatenatedMessagePDUIndex() const;
+ TInt checkres = aSmsPdu.ConcatenatedMessagePDUIndex ();
+
+ if(checkres == 5)
+ {
+ aLog->Log( _L("ConcatenatedMessagePDUIndex() completed"));
+ _LIT(tempVal,"result data:concatenated message PDU index: %d");
+ aLog->Log (tempVal, checkres);
+ aLog->Log( _L("Get concatenated message PDU index == PASS"));
+ }
+ else
+ aLog->Log( _L("Get concatenated message PDU index == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetConcatenatedMessagePDUIndex
+// Sets the index of the PDU within the Concatenated Message.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetConcatenatedMessagePDUIndex (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetConcatenatedMessagePDUIndex()"));
+
+ TInt result = KErrNone;
+ TInt setVal = 5;
+
+ // IMPORT_C void SetConcatenatedMessagePDUIndex(TInt aIndex)
+ aSmsPdu.SetConcatenatedMessagePDUIndex (setVal);
+
+ aLog->Log( _L("SetConcatenatedMessagePDUIndex() completed"));
+ aLog->Log( _L("Concatenated message PDU index stored successfully"));
+ aLog->Log( _L("Set concatenated message PDU index == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetApplicationPortAddressing
+// Gets application port addressing information in the user data.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetApplicationPortAddressing (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling ApplicationPortAddressing()"));
+
+ TInt result = KErrNone;
+ TInt aDestination, aOriginator;
+
+ // IMPORT_C TBool ApplicationPortAddressing(TInt &aDestination,
+ // TInt &aOriginator, TBool *aIs16Bit=0) const
+ TBool checkres = aSmsPdu.ApplicationPortAddressing (aDestination,aOriginator);
+
+ if( checkres )
+ {
+ aLog->Log( _L("ApplicationPortAddressing() completed"));
+ _LIT(tempVal,"result data:destination: %d originator: %d is 16 bit: %d");
+ aLog->Log (tempVal, aDestination, aOriginator, checkres);
+ aLog->Log( _L("Get application port addressing == PASS"));
+ }
+ else
+ aLog->Log( _L("Get application port addressing == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetApplicationPortAddressing
+// Sets application port addressing information in the user data.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetApplicationPortAddressing (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("SetCalling ApplicationPortAddressingL()"));
+
+ // IMPORT_C void SetApplicationPortAddressingL(TBool aAddressing,
+ // TInt aDestination, TInt aOriginator, TBool aIs16Bit=EFalse)
+ TRAPD( result, aSmsPdu.SetApplicationPortAddressingL (ETrue, 240,241));
+
+ if(result == KErrNone)
+ {
+ aLog->Log( _L("SetApplicationPortAddressingL() completed"));
+ aLog->Log( _L("Application port addressing settings successfully stored"));
+ aLog->Log( _L("Set application port addressing == PASS"));
+ }
+ else
+ aLog->Log( _L("Set application port addressing == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetPIDType
+// Gets key bits 7 and 6 of the PID field.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetPIDType (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling PIDType()"));
+
+ TInt result = KErrNone;
+ TSmsProtocolIdentifier::TSmsPIDType testPIDType;
+
+ // IMPORT_C TSmsProtocolIdentifier::TSmsPIDType PIDType() const
+ testPIDType = aSmsPdu.PIDType ();
+
+ if(testPIDType == TSmsProtocolIdentifier::ESmsPIDTelematicInterworking)
+ {
+ aLog->Log( _L("PIDType() completed"));
+ _LIT(tempVal,"result data:PID type: %d");
+ aLog->Log (tempVal,testPIDType);
+ aLog->Log( _L("Get PID type == PASS"));
+ }
+ else
+ aLog->Log( _L("Get PID type == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetPIDType
+// Sets key bits 7 and 6 of the PID field.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetPIDType (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetPIDType()"));
+ TInt result = KErrNone;
+
+ TSmsProtocolIdentifier::TSmsPIDType testPIDType (TSmsProtocolIdentifier::
+ ESmsPIDShortMessageType);
+
+ // IMPORT_C void SetPIDType(TSmsProtocolIdentifier::TSmsPIDType aSmsPIDType)
+ aSmsPdu.SetPIDType (testPIDType);
+
+ aLog->Log( _L("SetPIDType() completed"));
+ aLog->Log( _L("PID type stored successfully"));
+ aLog->Log( _L("Set PID type == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetTelematicDeviceIndicator
+// Gets the Telematic device indicator from the PID field.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetTelematicDeviceIndicator (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling TelematicDeviceIndicator()"));
+
+ TInt result = KErrNone;
+ TSmsProtocolIdentifier::TSmsTelematicDeviceIndicator testDeviceIndicator;
+
+ // IMPORT_C TSmsProtocolIdentifier::TSmsTelematicDeviceIndicator
+ // TelematicDeviceIndicator() const
+ testDeviceIndicator = aSmsPdu.TelematicDeviceIndicator ();
+
+ if(testDeviceIndicator == TSmsProtocolIdentifier::ESmsNoTelematicDevice)
+ {
+ aLog->Log( _L("TelematicDeviceIndicator() completed"));
+ _LIT(tempVal,"result data:telematic device indicator: %d");
+ aLog->Log (tempVal, testDeviceIndicator);
+ aLog->Log( _L("Get telematic device indicator == PASS"));
+ }
+ else
+ aLog->Log( _L("Get telematic device indicator == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetTelematicDeviceIndicator
+// Sets the Telematic device indicator from the PID field.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetTelematicDeviceIndicator (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetTelematicDeviceIndicator()"));
+ TInt result = KErrNone;
+
+ TSmsProtocolIdentifier::TSmsPIDType testPIDType (TSmsProtocolIdentifier::ESmsPIDTelematicInterworking);
+ aSmsPdu.SetPIDType (testPIDType);
+
+ TSmsProtocolIdentifier::TSmsTelematicDeviceIndicator testDeviceIndicator (
+ TSmsProtocolIdentifier::ESmsTelematicDevice);
+
+ // IMPORT_C void SetTelematicDeviceIndicator(TSmsProtocolIdentifier::
+ // TSmsTelematicDeviceIndicator aIndicator);
+ aSmsPdu.SetTelematicDeviceIndicator (testDeviceIndicator);
+
+ aLog->Log( _L("SetTelematicDeviceIndicator() completed"));
+ aLog->Log( _L("Telematic device indicator stored successfully"));
+ aLog->Log( _L("Set telematic device indicator == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetShortMessageType
+// Gets the Short Message Type in the PID field.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetShortMessageType (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling ShortMessageType()"));
+
+ TInt result = KErrNone;
+ TSmsProtocolIdentifier::TSmsShortMessageType testMessageType;
+
+ // IMPORT_C TSmsProtocolIdentifier::TSmsShortMessageType
+ // ShortMessageType() const;
+ testMessageType = aSmsPdu.ShortMessageType ();
+
+ if(testMessageType == TSmsProtocolIdentifier::ESmsShortMessageType0)
+ {
+ aLog->Log( _L("ShortMessageType() completed"));
+ _LIT(tempVal, "result data:short message type: %d");
+ aLog->Log (tempVal, testMessageType);
+ aLog->Log( _L("Get short message type == PASS"));
+ }
+ else
+ aLog->Log( _L("Get short message type == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetShortMessageType
+// Sets the Short Message Type in the PID field.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetShortMessageType (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetShortMessageType()"));
+ TInt result = KErrNone;
+
+ TSmsProtocolIdentifier::TSmsShortMessageType testMessageType (
+ TSmsProtocolIdentifier::ESmsShortMessageType0);
+
+ // IMPORT_C void SetShortMessageType(TSmsProtocolIdentifier::
+ // TSmsShortMessageType aShortMessageType);
+ aSmsPdu.SetShortMessageType (testMessageType);
+
+ aLog->Log( _L("SetShortMessageType() completed"));
+ aLog->Log( _L("Short message type stored successfully"));
+ aLog->Log( _L("Set short message type == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetTelematicDeviceType
+// Gets the Telematic device type in the PID field
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetTelematicDeviceType (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling TelematicDeviceType()"));
+
+ TInt result = KErrNone;
+ TSmsProtocolIdentifier::TSmsTelematicDeviceType testDeviceType;
+
+ // IMPORT_C TSmsProtocolIdentifier::TSmsTelematicDeviceType
+ // TelematicDeviceType() const
+ testDeviceType = aSmsPdu.TelematicDeviceType ();
+
+ if(testDeviceType == TSmsProtocolIdentifier::ESmsSCSpecificDevice)
+ {
+ aLog->Log( _L("TelematicDeviceType() completed"));
+ _LIT(tempVal,"result data:telematic device type: %d");
+ aLog->Log (tempVal, testDeviceType);
+ aLog->Log( _L("Get telematic device type == PASS"));
+ }
+ else
+ aLog->Log( _L("Get telematic device type == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetTelematicDeviceType
+// Sets the Telematic device type in the PID field
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetTelematicDeviceType (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetTelematicDeviceType()"));
+
+ TInt result = KErrNone;
+ TSmsProtocolIdentifier::TSmsTelematicDeviceType testDeviceType (
+ TSmsProtocolIdentifier::ESmsSCSpecificDevice);
+
+ // IMPORT_C void SetTelematicDeviceType(TSmsProtocolIdentifier::
+ // TSmsTelematicDeviceType aDeviceType);
+ aSmsPdu.SetTelematicDeviceType (testDeviceType);
+
+ aLog->Log( _L("SetTelematicDeviceType() completed"));
+ aLog->Log( _L("Telematic device type stored successfully"));
+ aLog->Log( _L("Set telematic device type == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetUserDataPresent
+// Tests if the User Data Header Indicator is set.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetUserDataPresent (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling UserDataPresent()"));
+ TInt result = KErrNone;
+
+ // IMPORT_C TBool UserDataPresent() const
+ TBool checkres = aSmsPdu.UserDataPresent ();
+
+ if( checkres )
+ {
+ aLog->Log( _L("UserDataPresent() completed"));
+ aLog->Log( _L("result data:user data present: %d"), checkres);
+ aLog->Log( _L("Get user data present == PASS"));
+ }
+ else
+ aLog->Log( _L("Get user data present == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetUserDataPresent
+// Sets or unsets the User Data Header Indicator.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetUserDataPresent (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetUserDataPresent()"));
+
+ TInt result = KErrNone;
+ TBool SetVal = ETrue;
+
+ // IMPORT_C void SetUserDataPresent(TBool aPresent);
+ aSmsPdu.SetUserDataPresent (SetVal);
+
+ aLog->Log( _L("SetUserDataPresent() completed"));
+ aLog->Log( _L("User data present flag stored successfully"));
+ aLog->Log( _L("Set user data present == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetDataCodingSchemePresent
+// Tests if data coding scheme is present.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetDataCodingSchemePresent (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling DataCodingSchemePresent()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C TBool DataCodingSchemePresent() const;
+ TBool checkres = aSmsPdu.DataCodingSchemePresent ();
+
+ if( checkres )
+ {
+ aLog->Log( _L("DataCodingSchemePresent() completed"));
+ aLog->Log (_L("result data:data coding scheme present: %d"),checkres);
+ aLog->Log (_L("Get data coding scheme present == PASS"));
+ }
+ else
+ aLog->Log( _L("Get data coding scheme present == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetDataCodingSchemePresent
+// Sets if data coding scheme is present.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetDataCodingSchemePresent (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetDataCodingSchemePresent()"));
+
+ TInt result = KErrNone;
+ TBool SetVal = ETrue;
+
+ // IMPORT_C void SetDataCodingSchemePresent(TBool aPresent)
+ aSmsPdu.SetDataCodingSchemePresent (SetVal);
+
+ aLog->Log( _L("SetDataCodingSchemePresent() completed"));
+ aLog->Log( _L("Data coding scheme present flag stored successfully"));
+ aLog->Log( _L("Set data coding scheme present == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetProtocolIdentifierPresent
+// Tests if Protocol Identifier is present.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetProtocolIdentifierPresent (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling ProtocolIdentifierPresent()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C TBool ProtocolIdentifierPresent() const
+ TBool checkres = aSmsPdu.ProtocolIdentifierPresent ();
+
+ if( checkres )
+ {
+ aLog->Log( _L("ProtocolIdentifierPresent() completed"));
+ _LIT(tempVal,"result data:protocol identifier present: %d");
+ aLog->Log (tempVal, checkres);
+ aLog->Log( _L("Get protocol identifier present == PASS"));
+ }
+ else
+ aLog->Log( _L("Get protocol identifier present == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetProtocolIdentifierPresent
+// Tests if Protocol Identifier is present.
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetProtocolIdentifierPresent (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetProtocolIdentifierPresent()"));
+
+ TInt result = KErrNone;
+ TBool SetVal = ETrue;
+
+ // IMPORT_C void SetProtocolIdentifierPresent(TBool aPresent);
+ aSmsPdu.SetProtocolIdentifierPresent (SetVal);
+
+ aLog->Log( _L("SetProtocolIdentifierPresent() completed"));
+ aLog->Log( _L("Protocol identifier present flag stored successfully"));
+ aLog->Log( _L("Set protocol identifier present == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetUserData
+// Gets User Data (non-const).
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetUserData (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling UserData()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C CSmsUserData &UserData();
+ CSmsUserData& testUserData = aSmsPdu.UserData ();
+
+ aLog->Log(_L("UserData() completed"));
+ aLog->Log(_L("result data:user data (body): %s"), testUserData.Body().Ptr());
+ aLog->Log(_L("Get user data == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetUserDataConst
+// Gets User Data (const).
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetUserDataConst (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling UserData()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C const CSmsUserData &UserData() const
+ const CSmsUserData& testUserData = aSmsPdu.UserData ();
+
+ aLog->Log( _L("UserData() completed"));
+ aLog->Log (_L("result data:user data (body): %s"),testUserData.Body().Ptr());
+ aLog->Log( _L("Get user data == PASS"));
+
+ return result;
+ }
+
+LOCAL_C TInt TestSetNationalLanguageEncodingL (CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetNationalLanguageEncodingL()"));
+
+ TInt result = KErrNone;
+
+ aSmsPdu.SetNationalLanguageEncodingL (ESmsEncodingNone);
+ TSmsEncoding id = aSmsPdu.NationalLanguageEncoding();
+
+ aLog->Log( _L("SetDataCodingSchemePresent() completed"));
+ aLog->Log( _L("Data coding scheme present flag stored successfully"));
+ aLog->Log( _L("Set data coding scheme present == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSmsPDUDuplicateL
+// Creates a copy of the object
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestSmsPDUDuplicateL( CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SmsPDUDuplicateL()"));
+
+ TInt result = KErrNone;
+
+ CSmsPDU* dupObj = aSmsPdu.DuplicateL();
+
+ if( dupObj )
+ {
+ aLog->Log(_L("TestSmsPDUDuplicateL() completed"));
+ aLog->Log(_L("Object successfully created"));
+ aLog->Log(_L("SmsPDUDuplicateL == PASS"));
+
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("SmsPDUDuplicateL == FAIL"));
+ }
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestDecode
+// -----------------------------------------------------------------------------
+/*LOCAL_C TInt TestDecode(CStifLogger* aLog, CSmsPDU& aSmsPdu)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling DecodeL()"));
+
+ TBufC8<16> str(KTestGsmPdu8);
+ TGsmuLex8 aPduL(str);
+
+ // virtual void DecodeL(TGsmuLex8 &aPdu)=0;
+ TRAPD( result, aSmsPdu.DecodeL (aPdu));
+
+ if(result == KErrNone)
+ {
+ aLog->Log( _L("DecodeL() completed"));
+ aLog->Log( _L("Decode performed successfully"));
+ aLog->Log( _L("Decode == PASS"));
+ }
+ else
+ aLog->Log( _L("Decode == FAIL"));
+
+ CleanupStack::Pop();
+ return result;
+ }
+*/
+// -----------------------------------------------------------------------------
+// TestSetParameterIndicatorPresent
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetParameterIndicatorPresent( CStifLogger* aLog, CSmsStatusReport& aReport)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetParameterIndicatorPresent()"));
+ TInt result = KErrNone;
+
+ //inline void SetParameterIndicatorPresent(TBool aPresent);
+ aReport.SetParameterIndicatorPresent(ETrue);
+
+ aLog->Log(_L("SetParameterIndicatorPresent() completed"));
+ aLog->Log(_L("Parameter indicator present flag stored successfully"));
+ aLog->Log(_L("Set parameter indicator present == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetParameterIndicatorPresent
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetParameterIndicatorPresent( CStifLogger* aLog, CSmsStatusReport& aReport)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ParameterIndicatorPresent()"));
+ TInt result = KErrNone;
+
+ //inline TBool ParameterIndicatorPresent() const;
+ TBool indicator = aReport.ParameterIndicatorPresent();
+
+ if( indicator )
+ {
+ aLog->Log(_L("ParameterIndicatorPresent() Completed"));
+ aLog->Log(_L("Result data: Parameter indicator present: %d"), indicator);
+ aLog->Log(_L("Get parameter indicator present == PASS"));
+ }
+ else
+ aLog->Log(_L("Get parameter indicator present == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetMoreMessagesToSend
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetMoreMessagesToSend( CStifLogger* aLog, CSmsStatusReport& aReport)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetMoreMessagesToSend()"));
+ TInt result = KErrNone;
+
+ //void SetMoreMessagesToSend(TBool aMore);
+ aReport.SetMoreMessagesToSend(ETrue);
+
+ aLog->Log(_L("SetMoreMessagesToSend() Completed"));
+ aLog->Log(_L("More messages to send - flag successfully stored"));
+ aLog->Log(_L("Set more messages to send == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetMoreMessagesToSend
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetMoreMessagesToSend( CStifLogger* aLog, CSmsStatusReport& aReport)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling MoreMessagesToSend()"));
+ TInt result = KErrNone;
+
+ //TBool MoreMessagesToSend() const;
+ TBool msgs = aReport.MoreMessagesToSend();
+
+ if(msgs)
+ {
+ aLog->Log(_L("MoreMessagesToSend() Completed"));
+ aLog->Log(_L("Result Data:More messages to send flag: %d"), msgs);
+ aLog->Log(_L("Get more messages to send == PASS"));
+ }
+ else
+ {
+ result =KErrGeneral;
+ aLog->Log(_L("Get more messages to send == PASS"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetStatusReportQualifier
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetStatusReportQualifier( CStifLogger* aLog, CSmsStatusReport& aReport)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetStatusReportQualifier()"));
+ TInt result = KErrNone;
+
+ TSmsFirstOctet::TSmsStatusReportQualifier qualifier = TSmsFirstOctet::ESmsStatusReportResultOfSubmit;
+ //void SetStatusReportQualifier(TSmsFirstOctet::TSmsStatusReportQualifier aQualifier);
+ aReport.SetStatusReportQualifier( qualifier );
+
+ aLog->Log(_L("SetStatusReportQualifier() Completed"));
+ aLog->Log(_L("Status report qualifier stored successfully"));
+ aLog->Log(_L("Set status report qualifier == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetStatusReportQualifier
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetStatusReportQualifier( CStifLogger* aLog, CSmsStatusReport& aReport)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling StatusReportQualifier()"));
+ TInt result = KErrNone;
+
+ //TSmsFirstOctet::TSmsStatusReportQualifier StatusReportQualifier() const;
+ TSmsFirstOctet::TSmsStatusReportQualifier qualifier = aReport.StatusReportQualifier();
+
+ if( qualifier == TSmsFirstOctet::ESmsStatusReportResultOfSubmit )
+ {
+ aLog->Log(_L("StatusReportQualifier() Completed"));
+ aLog->Log(_L("Result data: Status report qualifier: %d"), qualifier);
+ aLog->Log(_L("Get status report qualifier == PASS"));
+ }
+ else
+ aLog->Log(_L("Get status report qualifier == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetMessageReference
+// Gets the Message Reference
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestGetMessageReference( CStifLogger* aLog, CSmsStatusReport& aReport)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling MessageReference()"));
+ TInt result = KErrNone;
+
+ //IMPORT_C TInt MessageReference() const;
+ TInt getRef = aReport.MessageReference();
+
+ aLog->Log(_L("MessageReference() Completed"));
+ aLog->Log(_L("result data:Message reference: %d"), getRef);
+ aLog->Log(_L("Get Message Reference == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetMessageReference
+// Sets the Message Reference
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestSetMessageReference( CStifLogger* aLog, CSmsStatusReport& aReport)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetMessageReference()"));
+ TInt result = KErrNone;
+
+ TInt setRef = 1;
+ //IMPORT_C void SetMessageReference(TInt aMessageReference);
+ aReport.SetMessageReference(setRef);
+
+ aLog->Log(_L("SetMessageReference() Completed"));
+ aLog->Log(_L("Message reference successfully stored"));
+ aLog->Log(_L("Set Message Reference == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetServiceCenterTimeStamp
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetServiceCenterTimeStamp( CStifLogger* aLog, CSmsStatusReport& aReport)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetServiceCenterTimeStamp()"));
+ TInt result = KErrNone;
+
+ const TTime time(_L("20060201:000000.000000"));
+ TInt numQuarterHours = 1;
+ //IMPORT_C void SetServiceCenterTimeStamp(const TTime& aTime,TInt& aNumQuarterHours);
+ aReport.SetServiceCenterTimeStamp(time, numQuarterHours);
+
+ aLog->Log(_L("SetServiceCenterTimeStamp() Completed"));
+ aLog->Log(_L("Time stamp successfully stored"));
+ aLog->Log(_L("Set service center time stamp == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetServiceCenterTimeStamp
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetServiceCenterTimeStampL( CStifLogger* aLog, CSmsStatusReport& aReport)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling ServiceCenterTimeStamp()"));
+ TInt result = KErrNone;
+
+ TBuf<30> string;
+ _LIT( KFormat, "%*E%*D%X%*N%*Y %1 %2 '%3 %H%:1%T%:2%S");
+ TTime setTime(TDateTime(2006,EJanuary,01,12,0,0,0));
+ TTime getTime;
+ TInt numQuarterHrs;
+ //void ServiceCenterTimeStamp(TTime& aTime,TInt& aNumQuarterHours);
+ aReport.ServiceCenterTimeStamp(getTime, numQuarterHrs);
+
+ if( getTime == setTime )
+ {
+ getTime.FormatL(string, KFormat);
+ aLog->Log(_L("ServiceCenterTimeStamp() Completed"));
+ aLog->Log(_L("Result data:Time stamp: %S"), &string);
+ aLog->Log(_L("Get service center time stamp == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("Get service center time stamp == FAIL"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetDischargeTime
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetDischargeTime( CStifLogger* aLog, CSmsStatusReport& aReport)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetDischargeTime()"));
+ TInt result = KErrNone;
+
+ const TTime time(_L("20060201:000000.000000"));
+ TInt numQuarterHrs = 2;
+ //void SetDischargeTime(const TTime& aTime,TInt& aNumQuarterHours);
+ aReport.SetDischargeTime(time, numQuarterHrs);
+
+ aLog->Log(_L("SetDischargeTime Completed"));
+ aLog->Log(_L("Discharge time stored successfully"));
+ aLog->Log(_L("Set discharge time == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetDischargeTime
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetDischargeTimeL( CStifLogger* aLog, CSmsStatusReport& aReport)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling DischargeTime()"));
+ TInt result = KErrNone;
+
+ TBuf<30> string;
+ _LIT( KFormat, "%*E%*D%X%*N%*Y %1 %2 '%3 %H%:1%T%:2%S");
+ TTime setTime(TDateTime(2006,EJanuary,01,12,0,0,0));
+ TTime time;
+ TInt numQuarterHrs;
+ //void DischargeTime(TTime& aTime,TInt& aNumQuarterHours);
+ aReport.DischargeTime(time, numQuarterHrs);
+
+ if( time == setTime )
+ {
+ time.FormatL(string, KFormat);
+ aLog->Log(_L("DischargeTime() Completed"));
+ aLog->Log(_L("Result data: Discharge time: %S"), &string);
+ aLog->Log(_L("Get discharge time == PASS"));
+ }
+ else
+ aLog->Log(_L("Get discharge time == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetStatus
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetStatus(CStifLogger* aLog, CSmsStatusReport& aReport)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SetStatus()"));
+ TInt result = KErrNone;
+
+ //void SetStatus(TSmsStatus::TSmsStatusValue aValue);
+ TSmsStatus::TSmsStatusValue status = TSmsStatus::ESmsShortMessageReceivedBySME;
+ aReport.SetStatus(status);
+
+ aLog->Log(_L("Status() Completed"));
+ aLog->Log(_L("Result data: status: %d"), status);
+ aLog->Log(_L("Get status == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetStatus
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetStatus(CStifLogger* aLog, CSmsStatusReport& aReport)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling Status()"));
+ TInt result = KErrNone;
+
+ //TSmsStatus::TSmsStatusValue Status() const;
+ TSmsStatus::TSmsStatusValue status = aReport.Status();
+
+ if( status == TSmsStatus::ESmsShortMessageReceivedBySME )
+ {
+ aLog->Log(_L("Status() Completed"));
+ aLog->Log(_L("Result data: status: %d"), status);
+ aLog->Log(_L("Get status == PASS"));
+ }
+ else
+ aLog->Log(_L("Get status == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSmsStatusReportDuplicateL
+// Creates a copy of the object
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestSmsStatusReportDuplicateL( CStifLogger* aLog, CSmsStatusReport& aReport)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SmsStatusReportDuplicateL()"));
+
+ TInt result = KErrNone;
+
+ CSmsStatusReport* dupObj = aReport.DuplicateL();
+
+ if( dupObj )
+ {
+ aLog->Log(_L("TestSmsStatusReportDuplicateL() completed"));
+ aLog->Log(_L("Object successfully created"));
+ aLog->Log(_L("SmsStatusReportDuplicateL == PASS"));
+
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("SmsStatusReportDuplicateL == FAIL"));
+ }
+ return result;
+ }
+// -----------------------------------------------------------------------------
+// TestGetRejectDuplicates
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetRejectDuplicates(CStifLogger* aLog, CSmsSubmit& aSmsSub)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling RejectDuplicates()"));
+
+ TInt result = KErrNone;
+
+ //TBool RejectDuplicates() const;
+ TBool reject = aSmsSub.RejectDuplicates();
+
+ if( reject )
+ {
+ aLog->Log(_L("RejectDuplicates() Completed"));
+ aLog->Log(_L("Result data: Reject duplicates: %d"), reject);
+ aLog->Log(_L("Get reject duplicates == PASS"));
+ }
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetRejectDuplicates
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetRejectDuplicates(CStifLogger* aLog, CSmsSubmit& aSmsSub)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetRejectDuplicates()"));
+
+ TInt result = KErrNone;
+ TBool reject = ETrue;
+ //void SetRejectDuplicates(TBool aRejectDuplicates);
+ aSmsSub.SetRejectDuplicates(reject);
+
+ aLog->Log(_L("SetRejectDuplicates() Completed"));
+ aLog->Log(_L("Reject duplicate flag stored successfully"));
+ aLog->Log(_L("Set reject duplicates == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetValidityPeriodFormat
+// Gets the Validity Period Format
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetValidityPeriodFormat (CStifLogger* aLog, CSmsSubmit& aSmsSub)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling ValidityPeriodFormat()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C TSmsFirstOctet::TSmsValidityPeriodFormat ValidityPeriodFormat() const
+ TSmsFirstOctet::TSmsValidityPeriodFormat pformat = aSmsSub.ValidityPeriodFormat ();
+
+ if(pformat == TSmsFirstOctet::ESmsVPFNone)
+ {
+ aLog->Log(_L("ValidityPeriodFormat() completed"));
+ aLog->Log(_L("Validity period format: %d"),pformat);
+ aLog->Log(_L("Get validity period format == PASS"));
+ }
+ else
+ aLog->Log( _L("ValidityPeriodFormat() == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetValidityPeriodFormat
+// Sets the Validity Period Format
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetValidityPeriodFormat (CStifLogger* aLog, CSmsSubmit& aSmsSub)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetValidityPeriodFormat()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C void SetValidityPeriodFormat(TSmsFirstOctet::TSmsValidityPeriodFormat aValidityPeriodFormat)
+ TSmsFirstOctet::TSmsValidityPeriodFormat aValidityPeriodFormat (TSmsFirstOctet::ESmsVPFNone);
+
+ aSmsSub.SetValidityPeriodFormat (aValidityPeriodFormat);
+
+ aLog->Log( _L("SetValidityPeriodFormat() completed"));
+ aLog->Log( _L("Validity period format stored successfully"));
+ aLog->Log( _L("Set validity period format == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetReplyPath
+// Gets Reply Path flag
+// If a Reply Path exists, the recipient of the SMS can reply using the same
+// service center address
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetReplyPath (CStifLogger* aLog, CSmsSubmit& aSmsSub)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling ReplyPath()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C TBool ReplyPath() const
+ TBool checkres = aSmsSub.ReplyPath ();
+
+ if( checkres )
+ {
+ aLog->Log (_L("ReplyPath() completed"));
+ aLog->Log (_L("Result data:reply path flag: %d"),checkres);
+ aLog->Log (_L("Get reply path == PASS"));
+ }
+ else
+ aLog->Log (_L("Get reply path == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetReplyPath
+// Sets Reply Path flag
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetReplyPath (CStifLogger* aLog, CSmsSubmit& aSmsSub)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetReplyPath()"));
+
+ TInt result = KErrNone;
+ TBool tempVar = ETrue;
+
+ // IMPORT_C void SetReplyPath (TBool aReplyPath)
+ aSmsSub.SetReplyPath (tempVar);
+
+ aLog->Log( _L("SetReplyPath() completed"));
+ aLog->Log( _L("Reply path flag stored successfully"));
+ aLog->Log( _L("Set reply path == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetStatusReportRequest
+// Gets Status Report Request flag
+// A sender can request STATUS REPORTs for the SUBMIT being sent
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetStatusReportRequest (CStifLogger* aLog, CSmsSubmit& aSmsSub)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling StatusReportRequest()"));
+ TInt result = KErrNone;
+
+ // IMPORT_C TBool StatusReportRequest() const
+ TBool checkres = aSmsSub.StatusReportRequest();
+
+ if( checkres )
+ {
+ aLog->Log(_L("StatusReportRequest() completed"));
+ aLog->Log (_L("result data:status report request flag: %d"),checkres);
+ aLog->Log(_L("Get status report request == PASS"));
+ }
+ else
+ aLog->Log( _L("Get status report request == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetStatusReportRequest
+// Sets Status Report Request flag
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetStatusReportRequest (CStifLogger* aLog, CSmsSubmit& aSmsSub)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetStatusReportRequest()"));
+
+ TInt result = KErrNone;
+ TBool tempVar = ETrue;
+
+ // IMPORT_C void SetStatusReportRequest(TBool aRequest);
+ aSmsSub.SetStatusReportRequest (tempVar);
+
+ aLog->Log( _L("SetStatusReportRequest() completed"));
+ aLog->Log( _L("Status report request flag stored successfully"));
+ aLog->Log( _L("Set status report request == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetMessageReference
+// Gets the Message Reference
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetMessageReference (CStifLogger* aLog, CSmsSubmit& aSmsSub)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling MessageReference()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C TInt MessageReference() const
+ TInt checkres = aSmsSub.MessageReference();
+
+ if(checkres == 10)
+ {
+ aLog->Log( _L("MessageReference() completed"));
+ _LIT(tempStr,"result data:message reference: %d");
+ aLog->Log (tempStr,checkres);
+ aLog->Log( _L("Get message reference == PASS"));
+ }
+ else
+ aLog->Log( _L("Get message reference == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetMessageReference
+// Sets the Message Reference
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetMessageReference (CStifLogger* aLog, CSmsSubmit& aSmsSub)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetMessageReference()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C void SetMessageReference(TInt aMessageReference)
+ aSmsSub.SetMessageReference (10);
+
+ aLog->Log( _L("SetMessageReference() completed"));
+ aLog->Log( _L("Message reference stored successfully"));
+ aLog->Log( _L("Set message reference == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetValidityPeriod
+// Gets the Validity Period for the SUBMIT
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetValidityPeriod (CStifLogger* aLog, CSmsSubmit& aSmsSub)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling ValidityPeriod()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C const TTimeIntervalMinutes &ValidityPeriod() const
+ TTimeIntervalMinutes timeinterval;
+ timeinterval = aSmsSub.ValidityPeriod ();
+
+ if(timeinterval.Int() == 1)
+ {
+ aLog->Log( _L("ValidityPeriod() completed"));
+ _LIT(tempVal,"result data:validity period: %d");
+ aLog->Log (tempVal,timeinterval.Int() );
+ aLog->Log( _L("Get validity period == PASS"));
+ }
+ else
+ aLog->Log( _L("Get validity period == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetValidityPeriod
+// Sets the Validity Period for the SUBMIT
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetValidityPeriod (CStifLogger* aLog, CSmsSubmit& aSmsSub)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetValidityPeriod()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C void SetValidityPeriod(const TTimeIntervalMinutes
+ // &aTimeIntervalMinutes)
+ TTimeIntervalMinutes timeinterval = 1;
+ aSmsSub.SetValidityPeriod (timeinterval);
+
+ aLog->Log( _L("SetValidityPeriod() completed"));
+ aLog->Log( _L("Validity period stored successfully"));
+ aLog->Log( _L("Set validity period == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSmsSubmitDuplicateL
+// Creates a copy of the object
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestSmsSubmitDuplicateL( CStifLogger* aLog, CSmsSubmit& aSmsSub)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SmsSubmitDuplicateL()"));
+
+ TInt result = KErrNone;
+
+ CSmsSubmit* dupObj = aSmsSub.DuplicateL();
+
+ if( dupObj )
+ {
+ aLog->Log(_L("TestSmsSubjectDuplicateL() completed"));
+ aLog->Log(_L("Object successfully created"));
+ aLog->Log(_L("SmsSubmitDuplicateL == PASS"));
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("SmsSubmitDuplicateL == FAIL"));
+ }
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetIsRPError
+// Gets the Reply Path Error flag
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetIsRPError (CStifLogger* aLog, CSmsSubmitReport& aSmsSubReport)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling IsRPError()"));
+
+ TInt result = KErrNone;
+
+ // TBool IsRPError() const
+ TBool checkres = aSmsSubReport.IsRPError();
+
+ if( checkres )
+ {
+ aLog->Log(_L("IsRPError() completed"));
+ aLog->Log(_L("Result data:is RP error flag: %d"),checkres);
+ aLog->Log(_L("Get is RP error == PASS"));
+ }
+ else
+ aLog->Log(_L("Get is RP error == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetIsRPError
+// Gets the Reply Path Error flag
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetIsRPError (CStifLogger* aLog, CSmsSubmitReport& aSmsSubReport)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetIsRPError()"));
+
+ TInt result = KErrNone;
+ TBool tempVar = ETrue;
+
+ // inline void SetIsRPError(TBool aIsRPError)
+ aSmsSubReport.SetIsRPError (tempVar);
+
+ aLog->Log( _L("SetIsRPError() completed"));
+ aLog->Log( _L("Is RP error flag stored successfully"));
+ aLog->Log( _L("Set is RP error == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetFailureCause
+// Gets the Failure Cause
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetFailureCause (CStifLogger* aLog, CSmsSubmitReport& aSmsSubReport)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling FailureCause()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C TInt FailureCause() const
+ TInt checkres = aSmsSubReport.FailureCause ();
+
+ if(checkres == TSmsFailureCause::ESmsPIDErrorCannotReplaceShortMessage)
+ {
+ aLog->Log( _L("FailureCause() completed"));
+ _LIT(tempVal,"result data:failure cause: %d");
+ aLog->Log(tempVal,checkres);
+ aLog->Log( _L("Get failure cause == PASS"));
+ }
+ else
+ aLog->Log( _L("Get failure cause == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestSetFailureCause
+// Sets the Failure Cause
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetFailureCause (CStifLogger* aLog, CSmsSubmitReport& aSmsSubReport)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetFailureCause()"));
+
+ TInt result = KErrNone;
+ TSmsFailureCause::TSmsFailureCauseError aFailureCause =
+ TSmsFailureCause::ESmsPIDErrorCannotReplaceShortMessage;
+
+ // IMPORT_C void SetFailureCause
+ // (TSmsFailureCause::TSmsFailureCauseError aFailureCause)
+ aSmsSubReport.SetFailureCause (aFailureCause);
+
+ aLog->Log( _L("SetFailureCause() completed"));
+ aLog->Log( _L("Failure cause stored successfully"));
+ aLog->Log( _L("Set failure cause == PASS"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSmsSubmitReportDuplicateL
+// Creates a copy of the object
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TInt TestSmsSubmitReportDuplicateL( CStifLogger* aLog, CSmsSubmitReport& aSmsSubReport)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling SmsSubmitReportDuplicateL()"));
+
+ TInt result = KErrNone;
+
+ CSmsSubmitReport* dupObj = aSmsSubReport.DuplicateL();
+
+ if( dupObj )
+ {
+ aLog->Log(_L("TestSmsSubmitReportDuplicateL() completed"));
+ aLog->Log(_L("Object successfully created"));
+ aLog->Log(_L("SmsSubmitReportDuplicateL == PASS"));
+
+ }
+ else
+ {
+ result = KErrGeneral;
+ aLog->Log(_L("SmsSubmitReportDuplicateL == FAIL"));
+ }
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetNumberOfInformationElements
+// Gets the number of information elements
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetNumberOfInformationElements (CStifLogger* aLog, CSmsUserData& aSmsUsr)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling NumInformationElements()"));
+
+ TInt result = KErrNone;
+
+ // inline TInt NumInformationElements() const
+ TInt checkres = aSmsUsr.NumInformationElements();
+
+ if( checkres == 0)
+ {
+ aLog->Log( _L("NumInformationElements() completed"));
+ _LIT(tempVal,"result:number of information elements: %d");
+ aLog->Log(tempVal, checkres);
+ aLog->Log( _L("Get number of information elements == PASS"));
+ }
+ else
+ aLog->Log( _L("Get number of information elements == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetInformationElement
+// Gets an information element by index
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetInformationElement (CStifLogger* aLog, CSmsUserData& aSmsUsr)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling InformationElement()"));
+
+ TInt result = KErrNone;
+ TInt index = 0;
+
+ // IMPORT_C CSmsInformationElement &InformationElement(TInt aIndex) const
+ CSmsInformationElement& infoElem = aSmsUsr.InformationElement (index);
+
+ aLog->Log( _L("InformationElement() completed"));
+ aLog->Log(_L("Information element (identifier): %d"), infoElem.Identifier());
+ aLog->Log( _L("Get information element == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetInformationElementIndex
+// Gets the index of an information element
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetInformationElementIndex (CStifLogger* aLog, CSmsUserData& aSmsUsr)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling InformationElementIndex()"));
+
+ TInt result = KErrNone;
+ TInt index;
+ CSmsInformationElement::TSmsInformationElementIdentifier aIdentifier
+ ( CSmsInformationElement::ESmsIEISpecialSMSMessageIndication);
+
+ // IMPORT_C TBool InformationElementIndex(
+ // CSmsInformationElement::TSmsInformationElementIdentifier aIdentifier,
+ // TInt &aIndex) const
+ TBool checkres = aSmsUsr.InformationElementIndex (aIdentifier,index);
+
+ if( checkres )
+ {
+ aLog->Log(_L("InformationElementIndex() completed"));
+ aLog->Log(_L("Result data:information element index: %d"), checkres);
+ aLog->Log(_L("Get information element index == PASS"));
+ }
+ else
+ aLog->Log(_L("Get information element index == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestAddInformationElement
+// Adds an information element
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestAddInformationElement (CStifLogger* aLog, CSmsUserData& aSmsUsr)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling AddInformationElementL()"));
+
+ _LIT8(str,"test string");
+ const TBufC8<20> data (str);
+ TSmsId testObject (CSmsInformationElement::ESmsIEISpecialSMSMessageIndication);
+
+ // IMPORT_C void AddInformationElementL(TSmsId aIdentifier,
+ // const TDesC8 &aData)
+ TRAPD( result, aSmsUsr.AddInformationElementL (testObject,data));
+
+ if(result == KErrNone)
+ {
+ aLog->Log( _L("AddInformationElementL() completed"));
+ aLog->Log( _L("Information element added successfully"));
+ aLog->Log( _L("Add information element == PASS"));
+ }
+ else
+ aLog->Log( _L("Add information element == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestRemoveInformationElement
+// Removes an information element at the specified index
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestRemoveInformationElement (CStifLogger* aLog, CSmsUserData& aSmsUsr)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling RemoveInformationElement()"));
+
+ TInt result = KErrNone;
+ TInt index = 0;
+
+ // IMPORT_C void RemoveInformationElement(TInt aIndex)
+ aSmsUsr.RemoveInformationElement (index);
+
+ aLog->Log( _L("RemoveInformationElement() completed"));
+ aLog->Log( _L("Information element removed successfully"));
+ aLog->Log( _L("Remove information element == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestMaxBodyLengthInChars
+// Gets the maximum characters in body length of user data
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestMaxBodyLengthInChars (CStifLogger* aLog, CSmsUserData& aSmsUsr)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling MaxBodyLengthInChars()"));
+
+ TInt result = KErrNone;
+
+ // IMPORT_C TInt MaxBodyLengthInChars() const
+ TInt charret = aSmsUsr.MaxBodyLengthInChars ();
+
+ aLog->Log( _L("MaxBodyLengthInChars() completed"));
+ _LIT(tempVal, "result data:max body length in chars: %d");
+ aLog->Log(tempVal,charret);
+ aLog->Log( _L("Get max body length in chars == PASS"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetBody
+// Gets the unpacked User Data Elements
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetBody (CStifLogger* aLog, CSmsUserData& aSmsUsr)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling Body()"));
+
+ TInt result = KErrNone;
+ _LIT8 (str,"Test String");
+ TBufC8<20> tempVar (str);
+
+ // IMPORT_C TPtrC8 Body() const
+ TPtrC8 checkres( aSmsUsr.Body() );
+
+ if(!checkres.Compare (tempVar))
+ {
+ aLog->Log( _L("Body() completed"));
+ aLog->Log(_L("result data:body: %s"),checkres.Ptr());
+ aLog->Log( _L("Get body == PASS"));
+ }
+ else
+ aLog->Log( _L("Get body == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestSetBody
+// Sets the unpacked User Data Elements
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestSetBody (CStifLogger* aLog, CSmsUserData& aSmsUsr)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling SetBodyL()"));
+
+ _LIT8 (str,"Test String");
+ TBufC8<20> tempVar (str);
+
+ // IMPORT_C void SetBodyL(const TDesC8 &aBody)
+ TRAPD( result , aSmsUsr.SetBodyL (tempVar));
+
+ if(result == KErrNone)
+ {
+ aLog->Log( _L("SetBodyL() completed"));
+ aLog->Log( _L("Body stored successfully"));
+ aLog->Log( _L("Set body == PASS"));
+ }
+ else
+ aLog->Log(_L("Set body == FAIL"));
+
+ return result;
+ }
+
+
+// -----------------------------------------------------------------------------
+// TestGetIsSupported
+// Tests if the User Data supports a specified character
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetIsSupported (CStifLogger* aLog, CSmsUserData& aSmsUsr)
+ {
+ aLog->Log( _L("--------------------------------------------------------"));
+ aLog->Log( _L("Calling IsSupportedL()"));
+
+ TChar testChar ('&');
+ // IMPORT_C TBool IsSupportedL(TChar aChar)
+ TBool checkres;
+ TRAPD(result, checkres = aSmsUsr.IsSupportedL (testChar));
+
+ if(result == KErrNone)
+ {
+ aLog->Log( _L("IsSupportedL() completed"));
+ _LIT(tempVal,"result data:is supported flag: %d");
+ aLog->Log(tempVal, checkres);
+ aLog->Log( _L("Get is supported == PASS"));
+ }
+ else
+ aLog->Log( _L("Get is supported == FAIL"));
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TestGetIsSupported2
+//
+// -----------------------------------------------------------------------------
+LOCAL_C TInt TestGetIsSupported2(CStifLogger* aLog,CSmsUserData& aSmsUsr)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling IsSupported2L()"));
+
+
+ TBufC<50> testBuffer = _L("Nokia$123has*some%employees");
+ TInt numUnconvertable;
+ TInt posFirstUnconvertable;
+ TInt numDowngradedChars;
+ TInt numReqAlternativeEncoding;
+
+ TBool res = 0;
+ TRAPD( result, res = aSmsUsr.IsSupportedL(testBuffer, ESmsEncodingNone, numUnconvertable, numDowngradedChars, numReqAlternativeEncoding, posFirstUnconvertable));
+
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log(_L("IsSupported2L() completed"));
+ aLog->Log(_L("result data: is supported: %d"), res);
+ aLog->Log(_L("Get is supported == PASS"));
+ }
+ return result;
+ }
+// -----------------------------------------------------------------------------
+// TestGetIsSupported3
+//
+// -----------------------------------------------------------------------------
+
+LOCAL_C TInt TestGetIsSupported3(CStifLogger* aLog,CSmsUserData& aSmsUsr)
+ {
+ aLog->Log(_L("---------------------------------------------"));
+ aLog->Log(_L("Calling IsSupported3L()"));
+
+
+ TBufC<50> testBuffer = _L("Nokia$123has*some%employees");
+ TInt numUnconvertable;
+ TInt posFirstUnconvertable;
+
+ TBool res = 0;
+ TRAPD( result, res = aSmsUsr.IsSupportedL(testBuffer, numUnconvertable, posFirstUnconvertable));
+
+ if(result != KErrNone)
+ {
+ aLog->Log(_L("Leave occured: error code: %d"), result);
+ }
+ else
+ {
+ aLog->Log(_L("IsSupported3L() completed"));
+ aLog->Log(_L("result data: is supported: %d"), res);
+ aLog->Log(_L("Get is supported == PASS"));
+ }
+ return result;
+ }
+// -----------------------------------------------------------------------------
+// CBCSmsUtilitiesTest::TestSmsAlphabetConverter
+// Simple printing to UI test.
+// -----------------------------------------------------------------------------
+//
+TInt CBCSmsUtilitiesTest::TestSmsAlphabetConverterL(
+ TTestResult& aResult )
+ {
+ _LIT(KSmsAlphabetConverter, "Calling CSmsAlphabetConverter");
+ iLog->Log(KSmsAlphabetConverter);
+ TInt result = KErrNone;
+
+ CCnvCharacterSetConverter* charSet = CCnvCharacterSetConverter::NewLC();
+ TSmsDataCodingScheme::TSmsAlphabet smsAlphabet = TSmsDataCodingScheme::ESmsAlphabet8Bit;
+ TBool isBinary = EFalse;
+
+ CSmsAlphabetConverter* converter = CSmsAlphabetConverter::NewLC(*charSet, iSession, smsAlphabet, isBinary);
+ CConsoleBase* console = Create_ConsoleL(_L("CSmsAlphabetConverter"));
+//Get alphabet
+ result = TestGetAlphabet(iLog, *converter);
+ Print(console, result, _L("Alphabet") );
+
+//ConvertFromNative
+ result = TestConvertFromNative(iLog, *converter);
+ Print(console, result, _L("ConvertFromNative") );
+
+//ConvertToNative
+ result = TestConvertToNative(iLog, *converter);
+ Print(console, result, _L("ConvertToNative") );
+
+//ConvertFromNative2
+ result = TestConvertFromNative2L(iLog, *converter);
+ Print(console, result, _L("ConvertFromNative2") );
+
+//ConvertToNative2
+ result = TestConvertToNative2L(iLog, *converter);
+ Print(console, result, _L("ConvertToNative2") );
+
+//UnconvertedNativeCharacters
+ result = TestUnconvertedNativeCharacters(iLog, *converter);
+ Print(console, result, _L("UnconvertedUDCharacters") );
+
+//UnconvertedUDElements
+ result = TestUnconvertedUDElements(iLog, *converter);
+ Print(console, result, _L("ResetUnconvertedUDElements") );
+
+//ResetUnconvertedNativeCharacters
+ result = TestResetUnconvertedNativeCharacters(iLog, *converter);
+ Print(console, result, _L("ResetUnconvertedNativeCharacters") );
+
+//ResetUnconvertedUDElements
+ result = TestResetUnconvertedUDElements(iLog, *converter);
+ Print(console, result, _L("ResetUnconvertedUDElements") );
+
+ Remove_Console(console);
+ CleanupStack::PopAndDestroy(2);
+// Case was executed
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CBCSmsUtilitiesTest::TestSmsBuffer
+// Simple printing to UI test.
+// -----------------------------------------------------------------------------
+//
+TInt CBCSmsUtilitiesTest::TestSmsBufferL(
+ TTestResult& aResult )
+ {
+ _LIT(KSmsBuffer, "Calling CSmsBuffer");
+ iLog->Log(KSmsBuffer);
+ TInt result = KErrNone;
+
+ CSmsBuffer* buffer = CSmsBuffer::NewL();
+ CleanupStack::PushL(buffer);
+
+ CConsoleBase* console = Create_ConsoleL(_L("CSmsBuffer"));
+//Construction
+//Destruction
+//Insert
+ result = TestInsert(iLog, *buffer);
+ Print(console, result, _L("Insert") );
+
+//Delete
+ result = TestDelete(iLog, *buffer);
+ Print(console, result, _L("DeleteL") );
+
+//Extract
+ result = TestExtract(iLog, *buffer);
+ Print(console, result, _L("Extract") );
+
+//GetLength
+ result = TestGetLength(iLog, *buffer);
+ Print(console, result, _L("Length") );
+
+//Externalize
+ result = TestExternalizeL(iLog, *buffer);
+ Print(console, result, _L("ExternalizeL") );
+
+//Internalize
+ result = TestInternalizeL(iLog, *buffer);
+ Print(console, result, _L("InternalizeL") );
+
+//Reset
+ result = TestReset(iLog, *buffer);
+ Print(console, result, _L("Reset") );
+
+ Remove_Console(console);
+ CleanupStack::PopAndDestroy();
+// Case was executed
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CBCSmsUtilitiesTest::TestSmsCommand
+// Simple printing to UI test.
+// -----------------------------------------------------------------------------
+//
+TInt CBCSmsUtilitiesTest::TestSmsCommandL(
+ TTestResult& aResult )
+ {
+ _LIT(KSmsBufferBase, "Calling CSmsBufferBase");
+ iLog->Log(KSmsBufferBase);
+ TInt result = KErrNone;
+
+ RFs rfServer;
+ User::LeaveIfError(rfServer.Connect());
+
+ CCnvCharacterSetConverter* characterSetConverter = CCnvCharacterSetConverter::NewL();
+ CSmsBuffer* smsBuffer = CSmsBuffer::NewL();
+ CSmsMessage* smsMessage = CSmsMessage::NewL(rfServer, CSmsPDU::ESmsCommand, smsBuffer );
+
+ CSmsCommand& command = STATIC_CAST(CSmsCommand&, smsMessage->SmsPDU() );
+ CSmsCommand * ptrCommand = &command;
+ CleanupStack::PushL(ptrCommand);
+
+ CConsoleBase* console = Create_ConsoleL(_L("CSmsCommand"));
+//Construction
+//Add information element
+ result = TestAddInformationElement(iLog, command);
+ Print(console, result, _L("AddInformationElement") );
+
+//Get information element
+ result = TestInformationElement(iLog, command);
+ Print(console, result, _L("InformationElement"));
+
+//Get information element index
+ result = TestInformationElementIndex(iLog, command);
+ Print(console, result, _L("InformationElementIndex"));
+
+//Get number of information elements
+ result = TestNumInformationElements(iLog, command);
+ Print(console, result, _L("NumInformationElements"));
+
+//Remove information element
+ result = TestRemoveInformationElement(iLog, command);
+ Print(console, result, _L("RemoveInformationElement") );
+
+//Get max command data length
+ result = TestMaxCommandDataLength(iLog, command);
+ Print(console, result, _L("MaxCommandDataLength") );
+
+//Set command data
+ result = TestSetCommandData(iLog, command);
+ Print(console, result, _L("SetCommandData"));
+
+//Get command data
+ result = TestGetCommandData(iLog, command);
+ Print(console, result, _L("CommandData") );
+
+//Set Command Type
+ result = TestSetCommandType(iLog, command);
+ Print(console, result, _L("SetCommandType") );
+
+//Get Command Type
+ result = TestGetCommandType(iLog, command);
+ Print(console, result, _L("CommandType") );
+
+//Set message number
+ result = TestSetMessageNumber(iLog, command);
+ Print(console, result, _L("SetMessageNumber"));
+
+//Get message number
+ result = TestGetMessageNumber(iLog, command);
+ Print(console, result, _L("MessageNumber"));
+
+//Set Message Reference
+ result = TestSetMessageReference(iLog, command);
+ Print(console, result, _L("SetMessageReference"));
+
+//Get Message Reference
+ result = TestGetMessageReference(iLog, command);
+ Print(console, result, _L("MessageReference"));
+
+//Set status report request
+ result = TestSetStatusReportRequest(iLog, command);
+ Print(console, result, _L("SetStatusReportRequest"));
+
+//Get status report request
+ result = TestGetStatusReportRequest(iLog, command);
+ Print(console, result, _L("StatusReportRequest"));
+
+//DuplicateL
+ result = TestSmsCommandDuplicateL(iLog, command);
+ Print(console, result, _L("SmsCommandDuplicateL"));
+
+ Remove_Console(console);
+ CleanupStack::PopAndDestroy(&command);
+ rfServer.Close();
+ // Case was executed
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CBCSmsUtilitiesTest::TestSmsDeliver
+// Simple printing to UI test.
+// -----------------------------------------------------------------------------
+//
+TInt CBCSmsUtilitiesTest::TestSmsDeliverL(
+ TTestResult& aResult )
+ {
+ _LIT(KSmsDeliver, "Calling CSmsDeliver");
+ iLog->Log(KSmsDeliver);
+ TInt result = KErrNone;
+
+ RFs rfServer;
+ User::LeaveIfError(rfServer.Connect());
+
+ CCnvCharacterSetConverter* characterSetConverter = CCnvCharacterSetConverter::NewL();
+ CSmsBuffer* smsBuffer = CSmsBuffer::NewL();
+ CSmsMessage* smsMessage = CSmsMessage::NewL(rfServer, CSmsPDU::ESmsDeliver, smsBuffer );
+
+ CSmsDeliver& deliver = STATIC_CAST(CSmsDeliver&, smsMessage->SmsPDU() );
+ CSmsDeliver *ptrDeliver = &deliver;
+ CleanupStack::PushL(ptrDeliver);
+
+ CConsoleBase* console = Create_ConsoleL(_L("CSmsDeliver"));
+//Construction
+//Set more messages to send
+ result = TestSetMoreMessagesToSend(iLog, deliver);
+ Print(console, result, _L("SetMoreMessagesToSend"));
+
+//Get more messages to send
+ result = TestGetMoreMessagesToSend(iLog, deliver);
+ Print(console, result, _L("MoreMessagesToSend"));
+
+//Set reply path
+ result = TestSetReplyPath(iLog, deliver);
+ Print(console, result, _L("SetReplyPath"));
+
+//Get reply path
+ result = TestGetReplyPath(iLog, deliver);
+ Print(console, result, _L("ReplyPath"));
+
+//Set status report indication
+ result = TestSetStatusReportIndication(iLog, deliver);
+ Print(console, result, _L("SetStatusReportIndication"));
+
+//Get status report indication
+ result = TestGetStatusReportIndication(iLog, deliver);
+ Print(console, result, _L("StatusReportIndication"));
+
+//Set service center time stamp
+ result = TestSetServiceCenterTimeStamp(iLog, deliver);
+ Print(console, result, _L("SetServiceCenterTimeStamp"));
+
+//Get service center time stamp
+ result = TestGetServiceCenterTimeStampL(iLog, deliver);
+ Print(console, result, _L("ServiceCenterTimeStamp"));
+
+//Get protocol identifier
+ result = TestGetProtocolIdentifier(iLog, deliver);
+ Print(console, result, _L("ProtocolIdentifier"));
+
+//DuplicateL
+ result = TestSmsDeliverDuplicateL(iLog, deliver);
+ Print(console, result, _L("SmsDeliverDuplicateL"));
+
+ Remove_Console(console);
+ CleanupStack::PopAndDestroy(&deliver);
+ rfServer.Close();
+ // Case was executed
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CBCSmsUtilitiesTest::TestSmsDeliverReport
+// Simple printing to UI test.
+// -----------------------------------------------------------------------------
+//
+TInt CBCSmsUtilitiesTest::TestSmsDeliverReportL(
+ TTestResult& aResult )
+ {
+ _LIT(KSmsDeliverReport, "Calling CSmsDeliverReport");
+ iLog->Log(KSmsDeliverReport);
+ TInt result = KErrNone;
+
+ RFs rfServer;
+ User::LeaveIfError(rfServer.Connect());
+
+ CCnvCharacterSetConverter* characterSetConverter = CCnvCharacterSetConverter::NewL();
+ CSmsBuffer* smsBuffer = CSmsBuffer::NewL();
+ CSmsMessage* smsMessage = CSmsMessage::NewL(rfServer, CSmsPDU::ESmsDeliverReport, smsBuffer );
+
+ CSmsDeliverReport& deliverReport = STATIC_CAST(CSmsDeliverReport&, smsMessage->SmsPDU() );
+ CSmsDeliverReport* ptrDeliverReport = &deliverReport;
+ CleanupStack::PushL(ptrDeliverReport);
+
+ CConsoleBase* console = Create_ConsoleL(_L("CSmsDeliverReport"));
+//Construction
+//Set is RP error
+ result = TestSetIsRPError(iLog, deliverReport);
+ Print(console, result, _L("SetIsRPError"));
+
+//Get is RP error
+ result = TestGetIsRPError(iLog, deliverReport);
+ Print(console, result, _L("IsRPError"));
+
+//Set failure cause
+ result = TestSetFailureCause(iLog, deliverReport);
+ Print(console, result, _L("SetFailureCause"));
+
+//Get failure cause
+ result = TestGetFailureCause(iLog, deliverReport);
+ Print(console, result, _L("FailureCause"));
+
+//DuplicateL
+ result = TestSmsDeliverReportDuplicateL(iLog, deliverReport);
+ Print(console, result, _L("SmsDeliverReportDuplicateL"));
+
+ Remove_Console(console);
+ CleanupStack::PopAndDestroy(&deliverReport);
+ rfServer.Close();
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CBCSmsUtilitiesTest::TestSmsEditorBuffer
+//
+// -----------------------------------------------------------------------------
+//
+TInt CBCSmsUtilitiesTest::TestSmsEditorBufferL(
+ TTestResult& aResult )
+ {
+ _LIT(KSmsEditorBuffer, "Calling CSmsEditorBuffer");
+ iLog->Log(KSmsEditorBuffer);
+ TInt result = KErrNone;
+
+ CParaFormatLayer* para = CParaFormatLayer::NewL();
+ CCharFormatLayer* charlayer = CCharFormatLayer::NewL();
+
+ CRichText* text = CRichText::NewL(para, charlayer);
+ CSmsEditorBuffer* editor = CSmsEditorBuffer::NewL(*text);
+ CleanupStack::PushL(editor);
+
+ CConsoleBase* console = Create_ConsoleL(_L("CSmsEditorBuffer"));
+//Construction
+//Destruction
+//Insert
+ result = TestInsert(iLog, *editor);
+ Print(console, result, _L("Insert") );
+
+//Delete
+ result = TestDelete(iLog, *editor);
+ Print(console, result, _L("DeleteL") );
+
+//Extract
+ result = TestExtract(iLog, *editor);
+ Print(console, result, _L("Extract") );
+
+//GetLength
+ result = TestGetLength(iLog, *editor);
+ Print(console, result, _L("Length") );
+
+//Reset
+ result = TestReset(iLog, *editor);
+ Print(console, result, _L("Reset") );
+
+ Remove_Console(console);
+ CleanupStack::PopAndDestroy(editor);
+ // Case was executed
+ return result;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CBCSmsUtilitiesTest::TestSmsInformationElement
+//
+// -----------------------------------------------------------------------------
+//
+TInt CBCSmsUtilitiesTest::TestSmsInformationElementL(
+ TTestResult& aResult )
+ {
+ _LIT(KSmsInformationElement, "Calling CSmsInformationElement");
+ iLog->Log(KSmsInformationElement);
+ TInt result = KErrNone;
+ RFs rfServer;
+ User::LeaveIfError(rfServer.Connect());
+
+ CCnvCharacterSetConverter* characterSetConverter = CCnvCharacterSetConverter::NewL();
+ CSmsBuffer* smsBuffer = CSmsBuffer::NewL();
+ CSmsMessage* smsMessage = CSmsMessage::NewL(rfServer, CSmsPDU::ESmsCommand, smsBuffer );
+ CSmsCommand& command = STATIC_CAST(CSmsCommand&, smsMessage->SmsPDU() );
+
+ CSmsInformationElement::TSmsInformationElementIdentifier identifier = CSmsInformationElement::ESmsIEIConcatenatedShortMessages8BitReference;
+ TBufC8<24> information(KTestInfo8);
+ command.AddInformationElementL( identifier, information);
+
+ CSmsInformationElement& element = command.InformationElement(0);
+ CSmsInformationElement *ptrElement = &element;
+ CleanupStack::PushL(ptrElement);
+
+ CConsoleBase* console = Create_ConsoleL(_L("CSmsInformationElement"));
+//Construction
+//Get Identifier
+ result = TestGetIdentifier(iLog, element);
+ Print(console, result, _L("Identifier") );
+
+//Get data (TPtr8)
+ result = TestGetDataTPtr8(iLog, element);
+ Print(console, result, _L("TPtr8 Data") );
+
+//Get data (TDesC8)
+ result = TestGetDataTDesC8(iLog, element);
+ Print(console, result, _L("TDesC8 Data") );
+
+ Remove_Console(console);
+ CleanupStack::PopAndDestroy(&element);
+ rfServer.Close();
+
+ // Case was executed
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CBCSmsUtilitiesTest::TestSmsMessage
+// Simple printing to UI test.
+// -----------------------------------------------------------------------------
+//
+TInt CBCSmsUtilitiesTest::TestSmsMessageL(
+ TTestResult& aResult )
+ {
+ _LIT(KSmsMessage, "Calling CSmsMessage");
+ iLog->Log(KSmsMessage);
+ TInt result = KErrNone;
+
+ RFs rfServer;
+ User::LeaveIfError(rfServer.Connect());
+
+ CCnvCharacterSetConverter* characterSetConverter = CCnvCharacterSetConverter::NewL();
+ CSmsBuffer* smsBuffer = CSmsBuffer::NewL();
+
+ //static CSmsMessage* NewL(RFs& aFs, CSmsPDU::TSmsPDUType aType,CSmsBufferBase* aBuffer
+ //,TBool aIsRPError=EFalse);
+ CSmsMessage* message = CSmsMessage::NewL(rfServer, CSmsPDU::ESmsDeliver, smsBuffer );
+ CleanupStack::PushL( message );
+
+ CConsoleBase* console = Create_ConsoleL(_L("CSmsMessage"));
+
+//Construction (TGsmSms)
+ result = TestConstructionTGsmSms_MessageL(iLog);
+
+//Destruction
+//Get type
+ result = TestGetType(iLog, *message);
+ Print(console, result, _L("Type") );
+
+//Get is complete
+ result = TestGetIsComplete(iLog, *message);
+ Print(console, result, _L("IsComplete") );
+
+//Get is decoded
+ result = TestIsDecoded(iLog, *message);
+ Print(console, result, _L("IsDecoded") );
+
+//Set storage
+ result = TestSetStorage(iLog, *message);
+ Print(console, result, _L("SetStorage") );
+
+//Get storage
+ result = TestGetStorage(iLog, *message);
+ Print(console, result, _L("Storage") );
+
+//Set status
+ result = TestSetStatus(iLog, *message);
+ Print(console, result, _L("SetStatus") );
+
+//Get status
+ result = TestGetStatus(iLog, *message);
+ Print(console, result, _L("Status") );
+
+//Set log server id
+ result = TestSetLogServerId(iLog, *message);
+ Print(console, result, _L("SetLogServerId") );
+
+//Get log server id
+ result = TestGetLogServerId(iLog, *message);
+ Print(console, result, _L("LogServerId") );
+
+//Set time
+ result = TestSetTime(iLog, *message);
+ Print(console, result, _L("SetTime") );
+
+//Get time
+ result = TestGetTimeL(iLog, *message);
+ Print(console, result, _L("Time") );
+
+//Get SMS PDU
+ result = TestGetSMSPduL(iLog, *message);
+ Print(console, result, _L("SmsPDU") );
+
+//Get SMS PDU const
+ result = TestGetSMSPDUConst(iLog, *message);
+ Print(console, result, _L("SmsPDU const") );
+
+//Set service center address
+ result = TestSetServiceCenterAddress(iLog, *message);
+ Print(console, result, _L("SetSeviceCenterAddress") );
+
+//Get service center address
+ result = TestGetServiceCenterAddress(iLog, *message);
+ Print(console, result, _L("SeviceCenterAddress") );
+
+//Set parsed service center address
+ result = TestSetParsedServiceCenterAddress(iLog, *message);
+ Print(console, result, _L("SetParsedServiceCenterAddress") );
+
+//Get parsed service center address
+ result = TestGetParsedServiceCenterAddress(iLog, *message);
+ Print(console, result, _L("ParsedServiceCenterAddress") );
+
+//Set to from address
+ result = TestSetToFromAddress(iLog, *message);
+ Print(console, result, _L("SetToFromAddressL") );
+
+//Get to from address
+ result = TestGetToFromAddress(iLog, *message);
+ Print(console, result, _L("ToFromAddress") );
+
+//Set parsed to from address
+ result = TestSetParsedToFromAddress(iLog, *message);
+ Print(console, result, _L("SetParsedToFromAddressL") );
+
+//Get parsed to from address
+ result = TestGetParsedToFromAddress(iLog, *message);
+ Print(console, result, _L("ParsedToFromAddress") );
+
+//Externalize without buffer
+ result = TestExternalizeWithoutBufferL(iLog, *message);
+ Print(console, result, _L("ExternalizeWithoutBuffer") );
+
+//Internalize without buffer
+ result = TestInternalizeWithoutBufferL(iLog, *message);
+ Print(console, result, _L("InternalizeWithoutBuffer") );
+
+//Externalize
+ result = TestExternalizeL(iLog, *message);
+ Print(console, result, _L("Externalize") );
+
+//Internalize
+ result = TestInternalizeL(iLog, *message);
+ Print(console, result, _L("Internalize") );
+
+//Get buffer
+ result = TestGetBufferL(iLog, *message);
+ Print(console, result, _L("Buffer") );
+
+//Get buffer const
+ result = TestGetBufferConstL(iLog, *message);
+ Print(console, result, _L("Buffer const") );
+
+//Get text present
+ result = TestGetTextPresent(iLog, *message);
+ Print(console, result, _L("TextPresent") );
+
+//Get number of message PDUs
+ result = TestGetNumberOfMessagePduL(iLog, *message);
+ Print(console, result, _L("NumMessagePDUsL") );
+
+//Get max message length
+ result = TestGetMaxLength(iLog, *message);
+ Print(console, result, _L("MaxMessagelength") );
+
+//Get message length
+ result = TestGetMessageLength(iLog, *message);
+ Print(console, result, _L("MessageLengthL") );
+
+//Set user data settings
+//Get user data settings
+//Cannot be executed
+
+//Optimize settings
+ result = TestOptimizeSettings(iLog, *message);
+ Print(console, result, _L("OptimizeSettings") );
+
+//Get is supported
+ result = TestGetIsSupported(iLog, *message);
+ Print(console, result, _L("IsSupported") );
+
+//Encode message PDUs
+ result = TestEncodeMessagePDUL(iLog, *message);
+ Print(console, result, _L("EncodeMessagePDUsL") );
+
+//Decode message PDUs
+ result = TestDecodeMessagePDUL(iLog, *message);
+ Print(console, result, _L("DecodeMessagePDUsL") );
+
+//Add EMS information elements
+//This currently does not work, changes in build required
+/* result = TestAddEMSInformationElements(iLog, *message);
+ Print(console, result, _L("AddEMSInformationElements") );
+*/
+//Copy EMS elements
+ result = TestCopyEMSElementsL(iLog, *message);
+ Print(console, result, _L("CopyEMSElements") );
+
+//Get EMS information elements
+ result = TestGetEMSInformationElements(iLog, *message);
+ Print(console, result, _L("EMSInformationElements") );
+
+//Remove EMS information elements
+ result = TestRemoveEMSInformationElements(iLog, *message);
+ Print(console, result, _L("RemoveEMSInformationElements") );
+
+//Remove EMS information element
+ result = TestRemoveEMSInformationElement(iLog, *message);
+ Print(console, result, _L("RemoveEMSInformationElement") );
+
+//Reset EMS
+ result = TestResetEMS(iLog, *message);
+ Print(console, result, _L("ResetEMS") );
+
+//Encode into single PDU
+ result = TestEncodeIntoSinglePDUL(iLog, *message);
+ Print(console, result, _L("EncodeIntoSinglePDU") );
+
+//Add slot
+ result = TestAddSlot(iLog, *message);
+ Print(console, result, _L("AddSlot") );
+
+//Match slots
+ result = TestMatchSlotsL(iLog, *message);
+ Print(console, result, _L("MatchSlots") );
+
+//Add email header
+ result = TestAddEmailHeader(iLog, *message);
+ Print(console, result, _L("AddEmailHeader") );
+
+//Get is email header
+ result = TestGetIsEmailHeader(iLog, *message);
+ Print(console, result, _L("IsEmailHeader") );
+
+//Get email header
+ result = TestGetEmailHeaderL(iLog, *message);
+ Print(console, result, _L("EmailHeader") );
+
+//Set is 16 bit concatenation
+ result = TestSetIs16BitConcatenation(iLog, *message);
+ Print(console, result, _L("Is16BitConcatenation") );
+
+//Get is 16 bit concatenation
+ result = TestGetIs16BitConcatenation(iLog, *message);
+ Print(console, result, _L("Is16BitConcatenation") );
+
+//Update slots
+ result = TestUpdateSlotsL(iLog, *message);
+ Print(console, result, _L("UpdateSlots") );
+
+//GetEncodingInfoL
+ result = TestGetEncodingInfoL(iLog, *message);
+ Print(console, result, _L("GetEncodingInfoL") );
+
+//SetAlternative7bitEncoding
+ result = TestSetAlternative7bitEncoding(iLog, *message);
+ Print(console, result, _L("SetAlternative7bitEncoding") );
+
+//Get is supported2
+ result = TestGetIsSupported2(iLog, *message);
+ Print(console, result, _L("IsSupported2") );
+
+ Remove_Console(console);
+ CleanupStack::PopAndDestroy(message);
+ rfServer.Close();
+ // Case was executed
+ return result;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CBCSmsUtilitiesTest::TestSmsPDU
+// Simple printing to UI test.
+// -----------------------------------------------------------------------------
+//
+TInt CBCSmsUtilitiesTest::TestSmsPDUL(
+ TTestResult& aResult )
+ {
+ _LIT(KSmsPDU, "Calling CSmsPDU");
+ iLog->Log(KSmsPDU);
+ TInt result = KErrNone;
+ CCnvCharacterSetConverter* characterSetConverter = CCnvCharacterSetConverter::NewL();
+ CleanupStack::PushL(characterSetConverter);
+
+ //static CSmsPDU* NewL(TSmsPDUType aType,CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs,TBool aIsRPError=EFalse);
+ CSmsPDU* PDU = CSmsPDU::NewL(CSmsPDU::ESmsDeliver, *characterSetConverter, iSession);
+ CleanupStack::PushL(PDU);
+
+ //static CSmsPDU* NewL(TSmsPDUType aType,CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs,TBool aIsRPError=EFalse);
+ CSmsPDU* PDUReport = CSmsPDU::NewL(CSmsPDU::ESmsDeliverReport, *characterSetConverter, iSession);
+ CleanupStack::PushL(PDUReport);
+
+ CConsoleBase* console = Create_ConsoleL(_L("CSmsPDU"));
+//Construction (RReadStream)
+ result = TestConstructionStreamL(iLog, *PDU);
+
+//Construction (TGsmSms)
+ result = TestConstructionTGsmSms_PduL(iLog, *PDU);
+
+//Get type
+ result = TestGetType(iLog, *PDU);
+ Print(console, result, _L("Type") );
+
+//Externalize
+ result = TestExternalizeL(iLog, *PDU);
+ Print(console, result, _L("Externalize") );
+
+//Encode message PDUs
+ result = TestEncodeMessagePDUs(iLog, *PDU);
+ Print(console, result, _L("EncodeMessagePDUs") );
+
+//Set service center address
+ result = TestSetServiceCenterAddress(iLog, *PDU);
+ Print(console, result, _L("SetServiceCenterAddress") );
+
+//Get service center address
+ result = TestGetServiceCenterAddress(iLog, *PDU);
+ Print(console, result, _L("ServiceCenterAddress") );
+
+//Set parsed service center address
+ result = TestSetParsedServiceCenterAddress(iLog, *PDU);
+ Print(console, result, _L("SetParsedServiceCenterAddress") );
+
+//Get parsed service center address
+ result = TestGetParsedServiceCenterAddress(iLog, *PDU);
+ Print(console, result, _L("ParsedServiceCenterAddress") );
+
+//Set to from address
+ result = TestSetToFromAddress(iLog, *PDU);
+ Print(console, result, _L("SetToFromAddress") );
+
+//Get to from address
+ result = TestGetToFromAddress(iLog, *PDU);
+ Print(console, result, _L("ToFromAddress") );
+
+//Set parsed to from address
+ result = TestSetParsedToFromAddress(iLog, *PDU);
+ Print(console, result, _L("SetParsedToFromAddress") );
+
+//Get parsed to from address
+ result = TestGetParsedToFromAddress(iLog, *PDU);
+ Print(console, result, _L("ParsedToFromAddress") );
+
+//Set bits 7 to 4
+ result = TestSetBits7To4(iLog, *PDU);
+ Print(console, result, _L("SetBits7To4") );
+
+//Get bits 7 to 4
+ result = TestGetBits7To4(iLog, *PDU);
+ Print(console, result, _L("Bits7To4") );
+
+//Set alphabet
+ result = TestSetAlphabet(iLog, *PDU);
+ Print(console, result, _L("SetAlphabet") );
+
+//Get alphabet
+ result = TestGetAlphabet(iLog, *PDU);
+ Print(console, result, _L("Alphabet") );
+
+//Set class
+ result = TestSetClass(iLog, *PDU);
+ Print(console, result, _L("SetClass") );
+
+//Get class
+ result = TestGetClass(iLog, *PDU);
+ Print(console, result, _L("Class") );
+
+//Set text compressed
+ result = TestSetTextCompressed(iLog, *PDU);
+ Print(console, result, _L("SetTextCompressed") );
+
+//Get text compressed
+ result = TestGetTextCompressed(iLog, *PDU);
+ Print(console, result, _L("TextCompressed") );
+
+//Set indication state
+ result = TestSetIndicationState(iLog, *PDU);
+ Print(console, result, _L("SetIndicationState") );
+
+//Get indication state
+ result = TestGetIndicationState(iLog, *PDU);
+ Print(console, result, _L("IndicationState") );
+
+//Set indication type
+ result = TestSetIndicationType(iLog, *PDU);
+ Print(console, result, _L("SetIndicationType") );
+
+//Get indication type
+ result = TestGetIndicationType(iLog, *PDU);
+ Print(console, result, _L("IndicationType") );
+
+//Set text concatenated
+ result = TestSetTextConcatenated(iLog, *PDU);
+ Print(console, result, _L("SetTextConcatenated") );
+
+//Get text concatenated
+ result = TestGetTextConcatenated(iLog, *PDU);
+ Print(console, result, _L("TextConcatenated") );
+
+//Set concatenated message reference
+ result = TestSetConcatenatedMessageReference(iLog, *PDU);
+ Print(console, result, _L("SetConcatenatedMessageReference") );
+
+//Get concatenated message reference
+ result = TestGetConcatenatedMessageReference(iLog, *PDU);
+ Print(console, result, _L("ConcatenatedMessageReference") );
+
+//Set number of concatenated message PDUs
+ result = TestSetNumberOfConcatenatedMessageL(iLog, *PDU);
+ Print(console, result, _L("SetNumberOfConcatenatedMessage") );
+
+//Get number of concatenated message PDUs
+ result = TestGetNumberOfConcatenatedMessageL(iLog, *PDU);
+ Print(console, result, _L("NumberOfConcatenatedMessage") );
+
+//Set concatenated message PDU index
+ result = TestSetConcatenatedMessagePDUIndex(iLog, *PDU);
+ Print(console, result, _L("SetConcatenatedMessagePDUIndex") );
+
+//Get concatenated message PDU index
+ result = TestGetConcatenatedMessagePDUIndex(iLog, *PDU);
+ Print(console, result, _L("ConcatenatedMessagePDUIndex") );
+
+//set application port addressing
+ result = TestSetApplicationPortAddressing(iLog, *PDU);
+ Print(console, result, _L("SetApplicationPortAddressing") );
+
+//Get application port addressing
+ result = TestGetApplicationPortAddressing(iLog, *PDU);
+ Print(console, result, _L("ApplicationPortAddressing") );
+
+//set PID type
+ result = TestSetPIDType(iLog, *PDU);
+ Print(console, result, _L("SetPIDType") );
+
+//Get PID type
+ result = TestGetPIDType(iLog, *PDU);
+ Print(console, result, _L("PIDType") );
+
+//Set short message type
+ result = TestSetShortMessageType(iLog, *PDU);
+ Print(console, result, _L("SetShortMessageType") );
+
+//Get short message type
+ result = TestGetShortMessageType(iLog, *PDU);
+ Print(console, result, _L("ShortMessageType") );
+
+//Set telematic device indicator
+ result = TestSetTelematicDeviceIndicator(iLog, *PDU);
+ Print(console, result, _L("SetTelematicDeviceIndicator") );
+
+//Get telematic device indicator
+ result = TestGetTelematicDeviceIndicator(iLog, *PDU);
+ Print(console, result, _L("TelematicDeviceIndicator") );
+
+//Set telematic device type
+ result = TestSetTelematicDeviceType(iLog, *PDU);
+ Print(console, result, _L("SetTelematicDeviceType") );
+
+//Get telematic device type
+ result = TestGetTelematicDeviceType(iLog, *PDU);
+ Print(console, result, _L("TelematicDeviceType") );
+
+//Get user data
+ result = TestGetUserData(iLog, *PDU);
+ Print(console, result, _L("UserData") );
+
+//Get user data const
+ result = TestGetUserDataConst(iLog, *PDU);
+ Print(console, result, _L("UserDataConst") );
+
+//Set user data present
+ result = TestSetUserDataPresent(iLog, *PDUReport);
+ Print(console, result, _L("SetUserDataPresent") );
+
+//Get user data present
+ result = TestGetUserDataPresent(iLog, *PDUReport);
+ Print(console, result, _L("UserDataPresent") );
+
+//Set data coding scheme present
+ result = TestSetDataCodingSchemePresent(iLog, *PDUReport);
+ Print(console, result, _L("SetDataCodingSchemePresent") );
+
+//Get data coding scheme present
+ result = TestGetDataCodingSchemePresent(iLog, *PDUReport);
+ Print(console, result, _L("DataCodingSchemePresent") );
+
+//Set protocol identifier present
+ result = TestSetProtocolIdentifierPresent(iLog, *PDUReport);
+ Print(console, result, _L("SetProtocolIdentifierPresent") );
+
+//Get protocol identifier present
+ result = TestGetProtocolIdentifierPresent(iLog, *PDUReport);
+ Print(console, result, _L("ProtocolIdentifierPresent") );
+
+//Set national language encoding
+ result = TestSetNationalLanguageEncodingL(iLog, *PDUReport);
+ Print(console, result, _L("SetNationalLanguageEncodingL") );
+
+//DuplicateL
+ result = TestSmsPDUDuplicateL(iLog, *PDUReport);
+ Print(console, result, _L("SmsPDUDuplicateL"));
+
+ Remove_Console(console);
+ CleanupStack::PopAndDestroy(3);
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CBCSmsUtilitiesTest::TestSmsStatusReport
+// Simple printing to UI test.
+// -----------------------------------------------------------------------------
+//
+TInt CBCSmsUtilitiesTest::TestSmsStatusReportL(
+ TTestResult& aResult )
+ {
+ _LIT(KSmsStatusReport, "Calling CSmsStatusReport");
+ iLog->Log(KSmsStatusReport);
+ TInt result = KErrNone;
+
+ RFs rfServer;
+ User::LeaveIfError(rfServer.Connect());
+
+ CCnvCharacterSetConverter* characterSetConverter = CCnvCharacterSetConverter::NewL();
+ CSmsBuffer* smsBuffer = CSmsBuffer::NewL();
+ CSmsMessage* smsMessage = CSmsMessage::NewL(rfServer, CSmsPDU::ESmsStatusReport, smsBuffer );
+
+ CSmsStatusReport& statusReport = STATIC_CAST(CSmsStatusReport&, smsMessage->SmsPDU() );
+ CSmsStatusReport *ptrStatusReport = &statusReport;
+ CleanupStack::PushL(ptrStatusReport);
+
+ CConsoleBase* console = Create_ConsoleL(_L("CSmsStatusReport"));
+//Construction
+//Set parameter indicator present
+ result = TestSetParameterIndicatorPresent(iLog, statusReport);
+ Print(console, result, _L("SetIsRPError"));
+
+//Get parameter indicator present
+ result = TestGetParameterIndicatorPresent(iLog, statusReport);
+ Print(console, result, _L("IsRPError"));
+
+//Set more messages to send
+ result = TestSetMoreMessagesToSend(iLog, statusReport);
+ Print(console, result, _L("SetFailureCause"));
+
+//Get more messages to send
+ result = TestGetMoreMessagesToSend(iLog, statusReport);
+ Print(console, result, _L("FailureCause"));
+
+//Set status report qualifier
+ result = TestSetStatusReportQualifier(iLog, statusReport);
+ Print(console, result, _L("DataCodingScheme"));
+
+//Get status report qualifier
+ result = TestGetStatusReportQualifier(iLog, statusReport);
+ Print(console, result, _L("ProtocolIdentifier"));
+
+//Set message reference
+ result = TestSetMessageReference(iLog, statusReport);
+ Print(console, result, _L("SetMessageReference"));
+
+//Get message reference
+ result = TestGetMessageReference(iLog, statusReport);
+ Print(console, result, _L("MessageReference"));
+
+//Set service center time stamp
+ result = TestSetServiceCenterTimeStamp(iLog, statusReport);
+ Print(console, result, _L("UserDataPointer"));
+
+//Get service center time stamp
+ result = TestGetServiceCenterTimeStampL(iLog, statusReport);
+ Print(console, result, _L("Encode"));
+
+//Set discharge time
+ result = TestSetDischargeTime(iLog, statusReport);
+ Print(console, result, _L("Decode"));
+
+//Get discharge time
+ result = TestGetDischargeTimeL(iLog, statusReport);
+ Print(console, result, _L("Decode"));
+
+//Set status
+ result = TestSetStatus(iLog, statusReport);
+ Print(console, result, _L("SetStatus"));
+
+//Get status
+ result = TestGetStatus(iLog, statusReport);
+ Print(console, result, _L("Status"));
+
+//DuplicateL
+ result = TestSmsStatusReportDuplicateL(iLog, statusReport);
+ Print(console, result, _L("SmsStatusReportDuplicateL"));
+
+ Remove_Console(console);
+ CleanupStack::PopAndDestroy(&statusReport);
+ rfServer.Close();
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CBCSmsUtilitiesTest::TestSmsSubmit
+// Simple printing to UI test.
+// -----------------------------------------------------------------------------
+//
+TInt CBCSmsUtilitiesTest::TestSmsSubmitL(
+ TTestResult& aResult )
+ {
+ _LIT(KSmsSubmit, "Calling CSmsSubmit");
+ iLog->Log(KSmsSubmit);
+ TInt result = KErrNone;
+
+ RFs rfServer;
+ User::LeaveIfError(rfServer.Connect());
+
+ CCnvCharacterSetConverter* characterSetConverter = CCnvCharacterSetConverter::NewL();
+ CSmsBuffer* smsBuffer = CSmsBuffer::NewL();
+ CSmsMessage* smsMessage = CSmsMessage::NewL(rfServer, CSmsPDU::ESmsSubmit, smsBuffer );
+
+ CSmsSubmit& submit = STATIC_CAST(CSmsSubmit&, smsMessage->SmsPDU() );
+ CSmsSubmit *ptrSubmit = &submit;
+ CleanupStack::PushL(ptrSubmit);
+
+ CConsoleBase* console = Create_ConsoleL(_L("CSmsSubmit"));
+//Construction
+//Set reject duplicates
+ result = TestSetRejectDuplicates(iLog, submit);
+ Print(console, result, _L("SetRejectDuplicates"));
+
+//Get reject duplicates
+ result = TestGetRejectDuplicates(iLog, submit);
+ Print(console, result, _L("RejectDuplicates"));
+
+//Set validity period format
+ result = TestSetValidityPeriodFormat(iLog, submit);
+ Print(console, result, _L("SetValidityPeriodFormat"));
+
+//Get validity period format
+ result = TestGetValidityPeriodFormat(iLog, submit);
+ Print(console, result, _L("ValidityPeriodFormat"));
+
+//Set reply path
+ result = TestSetReplyPath(iLog, submit);
+ Print(console, result, _L("SetReplyPath"));
+
+//Get reply path
+ result = TestGetReplyPath(iLog, submit);
+ Print(console, result, _L("ReplyPath"));
+
+//Set status report request
+ result = TestSetStatusReportRequest(iLog, submit);
+ Print(console, result, _L("SetStatusReportRequest"));
+
+//Get status report request
+ result = TestGetStatusReportRequest(iLog, submit);
+ Print(console, result, _L("StatusReportRequest"));
+
+//Set message reference
+ result = TestSetMessageReference(iLog, submit);
+ Print(console, result, _L("SetMessageReferenc"));
+
+//Get message reference
+ result = TestGetMessageReference(iLog, submit);
+ Print(console, result, _L("MessageReference"));
+
+//Set validity period
+ result = TestSetValidityPeriod(iLog, submit);
+ Print(console, result, _L("SetValidityPeriod"));
+
+//Get validity period
+ result = TestGetValidityPeriod(iLog, submit);
+ Print(console, result, _L("ValidityPeriod"));
+
+//DuplicateL
+ result = TestSmsSubmitDuplicateL(iLog, submit);
+ Print(console, result, _L("SmsSubmitDuplicateL"));
+
+ Remove_Console(console);
+ CleanupStack::PopAndDestroy(&submit);
+ rfServer.Close();
+// Case was executed
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CBCSmsUtilitiesTest::TestSmsSubmitReport
+// Simple printing to UI test.
+// -----------------------------------------------------------------------------
+//
+TInt CBCSmsUtilitiesTest::TestSmsSubmitReportL(
+ TTestResult& aResult )
+ {
+ _LIT(KSmsSubmitReport, "Calling CSmsSubmitReport");
+ iLog->Log(KSmsSubmitReport);
+ TInt result = KErrNone;
+
+ RFs rfServer;
+ User::LeaveIfError(rfServer.Connect());
+
+ CCnvCharacterSetConverter* characterSetConverter = CCnvCharacterSetConverter::NewL();
+ CSmsBuffer* smsBuffer = CSmsBuffer::NewL();
+ CSmsMessage* smsMessage = CSmsMessage::NewL(rfServer, CSmsPDU::ESmsSubmitReport, smsBuffer );
+
+ CSmsSubmitReport& submitReport = STATIC_CAST(CSmsSubmitReport&, smsMessage->SmsPDU() );
+ CSmsSubmitReport *ptrSubmitReport = &submitReport;
+ CleanupStack::PushL(ptrSubmitReport);
+
+ CConsoleBase* console = Create_ConsoleL(_L("CSmsSubmitReport"));
+//Construction
+//Set is RP error
+ result = TestSetIsRPError(iLog, submitReport);
+ Print(console, result, _L("SetIsRPError"));
+
+//Get is RP error
+ result = TestGetIsRPError(iLog, submitReport);
+ Print(console, result, _L("IsRPError"));
+
+//Set failure cause
+ result = TestSetFailureCause(iLog, submitReport);
+ Print(console, result, _L("SetFailureCause"));
+
+//Get failure cause
+ result = TestGetFailureCause(iLog, submitReport);
+ Print(console, result, _L("FailureCause"));
+
+//DuplicateL
+ result = TestSmsSubmitReportDuplicateL(iLog, submitReport);
+ Print(console, result, _L("SmsSubmitReportDuplicateL"));
+
+ Remove_Console(console);
+ CleanupStack::PopAndDestroy(&submitReport);
+ rfServer.Close();
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CBCSmsUtilitiesTest::TestSmsUserData
+// Simple printing to UI test.
+// -----------------------------------------------------------------------------
+//
+TInt CBCSmsUtilitiesTest::TestSmsUserDataL(
+ TTestResult& aResult )
+ {
+ _LIT(KSmsUserData, "Calling CSmsUserData");
+ iLog->Log(KSmsUserData);
+ TInt result = KErrNone;
+
+ CCnvCharacterSetConverter* characterSetConverter = CCnvCharacterSetConverter::NewL();
+ //static CSmsPDU* NewL(TSmsPDUType aType,CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs,TBool aIsRPError=EFalse);
+ CSmsPDU* PDU = CSmsPDU::NewL(CSmsPDU::ESmsDeliver, *characterSetConverter, iSession);
+
+ CSmsUserData& userData = STATIC_CAST(CSmsUserData&, PDU->UserData() );
+ CSmsUserData *ptrUserData = &userData;
+ CleanupStack::PushL(ptrUserData);
+
+ CConsoleBase* console = Create_ConsoleL(_L("CSmsUserData"));
+
+//Add information element
+ result = TestAddInformationElement(iLog, userData);
+ Print(console, result, _L("AddInformationElement"));
+
+//Get number of information elements
+ result = TestGetNumberOfInformationElements(iLog, userData);
+ Print(console, result, _L("NumInformationElement"));
+
+//Get information element
+ result = TestGetInformationElement(iLog, userData);
+ Print(console, result, _L("InformationElement"));
+
+//Get information element index
+ result = TestGetInformationElementIndex(iLog, userData);
+ Print(console, result, _L("InformationElementIndex"));
+
+
+//Remove information element
+ result = TestRemoveInformationElement(iLog, userData);
+ Print(console, result, _L("RemoveInformationElement"));
+
+//Get max body length in chars
+ result = TestMaxBodyLengthInChars(iLog, userData);
+ Print(console, result, _L("MaxBodyLengthInChars"));
+
+//Set body
+ result = TestSetBody(iLog, userData);
+ Print(console, result, _L("SetBody"));
+
+//Get is supported
+ result = TestGetIsSupported(iLog, userData);
+ Print(console, result, _L("IsSupported"));
+
+//Get is supported2
+ result = TestGetIsSupported2(iLog, userData);
+ Print(console, result, _L("IsSupported2"));
+
+//Get is supported3
+ result = TestGetIsSupported3(iLog, userData);
+ Print(console, result, _L("IsSupported3"));
+
+//Get body
+ result = TestGetBody(iLog, userData);
+ Print(console, result, _L("GetBody"));
+
+ Remove_Console(console);
+ CleanupStack::PopAndDestroy(&userData);
+ // Case was executed
+ return KErrNone;
+
+ }
+
+// End of File