phoneclientserver/callui/src/cauiengine/cauimessagesender.cpp
changeset 51 12bc758d6a02
parent 48 78df25012fda
child 53 25b8d29b7c59
--- a/phoneclientserver/callui/src/cauiengine/cauimessagesender.cpp	Fri Sep 17 17:09:13 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,342 +0,0 @@
-/*
-* Copyright (c) 2004 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:  Launches Sendui Editor.
-*
-*/
-
-
-
-
-//  INCLUDES
-#include    "cauimessagesender.h" 
-
-#include    <coemain.h>         // CCoeEnv
-#include    <callui.rsg> // Resources. 
-
-#include    <msvids.h>          // KUidMsvLocalServiceMtmValue
-
-#include    <sendui.h>          // CSendAppUi, CSendUi
-#include    <cmessagedata.h> // Message data for CSendUi 
-#include    <featmgr.h>         // Feature manager
-#include    "cauilogger.h" // Call Ui Logger 
-
-// CONSTANTS
-// The reconnect query options granularity.
-#ifdef RD_UNIFIED_EDITOR
-const TInt KCaUiReConQueryOptionsArrayGranularity = 3;
-#else // RD_UNIFIED_EDITOR
-const TInt KCaUiReConQueryOptionsArrayGranularity = 4;
-#endif // RD_UNIFIED_EDITOR
-
-const TInt KMtmPop3Uid = 0x10001029;
-const TInt KMtmImap4Uid = 0x1000102a;
-const TInt KUidEmail = 0x10001028;
-const TInt KUidPostCard = 0x10207245; 
-
-// -----------------------------------------------------------------------------
-// CCaUiMessageSender::CCaUiMessageSender
-// 
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CCaUiMessageSender::CCaUiMessageSender()
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CCaUiMessageSender::~CCaUiMessageSender
-// 
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CCaUiMessageSender::~CCaUiMessageSender()
-    {
-    
-    CAUILOGSTRING("CALLUI: >>> CCaUiMessageSender::~CCaUiMessageSender()");
-    
-    if ( iMsgTypes )
-        {
-        iMsgTypes->Reset();
-        delete iMsgTypes;
-        }
-
-    if( iSession ) 
-        {
-        iSession->Cancel();    
-        }
-    delete iSession;
-        
-    if( iSendUi ) 
-        {    
-        delete iSendUi;   
-        }
-        
-    CAUILOGSTRING("CALLUI: <<< CCaUiMessageSender::~CCaUiMessageSender()");    
-    }
-
-
-// -----------------------------------------------------------------------------
-// CCaUiMessageSender::NewL
-// 
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CCaUiMessageSender* CCaUiMessageSender::NewL()
-    {
-    
-    CAUILOGSTRING("CALLUI: >>> CCaUiMessageSender::NewL()");
-    
-    CCaUiMessageSender* self = new( ELeave ) CCaUiMessageSender ();
-    
-    CAUILOGSTRING("CALLUI: <<< CCaUiMessageSender::NewL()");
-    
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CCaUiMessageSender::CreateNewMessageL
-// Create a new message of the given type, in the given location
-// ---------------------------------------------------------
-//
-void CCaUiMessageSender::CreateNewMessageL(
-    TInt aMessageType,
-    MDesC16Array* aRealAddress,
-    MDesC16Array* aAliases,
-    CRichText* aRichText )
-    {
-    
-    CAUILOGSTRING("CALLUI: >>> CCaUiMessageSender::CreateNewMessageL()");
-       
-    TRAPD( err, CreateSendUiL());
-    if ( err != KErrNone )
-        User::Leave( KErrGeneral );     
-    
-    //Launch message editor standalone
-    TUid mtmUid = { aMessageType };
-    
-    CMessageData* messageData = CMessageData::NewL();
-    CleanupStack::PushL( messageData );
-    if ( aRichText )
-        {
-        messageData->SetBodyTextL( aRichText );
-        }
-    
-    // Set real address and check if aliases exist
-    if ( aRealAddress )
-        {
-        TBool aAliasesExist = EFalse;
-        if ( aAliases &&
-             aAliases->MdcaCount() == aRealAddress->MdcaCount() )
-            {
-            aAliasesExist = ETrue;
-            }
-        for ( TInt i=0; i < aRealAddress->MdcaCount(); i++ )
-            {
-            if ( aAliasesExist )
-                {
-                messageData->AppendToAddressL(
-                    aRealAddress->MdcaPoint( i ),
-                    aAliases->MdcaPoint( i ) );
-                }
-            else
-                {
-                messageData->AppendToAddressL(
-                    aRealAddress->MdcaPoint( i ) );
-                }
-            }
-        }
-        
-    iSendUi->CreateAndSendMessageL( mtmUid, messageData, KNullUid, EFalse );
-    CleanupStack::PopAndDestroy(); // messageData
-    
-    CAUILOGSTRING("CALLUI: <<< CCaUiMessageSender::CreateNewMessageL()");
-    }
-
-// ---------------------------------------------------------
-// CCaUiMessageSender::CreateSendUiL
-// ---------------------------------------------------------
-//
-void CCaUiMessageSender::CreateSendUiL()
-    {
-    CAUILOGSTRING("CALLUI: >>> CCaUiMessageSender::CreateSendUiL()");
-    
-    // Create instance of send ui.
-    if( !iSendUi )
-        {
-        iSendUi = CSendUi::NewL();
-        }
-        
-    CAUILOGSTRING("CALLUI: <<< CCaUiMessageSender::CreateSendUiL()");    
-    }
-
-// ---------------------------------------------------------
-// CCaUiMessageSender::MessageTypesArray
-// ---------------------------------------------------------
-const CUidNameArray& CCaUiMessageSender::
-    MessageTypesArrayL()
-    {
-    
-    CAUILOGSTRING("CALLUI: >>> CCaUiMessageSender::MessageTypesArrayL()");
-    
-    delete iMsgTypes;
-    iMsgTypes = NULL;
-
-    CUidNameArray* msgTypes = new ( ELeave ) 
-        CUidNameArray( KCaUiReConQueryOptionsArrayGranularity ); 
-    CleanupStack::PushL( msgTypes );
-    UpdateMessageTypesArrayL( msgTypes );
-    CleanupStack::Pop();
-    iMsgTypes = msgTypes;
-
-    CAUILOGSTRING("CALLUI: <<< CCaUiMessageSender::MessageTypesArrayL()");
-
-    return *iMsgTypes;
-    }
-
-// ---------------------------------------------------------
-// CCaUiMessageSender::UpdateMessageTypesArrayL
-// Updates the array of UIDs which defines the MTM types for which the user
-// can create new messages.
-// ---------------------------------------------------------
-void CCaUiMessageSender::UpdateMessageTypesArrayL(
-    CUidNameArray* aMsgTypes )
-    {
-    
-    CAUILOGSTRING("CALLUI:>>> CCaUiMessageSender::UpdateMessageTypesArrayL()");
-    
-    aMsgTypes->Reset();
-
-    FeatureManager::InitializeLibL();
-    //Read MTM types from resource file
-    TResourceReader resReader;
-    CCoeEnv::Static()->CreateResourceReaderLC( resReader, 
-        NEW_MESSAGE_TYPES_ARRAY );
-    
-    TInt count = resReader.ReadInt16();
-
-    for ( TInt i = 0; i < count; i++ )
-        {
-        TInt32 id = resReader.ReadInt32();
-        HBufC* name = resReader.ReadHBufCL();
-        CleanupStack::PushL( name );
-
-        switch( id )
-            {
-            case KUidEmail:
-                {
-                if ( IsMailboxDefinedL() )
-                    {
-                    aMsgTypes->AppendL( TUidNameInfo( TUid::Uid( id ), *name ) );
-                    }
-                break;
-                }
-            case KUidPostCard:
-                {
-                if ( FeatureManager::FeatureSupported( KFeatureIdMmsPostcard ) )
-                    {
-                    aMsgTypes->AppendL( TUidNameInfo( TUid::Uid( id ), *name ) );
-                    }
-                break;
-                }
-            default:
-                {
-                aMsgTypes->AppendL( TUidNameInfo( TUid::Uid( id ), *name ) );
-                break;  
-                }
-            }
-            
-        CleanupStack::PopAndDestroy( name ); 
-        }
-    
-    CleanupStack::PopAndDestroy();//resReader 
-    FeatureManager::UnInitializeLib();
-    
-    CAUILOGSTRING("CALLUI:<<< CCaUiMessageSender::UpdateMessageTypesArrayL() end");
-    }
-
-// ---------------------------------------------------------
-// CCaUiMessageSender::CreateMessageServiceConnectionL
-// ---------------------------------------------------------
-//
-void CCaUiMessageSender::CreateMessageServiceConnectionL()
-    {
-    CAUILOGSTRING("CALLUI:>>> CCaUiMessageSender::CreateMessageServiceConnectionL()");
-    
-    if ( !iSession )
-        {
-        iSession = CMsvSession::OpenSyncL( *this );
-        }
-    CAUILOGSTRING("CALLUI:<<< CCaUiMessageSender::CreateMessageServiceConnectionL()");    
-    }
-
-// ---------------------------------------------------------
-// CCaUiMessageSender::IsMailboxDefinedL
-// ---------------------------------------------------------
-//
-TBool CCaUiMessageSender::IsMailboxDefinedL()
-    {
-    CAUILOGSTRING("CALLUI:>>> CCaUiMessageSender::IsMailboxDefinedL()");
-    
-    CreateMessageServiceConnectionL();
-    
-    TBool isDefined = EFalse;
-    CMsvEntry* root = iSession->GetEntryL( KMsvRootIndexEntryId );
-
-    TInt count = root->Count();
-    for ( TInt i = 0; i < count; i++ )
-        {
-        const TMsvEntry& tentry = (*root)[i];
-        if ( tentry.iMtm.iUid == KMtmPop3Uid || 
-            tentry.iMtm.iUid == KMtmImap4Uid )
-            {
-            isDefined = ETrue;
-            break;
-            }
-        }
-    delete root;
-    
-    CAUILOGSTRING("CALLUI:<<< CCaUiMessageSender::IsMailboxDefinedL()");
-    return isDefined;
-    }
-
-
-// ---------------------------------------------------------
-// CCaUiMessageSender::HandleSessionEventL
-// ---------------------------------------------------------
-void CCaUiMessageSender::HandleSessionEventL(TMsvSessionEvent aEvent, 
-        TAny* /*aArg1*/, TAny* /*aArg2*/, TAny* /*aArg3*/)
-    {
-    CAUILOGSTRING("CALLUI:>>> CCaUiMessageSender::HandleSessionEventL()");
-    
-    CreateMessageServiceConnectionL();
-
-    switch ( aEvent )
-        {
-        case EMsvCloseSession:
-            //Server close.
-            delete iSession;
-            iSession = NULL;
-            CAUILOGSTRING("CALLUI:<<< CCaUiMessageSender::HandleSessionEventL(): case: EMsvCloseSession");
-            break;
-        default:
-            CAUILOGSTRING("CALLUI:<<< CCaUiMessageSender::HandleSessionEventL(): case: default");
-            break;
-        }
-        
-    }
-
-
-// End of File