diff -r 000000000000 -r 72b543305e3a mmsengine/mmsserver/src/mmsschedulesend.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsengine/mmsserver/src/mmsschedulesend.cpp Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,139 @@ +/* +* Copyright (c) 2002-2006 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: +* Scheduled sending of MMS messages +* +*/ + + + +// INCLUDE FILES +#include +#include +#include +#include + +#include "mmsschedulesend.h" +#include "mmsscheduledentry.h" +#include "mmsaccount.h" +#include "mmscmds.h" + +// EXTERNAL DATA STRUCTURES + +// EXTERNAL FUNCTION PROTOTYPES + +// CONSTANTS + +// MACROS + +// LOCAL CONSTANTS AND MACROS + +// MODULE DATA STRUCTURES + +// LOCAL FUNCTION PROTOTYPES + +// ==================== LOCAL FUNCTIONS ==================== + +// ================= MEMBER FUNCTIONS ======================= + +// C++ default constructor can NOT contain any code, that +// might leave. +// +CMmsScheduleSend::CMmsScheduleSend( CMsvServerEntry& aServerEntry ) + : CMsvScheduleSend( aServerEntry ) + { + } + +// Two-phased constructor. +CMmsScheduleSend* CMmsScheduleSend::NewL( CMsvServerEntry& aServerEntry ) + { + CMmsScheduleSend* self = new (ELeave) CMmsScheduleSend( aServerEntry ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +// Destructor +CMmsScheduleSend::~CMmsScheduleSend() + { + + } + +// --------------------------------------------------------- +// CMmsScheduleSend::GetMessageL +// --------------------------------------------------------- +// +CMsvScheduledEntry* CMmsScheduleSend::GetMessageL( + const TMsvId aId ) const + { + // Returns a pointer to a newly created CMmsScheduledEntry, + // which encapsulates the scheduling and recipient information relating + // to the message identified by aId. + + //Set the iServerEntry to the message identified by aId + User::LeaveIfError(iServerEntry.SetEntry(aId)); + + //Create a new CFaxScheduledEntry + CMmsScheduledEntry* entry = CMmsScheduledEntry::NewL(iServerEntry.Entry()); + CleanupStack::PushL(entry); + + CMsvStore* store = iServerEntry.ReadStoreL(); + CleanupStack::PushL(store); + + //Restore the entry from the message's store. + entry->RestoreL(*store); + + CleanupStack::PopAndDestroy( store ); + CleanupStack::Pop( entry ); + + return entry; + } + +// --------------------------------------------------------- +// CMmsScheduleSend::LoadSettings +// --------------------------------------------------------- +// +void CMmsScheduleSend::LoadSettingsL( TInt aCommand ) + { + CMmsAccount* account = CMmsAccount::NewL(); + CleanupStack::PushL( account ); // *** + + switch( aCommand ) + { + case EMmsReceive: + case EMmsScheduledReceive: + case EMmsReceiveForced: + case EMmsScheduledReceiveForced: + account->LoadScheduleReceiveSettingsL( + ScheduleSettings(), + OffPeakTimes(), + SendErrorActions(), + AgentActions() ); + break; + default: // loading send settings as default + account->LoadScheduleSendSettingsL( + ScheduleSettings(), + OffPeakTimes(), + SendErrorActions(), + AgentActions() ); + } + + CleanupStack::PopAndDestroy( account ); + } + +// ================= OTHER EXPORTED FUNCTIONS ============== + +// End of File +