diff -r 000000000000 -r 5e5d6b214f4f imstutils/imconversationview/tsrc/imcvuiengine_test/src/imcvuiengine_testsendmessage.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imstutils/imconversationview/tsrc/imcvuiengine_test/src/imcvuiengine_testsendmessage.cpp Tue Feb 02 10:12:18 2010 +0200 @@ -0,0 +1,1423 @@ +/* +* 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: imcvuiengine_testsendmessage.cpp +* +*/ + + +// [INCLUDE FILES] - do not remove +#include +#include "imcvuiengine_testsendmessage.h" +#include "cimcvengine.h" +#include "mimcvenginemessagecontainerinfo.h" +#include "mimcvenginemessagecreator.h" +#include "cimcvenginemessagehandler.h" +#include +#include +#include "mimcvenginechatinterface.h" +#include "mimcvenginemessageswriteinterface.h" +#include "mimcvengineopenchats.h" + +#include "cimcvenginemessagehandler.h" +#include + +#include +#include +#include +#include "s_cch.h" +#include "cimcvenginefactory.h" +#include "mimcvenginefactory.h" +#include "cimcvenginemessagecreator.h" +#include "mimcvenginemessagecreator.h" + +_LIT(KOwnUser,"testlm123@gmail.com"); +_LIT8(KBrandId,"YAHOO"); + +const TInt KProtocolUid = 0x20007B6D; +const TUid KIMPropertyUid = { 0x0D334E82 }; + +const TUint KIMConnectedKey = 0x00000001; +const TUint KIMServiceIdKey = 0x00000002; +const TUint KIMServiceProtocolUidKey = 0x00000003; +const TUint KIMOwnUserIdKey = 0x00000004; + +_LIT(KRecipientID,"testui123@gmail.com"); +_LIT(KRecipientID2,"testlm123@gmail.com"); + +_LIT(KInvalidRecipientID,"abcsddd@gmail.com"); + +// meco service uid +#define KMECOIMPLEMENTATIONUID 0x20012423 + + +//const TInt ProcessInterval = 2000000; //2 seconds + +// -------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::CIMCVUiEngine_TestSendMessage +// -------------------------------------------------------------------------- +// +CIMCVUiEngine_TestSendMessage::CIMCVUiEngine_TestSendMessage() + { + + } + + +// CIMCommands_TestLogin::~CIMCommands_TestLogin +// -------------------------------------------------------------------------- +// +CIMCVUiEngine_TestSendMessage::~CIMCVUiEngine_TestSendMessage() + { + delete iSettings; + CIMCVEngineFactory::Release(); + } + + +// -------------------------------------------------------------------------- +// CIMCommands_TestLogin::NewL +// -------------------------------------------------------------------------- +// +CIMCVUiEngine_TestSendMessage* CIMCVUiEngine_TestSendMessage::NewL() + { + CIMCVUiEngine_TestSendMessage* self = new(ELeave) CIMCVUiEngine_TestSendMessage(); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +// ----------------------------------------------------------------------------- +// Cimcvuiengine_test::ConstructL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +void CIMCVUiEngine_TestSendMessage::ConstructL() + { + // define the property for upper layer to use serivceid , + // servicesetting id and loggedin user id + // servicesetting id and loggedin user id + + CreateSpEntryL(KTestServiceId); + ReadServiceDetalsL(); + + + TInt err = RProperty::Define(KIMPropertyUid, KIMServiceIdKey, RProperty::EInt, + ECapabilityReadUserData ,ECapabilityWriteUserData); + //User::LeaveIfError(err); + + + err = RProperty::Define(KIMPropertyUid, KIMServiceProtocolUidKey, RProperty::EInt, + ECapabilityReadUserData ,ECapabilityWriteUserData ); + //User::LeaveIfError(err); + + err = RProperty::Define(KIMPropertyUid, KIMConnectedKey, RProperty::EInt, + ECapabilityReadUserData ,ECapabilityWriteUserData ); + //User::LeaveIfError(err); + + // write into defined property for upper layer to use serivceid , + + RProperty::Set( KIMPropertyUid, KIMServiceIdKey, KTestServiceId ); + RProperty::Set( KIMPropertyUid, KIMServiceProtocolUidKey, KProtocolUid ); + RProperty::Set( KIMPropertyUid, KIMConnectedKey, ETrue ); + + iEngineFactory = CIMCVEngineFactory::InstanceL(); + + iEngine = &iEngineFactory->GetServiceEngineL( KTestServiceId ); + + // for send operation + iEngine->MessageHandler().SetObserver(this); + + //iEngine->CCHHandler().EnableService(); + } +// ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::ReadServiceDetalsL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +void CIMCVUiEngine_TestSendMessage::ReadServiceDetalsL() + { + iSettings = CSPSettings::NewL(); // CCH Login + iServiceId = KErrNotFound; + ///////////////////////Get Service Id//////////////// + RArray services; + CleanupClosePushL( services ); + iSettings->FindServiceIdsL( services ); + const TInt serviceCount = services.Count(); + for ( TInt i( 0 ); i < serviceCount; i++ ) + { + TInt refContactUid = KErrNotFound; + CSPProperty* property = CSPProperty::NewLC(); + iSettings->FindPropertyL( services[i],EPropertyContactViewPluginId,*property ); + if ( property ) + { + property->GetValue( refContactUid ); + } + CleanupStack::PopAndDestroy( property ); + if ( (TUid::Uid( refContactUid ) == TUid::Uid( KMECOIMPLEMENTATIONUID )) + || (TUid::Uid( refContactUid ) == TUid::Uid( 0x20007B6D ) )) + { + iServiceId = services[i]; + break; + } + } + CleanupStack::PopAndDestroy( &services ); + + } + + +// ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::CreateConnectionL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +void CIMCVUiEngine_TestSendMessage::CreateConnectionL() + { + // TODO : allready loggedin in local mode enable when login to n/w + //if(!iEngine->IsLoggedIn() ) + // { + // iEngine->CreateContextL(); + // } + } + +// ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::ReleaseConnectionL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +void CIMCVUiEngine_TestSendMessage::ReleaseConnectionL() + { + if(iEngine->IsLoggedIn() ) + { + iEngine->ReleaseConnectionL(); + } +// iEngine->DeleteContextL(); + } + +// ----------------------------------------------------------------------------- +// Cimcvuiengine_test::SendTextMessageL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::SendTextMessageL() + { + _LIT(KSomeStr,"hello"); //String to be sent + + MIMCVEngineChatInterface& chat = iEngine->ChatInterface(); + MIMCVEngineMessageWriteInterface& write = chat.MessageWriteInterfaceL(1, KRecipientID ); + + iEngine->MessageHandler().StartNewConversationL( KRecipientID ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data = + { + KMessageDataVersion, + KOwnUser, + KRecipientID, + KSomeStr, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageSent + }; + MIMCVEngineMessage* message = iEngine->MessageHandler().MessageCreator().CreateMessageL( data ); + write.AppendL(message ); + iEngine->MessageHandler().SendMessageL( *message ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + return iResult; + } + +// ----------------------------------------------------------------------------- +// Cimcvuiengine_test::SendNullMessageL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::SendNullMessageL() + { + _LIT(KSomeStr,""); //String to be sent + + + MIMCVEngineChatInterface& chat = iEngine->ChatInterface(); + MIMCVEngineMessageWriteInterface& write = chat.MessageWriteInterfaceL(1, KRecipientID); + + iEngine->MessageHandler().StartNewConversationL( KRecipientID ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data = + { + KMessageDataVersion, + KOwnUser, + KRecipientID, + KSomeStr, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageSent + }; + MIMCVEngineMessage* message = iEngine->MessageHandler().MessageCreator().CreateMessageL( data ); + write.AppendL(message ); + iEngine->MessageHandler().SendMessageL( *message ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + return iResult; + } + +// ----------------------------------------------------------------------------- +// Cimcvuiengine_test::StartNewConvesationL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::StartNewConvesationL() + { + + iEngine->MessageHandler().StartNewConversationL( KRecipientID ); + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + return iResult; + } + +// ----------------------------------------------------------------------------- +// Cimcvuiengine_test::CloseConvesationL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::CloseConvesationL() + { + + iEngine->MessageHandler().StartNewConversationL( KRecipientID ); + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + iEngine->MessageHandler().CloseConversationL( KRecipientID ); + + return iResult; + } + // ----------------------------------------------------------------------------- +// Cimcvuiengine_test::SendSplCharMessageL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::SendSplCharMessageL() + { + _LIT(KSomeSplStr,"@&!`$?#"); //String to be sent + + + MIMCVEngineChatInterface& chat = iEngine->ChatInterface(); + MIMCVEngineMessageWriteInterface& write = chat.MessageWriteInterfaceL(1, KRecipientID ); + + iEngine->MessageHandler().StartNewConversationL( KRecipientID ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data = + { + KMessageDataVersion, + KOwnUser, + KRecipientID, + KSomeSplStr, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageSent + }; + MIMCVEngineMessage* message = iEngine->MessageHandler().MessageCreator().CreateMessageL( data ); + + write.AppendL(message ); + + iEngine->MessageHandler().SendMessageL( *message ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + return iResult; + } +// ----------------------------------------------------------------------------- +// Cimcvuiengine_test::SendCosMessageL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::SendCosMessageL() + { + _LIT(KSomeSplStr,"asdscmdsdsvndv dsvndsfnv dfkdsfkd vkdsfvkdsj dsfdsjfkdsjf dsfjkdsjfkds dskfjdskfjdsk dfjkdsjfds dsfkdsjfkds dsfkdmfkds safdsajhf asfsajfnha adsfjndajsnhfd dsafnajdsfnh adsfjdajf ajfajfnhj fajadsjfa asasjfjafja afnajf asjfjdsaf"); //String to be sent + + + MIMCVEngineChatInterface& chat = iEngine->ChatInterface(); + MIMCVEngineMessageWriteInterface& write = chat.MessageWriteInterfaceL(1, KRecipientID ); + + iEngine->MessageHandler().StartNewConversationL( KRecipientID ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data = + { + KMessageDataVersion, + KOwnUser, + KRecipientID, + KSomeSplStr, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageSent + }; + MIMCVEngineMessage* message = iEngine->MessageHandler().MessageCreator().CreateMessageL( data ); + + write.AppendL(message ); + + iEngine->MessageHandler().SendMessageL( *message ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + return iResult; + } +// ----------------------------------------------------------------------------- +// Cimcvuiengine_test::DeactivateConvesationL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::DeactivateConvesationL() + { + + + iEngine->MessageHandler().StartNewConversationL( KRecipientID ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + iEngine->MessageHandler().DeactivateConversationL(); + + return iResult; + } + +// ----------------------------------------------------------------------------- +// Cimcvuiengine_test::SendToInvaliedRecipientL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::SendToInvaliedRecipientL() + { + _LIT(KSomeSplStr,"Invalied Recipient"); //String to be sent + + + MIMCVEngineChatInterface& chat = iEngine->ChatInterface(); + MIMCVEngineMessageWriteInterface& write = chat.MessageWriteInterfaceL(1, KRecipientID ); + + iEngine->MessageHandler().StartNewConversationL( KInvalidRecipientID ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data = + { + KMessageDataVersion, + KOwnUser, + KInvalidRecipientID, + KSomeSplStr, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageSent + }; + MIMCVEngineMessage* message = iEngine->MessageHandler().MessageCreator().CreateMessageL( data ); + + write.AppendL(message ); + + iEngine->MessageHandler().SendMessageL( *message ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + if(iResult == KErrArgument ) + { + iResult = KErrNone; + } + return iResult; + } + // ----------------------------------------------------------------------------- +// Cimcvuiengine_test::TestRecievedMessageL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestMultipleSendMessageL() + { + _LIT(KSomeSplStr1,"this is recieved message 1"); //String to be sent + _LIT(KSomeSplStr2,"this is recieved message 2"); //String to be sent + _LIT(KSomeSplStr3,"this is recieved message 3"); //String to be sent + + + MIMCVEngineChatInterface& chat = iEngine->ChatInterface(); + MIMCVEngineMessageWriteInterface& write = chat.MessageWriteInterfaceL(1, KRecipientID ); + + + iEngine->MessageHandler().StartNewConversationL( KRecipientID ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data1 = + { + KMessageDataVersion, + KOwnUser, + KRecipientID, + KSomeSplStr1, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageSent + }; + MIMCVEngineMessage* message1 = iEngine->MessageHandler().MessageCreator().CreateMessageL( data1 ); + write.AppendL(message1); + iEngine->MessageHandler().SendMessageL( *message1 ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data2 = + { + KMessageDataVersion, + KOwnUser, + KRecipientID, + KSomeSplStr2, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageSent + }; + MIMCVEngineMessage* message2 = iEngine->MessageHandler().MessageCreator().CreateMessageL( data2 ); + write.AppendL(message2); + iEngine->MessageHandler().SendMessageL( *message2 ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data3 = + { + KMessageDataVersion, + KOwnUser, + KInvalidRecipientID, + KSomeSplStr3, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageSent + }; + MIMCVEngineMessage* message3 = iEngine->MessageHandler().MessageCreator().CreateMessageL( data3 ); + write.AppendL(message3); + iEngine->MessageHandler().SendMessageL( *message3 ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + return iResult; + } +// ----------------------------------------------------------------------------- +// Cimcvuiengine_test::TestSendRecieveMsgL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestSendRecieveMsgL() + { + + _LIT(KSomeSplStr1,"this is send recieved message 1"); //String to be sent + _LIT(KSomeSplStr2,"this is send recieved message 2"); //String to be sent + + + MIMCVEngineChatInterface& chat = iEngine->ChatInterface(); + MIMCVEngineMessageWriteInterface& write = chat.MessageWriteInterfaceL(1, KRecipientID ); + + + iEngine->MessageHandler().StartNewConversationL( KRecipientID ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data1 = + { + KMessageDataVersion, + KOwnUser, + KRecipientID, + KSomeSplStr1, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageSent + }; + MIMCVEngineMessage* message1 = iEngine->MessageHandler().MessageCreator().CreateMessageL( data1 ); + write.AppendL(message1 ); + iEngine->MessageHandler().SendMessageL( *message1 ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data2 = + { + KMessageDataVersion, + KOwnUser, + KRecipientID, + KSomeSplStr2, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageSent + }; + MIMCVEngineMessage* message2 = iEngine->MessageHandler().MessageCreator().CreateMessageL( data2 ); + + write.AppendL(message2 ); + iEngine->MessageHandler().SendMessageL( *message2 ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + iEngine->MessageHandler().DeactivateConversationL(); + + iEngine->MessageHandler().StartNewConversationL( KRecipientID ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + return iResult; + } +// ----------------------------------------------------------------------------- +// Cimcvuiengine_test::TestSendFetchSendMsgL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestSendFetchSendMsgL() + { + _LIT(KSomeSplStr1,"this is send recieved message 1"); //String to be sent + _LIT(KSomeSplStr2,"this is send recieved message 2"); //String to be sent + _LIT(KSomeSplStr3,"this is send recieved message 3 after fetched im from cache"); //String to be sent + + + MIMCVEngineChatInterface& chat = iEngine->ChatInterface(); + MIMCVEngineMessageWriteInterface& write = chat.MessageWriteInterfaceL(1, KRecipientID ); + + + iEngine->MessageHandler().StartNewConversationL( KRecipientID ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data1 = + { + KMessageDataVersion, + KOwnUser, + KRecipientID, + KSomeSplStr1, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageSent + }; + MIMCVEngineMessage* message1 = iEngine->MessageHandler().MessageCreator().CreateMessageL( data1 ); + write.AppendL(message1); + iEngine->MessageHandler().SendMessageL( *message1 ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data2 = + { + KMessageDataVersion, + KOwnUser, + KRecipientID, + KSomeSplStr2, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageSent + }; + MIMCVEngineMessage* message2 = iEngine->MessageHandler().MessageCreator().CreateMessageL( data2 ); + write.AppendL(message2); + iEngine->MessageHandler().SendMessageL( *message2 ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + iEngine->MessageHandler().DeactivateConversationL(); + + iEngine->MessageHandler().StartNewConversationL( KRecipientID ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data3 = + { + KMessageDataVersion, + KOwnUser, + KRecipientID, + KSomeSplStr3, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageSent + }; + MIMCVEngineMessage* message3 = iEngine->MessageHandler().MessageCreator().CreateMessageL( data3 ); + write.AppendL(message3); + iEngine->MessageHandler().SendMessageL( *message3 ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + return iResult; + } + +// ----------------------------------------------------------------------------- +// Cimcvuiengine_test::PrintTest +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::GetResult() const + { + return iResult; + } + +// ----------------------------------------------------------------------------- +// Cimcvuiengine_test::HandleOperationCompletdL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +// +void CIMCVUiEngine_TestSendMessage::HandleOperationCompletdL( TInt aserviceId, MIMCVEngineMessage::TMessagerType aType , TInt aResult ) + { + iResult = aResult; + if ( iWait.IsStarted() ) + { + iWait.AsyncStop(); + } + } +// ----------------------------------------------------------------------------- +// Cimcvuiengine_test::TestConnectionTerminationL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestConnectionTerminationL() + { + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::HandleConnectionTerminatedL +// Simple printing to UI test. +// ----------------------------------------------------------------------------- +// +void CIMCVUiEngine_TestSendMessage::HandleConnectionEventL(TInt aServiceId, TIMCVConnectionState aState, TInt aReason ) + { + iResult = aReason; + if ( iWait.IsStarted() ) + { + iWait.AsyncStop(); + } + } + +// ----------------------------------------------------------------------------- +// Cimcvuiengine_test::TestLoginStateL +// Example test method function.TestLoginStateL +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestLoginStateL() + { + + if(iEngine->IsLoggedIn() ) + { + return KErrNone; + } + return KErrServerTerminated ; + } + + // ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::TestLoginUserIdL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestLoginUserIdL() + { + + TPtrC userId = iEngine->GetLoggedInUserId(); + + if(! userId.Compare(KOwnUser ) ) + { + return KErrNone; + } + return KErrArgument ; + } +// ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::TestGetBrandIdL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestGetBrandIdL() + { + TPtrC8 BrandId = iEngine->GetBrandId(); + + if( BrandId.Length() ) + { + return KErrNone; + } + return KErrArgument ; + } +// ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::TestGetLanguageIdL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestGetLanguageIdL() + { + TInt languageId = iEngine->GetLanguageId(); + + if(KErrNone != languageId ) + { + return KErrNone; + } + return KErrArgument ; + } + // ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::TestChatInterfaceL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestChatInterfaceL() + { + + + MIMCVEngineChatInterface& chat = iEngine->ChatInterface(); + + MIMCVEngineMessageReadInterface& read = chat.MessageReadInterfaceL(1, KRecipientID) ; + read.Lock(ETrue); // to make sure ,valid ref + + MIMCVEngineMessageWriteInterface& write = chat.MessageWriteInterfaceL(1, KRecipientID ); + write.Time();// to make sure ,valid ref + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::TestMessageCoundL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestMessageCoundL() + { + _LIT(KSomeStr,"hello"); //String to be sent + + + MIMCVEngineChatInterface& chat = iEngine->ChatInterface(); + MIMCVEngineMessageWriteInterface& write = chat.MessageWriteInterfaceL(1, KRecipientID ); + + iEngine->MessageHandler().StartNewConversationL( KRecipientID ); + + + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data = + { + KMessageDataVersion, + KOwnUser, + KRecipientID, + KSomeStr, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageSent + }; + MIMCVEngineMessage* message = iEngine->MessageHandler().MessageCreator().CreateMessageL( data ); + + write.AppendL(message ); + + iEngine->MessageHandler().SendMessageL( *message ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageReadInterface& read = chat.MessageReadInterfaceL(1, KRecipientID) ; + + // in case of send this must be zero , except unread + // this is the ReadOffset not the actaul message count + TInt count = read.MessageCount(); + + if(count == 0 ) + { + return KErrNone; + } + + return KErrNotFound; + } + + // ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::TestMessageUnreadCoundL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestMessageUnreadCoundL() + { + _LIT(KSomeStr,"hello"); //String to be sent + + + MIMCVEngineChatInterface& chat = iEngine->ChatInterface(); + + iEngine->MessageHandler().StartNewConversationL( KRecipientID ); + + MIMCVEngineMessageWriteInterface& write = chat.MessageWriteInterfaceL(1, KRecipientID ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data = + { + KMessageDataVersion, + KOwnUser, + KRecipientID, + KSomeStr, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageReceived + }; + MIMCVEngineMessage* message = iEngine->MessageHandler().MessageCreator().CreateMessageL( data ); + + write.AppendL(message ); + + iEngine->MessageHandler().SendMessageL( *message ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageReadInterface& read = chat.MessageReadInterfaceL(1, KRecipientID) ; + + TInt count = read.UnreadCount(MIMCVEngineMessageReadInterface::EUnreadAll); + + if(count == 1) + { + return KErrNone; + } + + return KErrNotFound; + + } + // ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::DeleteContextL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::DeleteContextL() + { + //by default engine's context needs to be binded + iEngine->CreateContextL() ; + + TRAPD(err, iEngine->DeleteContextL() ); + + return err; + } + + // ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::CreateContextL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::CreateContextL() + { + // by default presence must be EOffline + TRAPD(err, iEngine->CreateContextL() ); + + return err; + } + + // ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::TestSubscribePresenceL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestSubscribePresenceL() + { + TRAPD(err, iEngine->MessageHandler().SubscribePresenceL(KRecipientID) ); + return err; + } + + // ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::TestGetPresenceStatusL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestGetPresenceStatusL() + { + + // by default presence must be EOffline + TIMCVOnlineStatus status = iEngine->MessageHandler().GetPresenceStatus(); + if(status == EOffline ) + { + return KErrNone; + } + + return KErrArgument; + + } + + // ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::TestAppendInfoMessageL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestAppendInfoMessageL() + { + _LIT(KSomeStr,"hello this is information message "); //String to be sent + + + MIMCVEngineChatInterface& chat = iEngine->ChatInterface(); + + iEngine->MessageHandler().StartNewConversationL( KRecipientID ); + + MIMCVEngineMessageWriteInterface& write = chat.MessageWriteInterfaceL(1, KRecipientID ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data = + { + KMessageDataVersion, + KOwnUser, + KRecipientID, + KSomeStr, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageOther + }; + MIMCVEngineMessage* message = iEngine->MessageHandler().MessageCreator().CreateMessageL( data ); + + write.AppendL(message ); + + TRAPD(err, iEngine->MessageHandler().AppendToCacheL(KRecipientID, message->Text() ) ); + + return err; + } + // ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::HandlePresenceChangedL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CIMCVUiEngine_TestSendMessage::HandlePresenceChangedL(TInt aServiceId, const TDesC& /*aBuddyId*/ ) + { + // do nothings + } + + + // ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::TestCCHHandlerL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestCCHHandlerL() + { + TInt error = KErrNone; + + MIMCVEngineCchHandler& cchHandler = iEngine->CCHHandler(); + + if ( cchHandler.IsServiceLoggedIn() ) + { + error = KErrArgument ; + } + HBufC* user = cchHandler.GetUserIdL(); + + if( user ) + { + delete user; + error = KErrNone ; + } + else + { + error = KErrArgument ; + } + return error; + } + + // ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::ReadyForShutdownTestL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::ReadyForShutdownTestL() + { + if( !iEngine->ReadyForShutdown() ) + { + // loggedin + return KErrNone; + } + return KErrArgument; + } + // ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::ServiceNameTestL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::ServiceNameTestL() + { + if (iEngine->ServiceName().Length() ) + { + return KErrNone ; + } + return KErrArgument; + } + // ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::OpenChatsTestL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::OpenChatsTestL() + { + if ( &iEngine->OpenChats() ) + { + MIMCVEngineOpenChats& openchat = iEngine->OpenChats() ; + if( !openchat.Count()) + { + return KErrNone ; + } + } + return KErrArgument; + } + // ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::GetServiceIdTestL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::GetServiceIdTestL() + { + if ( iEngine->GetServiceId() > 0 ) + { + return KErrNone ; + } + return KErrArgument; + } + + + + // ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::TestClosAllContainerL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestClosAllContainerL() + { + _LIT(KSomeStr,"hello"); //String to be sent + + + MIMCVEngineChatInterface& chat = iEngine->ChatInterface(); + + iEngine->MessageHandler().StartNewConversationL( KRecipientID ); + + MIMCVEngineMessageWriteInterface& write = chat.MessageWriteInterfaceL(1, KRecipientID ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data = + { + KMessageDataVersion, + KOwnUser, + KRecipientID, + KSomeStr, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageReceived + }; + MIMCVEngineMessage* message = iEngine->MessageHandler().MessageCreator().CreateMessageL( data ); + + write.AppendL(message ); + + iEngine->MessageHandler().SendMessageL( *message ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + if( chat.ChatCount() ) + { + chat.CloseAllContainers(); + + } + if( !chat.ChatCount() ) + { + return KErrNone; + + } + + return KErrArgument; + + + } + + + // ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::TestDeleteChatL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestDeleteChatL() + { + _LIT(KSomeStr,"hello"); //String to be sent + + + MIMCVEngineChatInterface& chat = iEngine->ChatInterface(); + + iEngine->MessageHandler().StartNewConversationL( KRecipientID ); + + MIMCVEngineMessageWriteInterface& write = chat.MessageWriteInterfaceL(1, KRecipientID ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data = + { + KMessageDataVersion, + KOwnUser, + KRecipientID, + KSomeStr, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageReceived + }; + MIMCVEngineMessage* message = iEngine->MessageHandler().MessageCreator().CreateMessageL( data ); + + write.AppendL(message ); + + iEngine->MessageHandler().SendMessageL( *message ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageWriteInterface& write2 = chat.MessageWriteInterfaceL(1, KRecipientID2 ); + + iEngine->MessageHandler().StartNewConversationL( KRecipientID2 ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + MIMCVEngineMessageCreator::SMessageData data1 = + { + KMessageDataVersion, + KOwnUser, + KRecipientID2, + KSomeStr, + MIMCVEngineMessage::EContentText, + MIMCVEngineMessage::EMessageReceived + }; + MIMCVEngineMessage* message1 = iEngine->MessageHandler().MessageCreator().CreateMessageL( data1 ); + + write2.AppendL(message1 ); + + iEngine->MessageHandler().SendMessageL( *message1 ); + + if ( !iWait.IsStarted() ) + { + iWait.Start(); + } + + if( chat.ChatCount() == 2 ) + { + chat.DeleteChatL( 1, KRecipientID2 ); + } + if( chat.ChatCount() == 1) + { + return KErrNone; + + } + + return KErrArgument; + + + } +// ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::TestEditorMessageL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestEditorMessageL() + { + + MIMCVEngineChatInterface& chat = iEngine->ChatInterface(); + + MIMCVEngineMessageReadInterface& read = chat.MessageReadInterfaceL(1, KRecipientID) ; + read.Lock(ETrue); // to make sure ,valid ref + read.StoreEditerMessageL(_L("Test Message")); + TBuf<15> receiveData; + receiveData = read.GetEditerMessage(); + + if(0 == receiveData.Compare(_L("Test Message"))) + return KErrNone; + + return KErrArgument; + } + +// ----------------------------------------------------------------------------- +// CIMCVUiEngine_TestSendMessage::TestEditorMessageL +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIMCVUiEngine_TestSendMessage::TestConvertPresCacheEnum() + { + TInt err; + MIMCVEngineMessageUtils* aMessageUtils = NULL; + MIMCVEngineChatInterface& chat = iEngine->ChatInterface(); + MIMCVEngineMessageCreator* messageCreator = CIMCVEngineMessageCreator::NewL(); + CIMCVEngineMessageHandler* handler = CIMCVEngineMessageHandler::NewL( chat, *messageCreator, NULL, 1 ,KNullDesC); + MPresenceBuddyInfo2::TAvailabilityValues value = MPresenceBuddyInfo2::EUnknownAvailability; + TIMCVOnlineStatus status; + + // the ConvertPresenceCacheEnums does not have the support for block and pending, + // hence should be added in the new test cases. + + /*TBuf<50> buf1(KBlockedState); + TPtrC Ptr1 (buf1); + TIMCVOnlineStatus status = handler->ConvertPresenceCacheEnums(value, Ptr1); + if(EUnknown != status) + { + return KErrNotFound; + } + */ + value = MPresenceBuddyInfo2::EUnknownAvailability; + TBuf<50> buf2(KInvisibleState); + TPtrC Ptr2 (buf2); + status = handler->ConvertPresenceCacheEnums(value, Ptr2); + if(EInvisible != status) + { + return KErrNotFound; + } + + value = MPresenceBuddyInfo2::EBusy; + TBuf<50> buf3(KAwayState); + TPtrC Ptr3 (buf3); + status = handler->ConvertPresenceCacheEnums(value, Ptr3); + if(EAway != status) + { + return KErrNotFound; + } + + value = MPresenceBuddyInfo2::EBusy; + TBuf<50> buf4(KOnPhoneState); + TPtrC Ptr4 (buf4); + status = handler->ConvertPresenceCacheEnums(value, Ptr4); + if(EOnPhone != status) + { + return KErrNotFound; + } + + value = MPresenceBuddyInfo2::EBusy; + TBuf<50> buf5(KDndState); + TPtrC Ptr5 (buf5); + status = handler->ConvertPresenceCacheEnums(value, Ptr5); + if(EDoNotDisturb != status) + { + return KErrNotFound; + } + + /*value = MPresenceBuddyInfo2::EUnknownAvailability; + TBuf<50> buf6(KPendingRequestState); + TPtrC Ptr6 (buf6); + status = handler->ConvertPresenceCacheEnums(value, Ptr6); + if(EUnknown != status) + { + return KErrNotFound; + } + */ + value = MPresenceBuddyInfo2::EAvailable; + _LIT(KAnyMsg,"Any msg"); + TBuf<50> buf7(KAnyMsg); + TPtrC Ptr7 (buf7); + status = handler->ConvertPresenceCacheEnums(value, Ptr7); + if(EOnline != status) + { + return KErrNotFound; + } + + value = MPresenceBuddyInfo2::ENotAvailable; + status = handler->ConvertPresenceCacheEnums(value, Ptr7); + if(EOffline != status) + { + return KErrNotFound; + } + + value = MPresenceBuddyInfo2::EUnknownAvailability; + status = handler->ConvertPresenceCacheEnums(value, Ptr7); + if(EUnknown != status) + { + return KErrNotFound; + } + + return KErrNone; + } + + +// end of file +