--- a/shortlinkconn_plat/obex_service_utils_api/tsrc/src/ObexServAPItestBlocks.cpp Thu May 27 13:45:56 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,630 +0,0 @@
-/*
-* Copyright (c) 2002 - 2007 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
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <e32svr.h>
-#include <StifParser.h>
-#include <Stiftestinterface.h>
-#include <UiklafInternalCRKeys.h>
-#include <UikonInternalPSKeys.h>
-#include <Obexutils.rsg>
-#include <obex.h>
-#include "testlogger.h"
-#include "ObexServAPItest.h"
-
-#include <btengdomaincrkeys.h>
-
-// CONSTANTS
-const TInt KBufferSize = 0x4000; // 16kB
-
-// Defined to coincide with the definition in btmsgtypeuid.h
-const TUid KUidMsgTypeBt = {0x10009ED5};
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CObexServAPItest::Delete
-// Delete here all resources allocated and opened from test methods.
-// Called from destructor.
-// -----------------------------------------------------------------------------
-//
-void CObexServAPItest::Delete()
- {
- delete iObexObject;
- iObexObject = NULL;
- delete iBuf;
- iBuf = NULL;
- iRFs.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CObexServAPItest::RunMethodL
-// Run specified method. Contains also table of test mothods and their names.
-// -----------------------------------------------------------------------------
-//
-TInt CObexServAPItest::RunMethodL(
- CStifItemParser& aItem )
- {
-
- static TStifFunctionInfo const KFunctions[] =
- {
- // Copy this line for every implemented function.
- // First string is the function name used in TestScripter script file.
- // Second is the actual implementation member function.
- ENTRY( "GetFileSystemStatus", CObexServAPItest::GetFileSystemStatusL ),
- ENTRY( "GetMmcFileSystemStatus", CObexServAPItest::GetMmcFileSystemStatusL ),
- ENTRY( "GetMessageCentreDriveL", CObexServAPItest::GetMessageCentreDriveL ),
- ENTRY( "CreateDefaultMtmServiceL", CObexServAPItest::CreateDefaultMtmServiceL ),
- ENTRY( "GetCenRepKeyIntValueL", CObexServAPItest::GetCenRepKeyIntValueL ),
- ENTRY( "GetPubSubKeyIntValue", CObexServAPItest::GetPubSubKeyIntValueL ),
- ENTRY( "CreateOutBoxEntry", CObexServAPItest::CreateOutBoxEntryL ),
- ENTRY( "RemoveOutBoxEntry", CObexServAPItest::RemoveOutBoxEntryL ),
- ENTRY( "SaveObjToInbox", CObexServAPItest::SaveObjToInboxL ),
- ENTRY( "CreateEntryToInbox", CObexServAPItest::CreateEntryToInboxL ),
- ENTRY( "SaveRFileObjectToInbox", CObexServAPItest::SaveRFileObjectToInboxL ),
- ENTRY( "RemoveObjectFromInbox", CObexServAPItest::RemoveObjectL ),
- ENTRY( "GetCenRepKeyStringValueL", CObexServAPItest::GetCenRepKeyStringValueL), // JHä
- ENTRY( "CreateReceiveBufferAndRFileL", CObexServAPItest::CreateReceiveBufferAndRFileL), // JHä
- ENTRY( "RemoveTemporaryRFileL", CObexServAPItest::RemoveTemporaryRFileL), // JHä
- ENTRY( "SaveFileToFileSystemL", CObexServAPItest::SaveFileToFileSystemL), // JHä
- ENTRY( "AddEntryToInboxL", CObexServAPItest::AddEntryToInboxL), // JHä
- ENTRY( "UpdateEntryAttachmentL", CObexServAPItest::UpdateEntryAttachmentL), // JHä
- };
-
- const TInt count = sizeof( KFunctions ) /
- sizeof( TStifFunctionInfo );
-
- return RunInternalL( KFunctions, count, aItem );
-
- }
-
- // -----------------------------------------------------------------------------
-// CBtApiTest::TestCompleted
-// -----------------------------------------------------------------------------
-//
-void CObexServAPItest::TestCompleted( TInt aErr, const TUint8* aFunc, const TDesC& aArg )
- {
- iTestLogger->LogResult( (TPtrC8( aFunc )), aArg, aErr );
- Signal( aErr );
- }
-
-
-// -----------------------------------------------------------------------------
-// CObexServAPItest::GetFileSystemStatusL
-// Test code for getting file system status.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CObexServAPItest::GetFileSystemStatusL( CStifItemParser& /*aItem*/ )
- {
- // Print to log file
- TInt retVal=TObexUtilsMessageHandler::GetFileSystemStatus();
- if (retVal == 0 || retVal == KErrDiskFull)
- {
- TestCompleted( KErrNone, TLFUNCLOG, _L("GetFileSystemStatusL"));
- }
- else
- {
- TestCompleted( retVal, TLFUNCLOG, _L("Error getting files ystem status"));
- }
- return KErrNone;
-
- }
-
-// -----------------------------------------------------------------------------
-// CObexServAPItest::GetMmcFileSystemStatusL
-// Test code for getting mmc file system status.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CObexServAPItest::GetMmcFileSystemStatusL( CStifItemParser& /*aItem*/ )
- {
- TInt retVal=TObexUtilsMessageHandler::GetMmcFileSystemStatus();
- if (retVal == 0 || retVal == KErrDiskFull)
- {
- TestCompleted( KErrNone, TLFUNCLOG, _L("GetFileSystemStatusL"));
- }
- else
- {
- TestCompleted( retVal, TLFUNCLOG, _L("Error getting files ystem status"));
- }
-
- return KErrNone;
-
- }
-
-// -----------------------------------------------------------------------------
-// CObexServAPItest::GetMessageCentreDriveL
-// Test code for getting message center drive.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CObexServAPItest::GetMessageCentreDriveL( CStifItemParser& /*aItem*/ )
- {
-
- TInt retVal = TObexUtilsMessageHandler::GetMessageCentreDriveL();
- if (retVal >= 0 )
- {
- TestCompleted( KErrNone, TLFUNCLOG, _L("GetMessageCentreDrive"));
- }
- else
- {
- TestCompleted( retVal, TLFUNCLOG, _L("GetMessageCentreDrive failed"));
- }
-
- return KErrNone;
-
- }
-
-// -----------------------------------------------------------------------------
-// CObexServAPItest::CreateDefaultMtmServiceL
-// Test code for creating Default MTM services.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CObexServAPItest::CreateDefaultMtmServiceL( CStifItemParser& /*aItem*/ )
- {
-
- TRAPD(error, TObexUtilsMessageHandler::CreateDefaultMtmServiceL(KUidMsgTypeBt) );
- if (error == KErrNone)
- {
- TestCompleted( KErrNone, TLFUNCLOG, _L("CreateDefaultMtmServiceL"));
- }
- else
- {
- TestCompleted( error, TLFUNCLOG, _L("CreateDefaultMtmServiceL"));
- }
- return KErrNone;
-
- }
-
-// -----------------------------------------------------------------------------
-// CObexServAPItest::GetCenRepKeyIntValueL
-// Test code for Getting CenRep key.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CObexServAPItest::GetCenRepKeyIntValueL( CStifItemParser& /*aItem*/ ) // JHä note: Is return code handling done right?
- {
- TInt limit=0;
- TInt error=0;
- TRAPD(leaveVal, error = TObexUtilsMessageHandler::GetCenRepKeyIntValueL(KCRUidUiklaf,
- KUikOODDiskCriticalThreshold,
- limit));
- if( leaveVal != KErrNone )
- {
- TestCompleted( leaveVal, TLFUNCLOG, _L("GetCenRepKeyIntValueL leaves"));
- }
- else if (error == KErrNone)
- {
- TestCompleted( leaveVal, TLFUNCLOG, _L("GetCenRepKeyIntValue return error"));
- }
- else
- {
- TestCompleted( KErrNone, TLFUNCLOG, _L("GetCenRepKeyIntValueL"));
- }
-
- return KErrNone;
-
- }
-
-// -----------------------------------------------------------------------------
-// CObexServAPItest::GetPubSubKeyIntValueL
-// Test code for Getting PubSub key.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CObexServAPItest::GetPubSubKeyIntValueL( CStifItemParser& /*aItem*/ )
- {
- TInt status = KErrNone;
- TInt retVal = KErrNone;
-
- TRAPD(leaveVal, retVal = TObexUtilsMessageHandler::GetPubSubKeyIntValue(KPSUidUikon, KUikFFSFreeLevel, status));
-
- if( leaveVal != KErrNone )
- {
- TestCompleted( leaveVal, TLFUNCLOG, _L("GetPubSubKeyIntValueL leaves"));
- }
- else if (retVal == KErrNone)
- {
- TestCompleted( retVal, TLFUNCLOG, _L("GetPubSubKeyIntValueL return error"));
- }
- else
- {
- TestCompleted( KErrNone, TLFUNCLOG, _L("GetPubSubKeyIntValue"));
- }
-
- return KErrNone;
-
- }
-
-// -----------------------------------------------------------------------------
-// CObexServAPItest::OutBoxEntryL
-// Test code for Creating outbox entry.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CObexServAPItest::CreateOutBoxEntryL( CStifItemParser& /*aItem*/ )
- {
- TRAPD(error, iMessageServerIndex = TObexUtilsMessageHandler::CreateOutboxEntryL( KUidMsgTypeBt, R_BT_SEND_OUTBOX_SENDING ));
- if( error != KErrNone)
- {
- TestCompleted( error, TLFUNCLOG, _L("CreateOutBoxEntryL leaves"));
- }
- else
- {
- TestCompleted( KErrNone, TLFUNCLOG, _L("CreateOutBoxEntryL"));
- }
-
- return KErrNone;
-
- }
-
-// -----------------------------------------------------------------------------
-// CObexServAPItest::OutBoxEntryL
-// Test code for removing outbox entry.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CObexServAPItest::RemoveOutBoxEntryL( CStifItemParser& /*aItem*/ )
- {
-
- TRAPD(error, TObexUtilsMessageHandler::DeleteOutboxEntryL( iMessageServerIndex ));
- if( error != KErrNone)
- {
- TestCompleted( error, TLFUNCLOG, _L("RemoveOutBoxEntryL leaves"));
- }
- else
- {
- TestCompleted( KErrNone, TLFUNCLOG, _L("RemoveOutBoxEntryL"));
- }
- return KErrNone;
-
- }
-
-// -----------------------------------------------------------------------------
-// CObexServAPItest::SaveObjToInboxL
-// Test code for save received file to inbox.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CObexServAPItest::SaveObjToInboxL( CStifItemParser& /*aItem*/ )
- {
-
- CObexBufObject* obexobject = CObexBufObject::NewL( NULL );
- CleanupStack::PushL(obexobject);
-
- TRAP_IGNORE(TObexUtilsMessageHandler::SaveObjToInboxL(obexobject ,
- KNullDesC,
- KUidMsgTypeBt ));
- TestCompleted( KErrNone, TLFUNCLOG, _L("SaveObjToInboxL leaves"));
-
- CleanupStack::PopAndDestroy(obexobject);
- return KErrNone;
-
- }
-
-// -----------------------------------------------------------------------------
-// CObexServAPItest::CreateAndSaveObjectL
-// Test code for creating entry to inbox.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CObexServAPItest::CreateEntryToInboxL( CStifItemParser& /*aItem*/ )
- {
- iFile = RFile();
-
- if ( iObexObject)
- {
- delete iObexObject;
- iObexObject = NULL;
- }
-
- iObexObject = CObexBufObject::NewL( NULL );
-
- TRAPD( error, TObexUtilsMessageHandler::CreateInboxAttachmentL( iObexObject,
- KUidMsgTypeBt,
- iMessageServerIndex,
- iFile));
-
-
- iBuf = CBufFlat::NewL(1024);
- iBuf->ResizeL(1024);
-
- TObexRFileBackedBuffer bufferdetails(*iBuf,iFile,CObexBufObject::EDoubleBuffering);
-
- TRAP_IGNORE( iObexObject->SetDataBufL( bufferdetails) );
-
-
-
- iFile.Write(_L8("test"));
- iObexObject->SetNameL(_L("test.txt"));
-
- if( error != KErrNone)
- {
- TestCompleted( error, TLFUNCLOG, _L("CreateEntryToInboxL leaves"));
- }
- else
- {
- TestCompleted( error, TLFUNCLOG, _L("CreateEntryToInboxL"));
- }
- return KErrNone;
- }
-
-
-// -----------------------------------------------------------------------------
-// CObexServAPItest::CreateAndSaveObjectL
-// Test code for creating entry to inbox.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CObexServAPItest::SaveRFileObjectToInboxL( CStifItemParser& /*aItem*/ )
- {
- TRAPD( error, TObexUtilsMessageHandler::SaveObjToInboxL(
- iObexObject,
- iFile,
- iMessageServerIndex));
-
- delete iBuf;
- iBuf = NULL;
- if( error != KErrNone)
- {
- TestCompleted( error, TLFUNCLOG, _L("SaveObjToInboxL leaves"));
- }
- else
- {
- TestCompleted( error, TLFUNCLOG, _L("SaveObjToInboxL"));
- }
-
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CObexServAPItest::RemoveObjectL
-// Test code for removing entry to inbox.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CObexServAPItest::RemoveObjectL( CStifItemParser& /*aItem*/ )
- {
- TRAPD(error,TObexUtilsMessageHandler::RemoveInboxEntriesL(iObexObject, iMessageServerIndex));
- delete iBuf;
- iBuf = NULL;
- if( error != KErrNone)
- {
- TestCompleted( error, TLFUNCLOG, _L("SaveObjToInboxL leaves"));
- }
- else
- {
- TestCompleted( error, TLFUNCLOG, _L("SaveObjToInboxL"));
- }
- return KErrNone;
- }
-
-// Find out the path of the receive folder.
-TInt CObexServAPItest::GetCenRepKeyStringValueL( CStifItemParser& /*aItem*/ ) // JHä - Done
- {
- TInt error = KErrNone;
- TRAPD(leaveVal, error = TObexUtilsMessageHandler::GetCenRepKeyStringValueL(KCRUidBluetoothEngine,
- KLCReceiveFolder,
- iCenRepFolder));
- if( leaveVal != KErrNone )
- {
- TestCompleted( leaveVal, TLFUNCLOG, _L("GetCenRepKeyStringValueL leaves"));
- }
- else if (error != KErrNone)
- {
- TestCompleted( leaveVal, TLFUNCLOG, _L("GetCenRepKeyStringValueL return error"));
- }
- else
- {
- TestCompleted( KErrNone, TLFUNCLOG, _L("GetCenRepKeyStringValueL"));
- }
-
- return KErrNone;
- }
-
-// Create the receive buffer and temporary receive file.
-TInt CObexServAPItest::CreateReceiveBufferAndRFileL( CStifItemParser& /*aItem*/ ) // JHä - Done
- {
- TFileName defaultFolder;
- defaultFolder.Zero();
-
- User::LeaveIfError(iRFs.Connect());
-
- iFile = RFile(); // Creating an empty file.
-
- // Ensure that the object and buffer don't exist.
- // This also deletes the previous iFile object, if any existed,
- // because its handle is held by iObexObject.
- if(iObexObject)
- {
- delete iObexObject;
- iObexObject = NULL;
- }
- if( iBuf )
- {
- delete iBuf;
- iBuf=NULL;
- }
-
- // Then create a new obex object for holding the buffer and the temp file.
- iObexObject = CObexBufObject::NewL( NULL );
-
- defaultFolder.Append(_L("C:\\data\\"));
- defaultFolder.Append(iCenRepFolder); // Got this from central repository in GetCenRepKeyStringValueL
-
- TRAPD(error,TObexUtilsMessageHandler::CreateReceiveBufferAndRFileL( iFile, // Out: But iFile is returned as closed.
- defaultFolder, // Where to create the temp file.
- iTempFullPathFilename, // Out: Can be used to open the file later.
- iBuf, // Out: This contains the message buffer.
- KBufferSize));
-
- // Open the file again.
- User::LeaveIfError(iFile.Open(iRFs, iTempFullPathFilename, EFileWrite));
-
- TObexRFileBackedBuffer bufferdetails(*iBuf,iFile,CObexBufObject::EDoubleBuffering);
-
- // Do we really need to trap leaves here? Maybe because of Stif?
- TRAP(error, iObexObject->SetDataBufL( bufferdetails) );
- if (error != KErrNone)
- {
- error = KErrGeneral;
- }
-
- iFile.Write(_L8("test")); // Put some test data into the file, although it is not mandatory.
- iFile.Flush();
-
- iObexObject->SetNameL(_L("test.txt"));
-
- // At this point we have an object in file system (iFile refers to it)
- // and an entry in Inbox which we can later refer to with iMessageServerIndex.
-
- if( error != KErrNone)
- {
- TestCompleted( error, TLFUNCLOG, _L("CreateReceiveBufferAndRFileL leaves"));
- }
- else
- {
- TestCompleted( error, TLFUNCLOG, _L("CreateReceiveBufferAndRFileL"));
- }
-
- // iFile is left open
- return KErrNone;
- }
-
-// Copy the temporary receive file to the correct place in the file system after receiving is complete.
-TInt CObexServAPItest::SaveFileToFileSystemL( CStifItemParser& /*aItem*/ ) // JHä - Done
- {
- // Create bogus device name.
- TBTDeviceName remoteDeviceName;
- remoteDeviceName.Zero();
- remoteDeviceName.Append(_L("APITestDevice"));
-
-// The iFile must be still open after calling CreateReceiveBufferAndRFileL method
-
- TRAPD(error,TObexUtilsMessageHandler::SaveFileToFileSystemL( iObexObject,
- KUidMsgTypeBt,
- iMessageServerIndex, // This is gotten
- iTempFullPathFilename, // Contains the final path of the file
- iFile, // Handle to the temp file.
- remoteDeviceName));
-
- if( error != KErrNone)
- {
- TestCompleted( error, TLFUNCLOG, _L("SaveFileToFileSystemL leaves"));
- }
- else
- {
- TestCompleted( error, TLFUNCLOG, _L("SaveFileToFileSystemL"));
- }
- return KErrNone;
- }
-
-// Create an entry in the Inbox and attach the file there.
-TInt CObexServAPItest::AddEntryToInboxL( CStifItemParser& /*aItem*/ ) // JHä - Done
- {
- RArray<TMsvId> tmpMsvIdArray; // Not really needed, but must be passed to the method.
-
- TRAPD(error,TObexUtilsMessageHandler::AddEntryToInboxL( iMessageServerIndex,
- iTempFullPathFilename,
- &tmpMsvIdArray));
-
- if( error != KErrNone)
- {
- TestCompleted( error, TLFUNCLOG, _L("AddEntryToInboxL leaves"));
- }
- else
- {
- TestCompleted( error, TLFUNCLOG, _L("AddEntryToInboxL"));
- }
- return KErrNone;
- }
-
-// Replacing a broken link in Inbox with a proper link to a file.
-TInt CObexServAPItest::UpdateEntryAttachmentL( CStifItemParser& /*aItem*/ ) // JHä - Done
- {
- // Create a new file to be the replacement:
- TFileName tempFilename;
- TFileName defaultFolder;
- RFs rfs;
- RFile newFile;
-
- User::LeaveIfError(rfs.Connect());
- CleanupClosePushL(rfs);
-
- defaultFolder.Zero();
- defaultFolder.Append(_L("C:\\data\\"));
- defaultFolder.Append(iCenRepFolder); // Got this from central repository in GetCenRepKeyStringValueL
- User::LeaveIfError( newFile.Temp( rfs, defaultFolder, tempFilename, EFileWrite) );
- newFile.Write(_L8("testing replacing"));
- newFile.Flush();
- newFile.Close();
-
- CleanupStack::PopAndDestroy(); // rfs
-
- // Then replace the attachment:
- CDummySessionObserver* sessionObs = new( ELeave )CDummySessionObserver;;
- CleanupStack::PushL( sessionObs );
- CMsvSession* msvSession = CMsvSession::OpenSyncL( *sessionObs );
- CleanupStack::PushL(msvSession);
- CMsvEntry* entry = msvSession->GetEntryL(iMessageServerIndex);
- CleanupStack::PushL(entry);
- TRAPD(error,TObexUtilsMessageHandler::UpdateEntryAttachmentL(tempFilename, entry));
-
- // Cleanup:
- CleanupStack::PopAndDestroy(3); // entry, msvSession, sessionObs,
-
- // Save the path to the new file so it can be referred to later.
- iTempFullPathFilename = tempFilename;
-
- if( error != KErrNone)
- {
- TestCompleted( error, TLFUNCLOG, _L("UpdateEntryAttachmentL leaves"));
- }
- else
- {
- TestCompleted( error, TLFUNCLOG, _L("UpdateEntryAttachmentL"));
- }
- return KErrNone;
- }
-
-// Delete the temporary file. Called normally when the link is broken and the user searches for the file.
-// In test code this should be called after creating the temporary RFile and before
-// creating the Inbox entry.
-TInt CObexServAPItest::RemoveTemporaryRFileL( CStifItemParser& /*aItem*/ ) // JHä - Done
- {
- TRAPD(error,TObexUtilsMessageHandler::RemoveTemporaryRFileL(iTempFullPathFilename));
- if( error != KErrNone)
- {
- TestCompleted( error, TLFUNCLOG, _L("RemoveTemporaryRFileL leaves"));
- }
- else
- {
- TestCompleted( error, TLFUNCLOG, _L("RemoveTemporaryRFileL"));
- }
- return KErrNone;
- }
-
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-// None
-
-// End of File