diff -r 000000000000 -r f979ecb2b13e calendarui/controller/src/calenservicesimpl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/calendarui/controller/src/calenservicesimpl.cpp Tue Feb 02 10:12:19 2010 +0200 @@ -0,0 +1,586 @@ +/* +* Copyright (c) 2007-2008 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: Implementation of Calendar services +* +*/ + +#include +#include +#include + +#include "calenglobaldata.h" +#include "calendarui_debug.h" +#include "calenservicesimpl.h" +#include "calencontroller.h" +#include "calenviewmanager.h" +#include "calenicons.h" +#include "calenattachmentmodel.h" + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::NewL +// Two phased constructor. +// Taking the command range start and end points +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +CCalenServicesImpl* CCalenServicesImpl::NewL( TInt aCommandRangeStart, + TInt aCommandRangeEnd ) + { + TRACE_ENTRY_POINT; + CCalenServicesImpl* self = new( ELeave ) CCalenServicesImpl( + aCommandRangeStart, aCommandRangeEnd ); + + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + + TRACE_EXIT_POINT; + return self; + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::NewL +// 1st phase of construction. +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +CCalenServicesImpl* CCalenServicesImpl::NewL() + { + TRACE_ENTRY_POINT; + CCalenServicesImpl* self = new( ELeave ) CCalenServicesImpl( 0, 0 ); + + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + + TRACE_EXIT_POINT; + return self; + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::CCalenServicesImpl +// C++ constructor. +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +CCalenServicesImpl::CCalenServicesImpl( TInt aCommandRangeStart, + TInt aCommandRangeEnd ) + : iCommandRangeStart( aCommandRangeStart ), + iCommandRangeEnd( aCommandRangeEnd ) + { + TRACE_ENTRY_POINT; + TRACE_EXIT_POINT; + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::ConstructL +// 2nd phase of construction. +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void CCalenServicesImpl::ConstructL() + { + TRACE_ENTRY_POINT; + + iGlobalData = CCalenGlobalData::InstanceL(); + iController = CCalenController::InstanceL(); + + TRACE_EXIT_POINT; + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::Release +// Performs cleanup of this object. +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void CCalenServicesImpl::Release() + { + TRACE_ENTRY_POINT; + + if( iGlobalData ) + { + iGlobalData->Release(); + } + + if( iController ) + { + iController->Release(); + } + + delete this; + + TRACE_EXIT_POINT; + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::SessionL +// Retrieve the calendar session currently in use by Calendar +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +CCalSession& CCalenServicesImpl::SessionL() + { + TRACE_ENTRY_POINT; + + ASSERT( iGlobalData && iController ); // Make sure ConstructL has been called. + + TRACE_EXIT_POINT; + return iGlobalData->CalSessionL(); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::EntryViewL +// Retrieve the calendar entry view currently in use by Calendar +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +CCalEntryView* CCalenServicesImpl::EntryViewL() + { + TRACE_ENTRY_POINT; + + ASSERT( iGlobalData && iController ); // Make sure ConstructL has been called. + + TRACE_EXIT_POINT; + return iGlobalData->EntryViewL(); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::InstanceViewL +// Retrieve the calendar instance view currently in use by Calendar +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +CCalInstanceView* CCalenServicesImpl::InstanceViewL() + { + TRACE_ENTRY_POINT; + + ASSERT( iGlobalData && iController ); // Make sure ConstructL has been called. + + TRACE_EXIT_POINT; + return iGlobalData->InstanceViewL(); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::InterimUtilsL() +// Retrieve interimutils from globaldata +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +CCalenInterimUtils2& CCalenServicesImpl::InterimUtilsL() + { + TRACE_ENTRY_POINT; + TRACE_EXIT_POINT; + return iGlobalData->InterimUtilsL(); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::RegisterForNotificationsL +// Register for notification of Calendar event +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void CCalenServicesImpl::RegisterForNotificationsL( MCalenNotificationHandler* aHandler, + TCalenNotification aNotification ) + { + TRACE_ENTRY_POINT; + + ASSERT( iGlobalData && iController ); // Make sure ConstructL has been called. + iController->RegisterForNotificationsL( aHandler, aNotification ); + + TRACE_EXIT_POINT; + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::RegisterForNotificationsL +// Register for array notifications of Calendar events +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void CCalenServicesImpl::RegisterForNotificationsL( MCalenNotificationHandler* aHandler, + RArray& aNotifications ) + { + TRACE_ENTRY_POINT; + + ASSERT( iGlobalData && iController ); // Make sure ConstructL has been called. + iController->RegisterForNotificationsL( aHandler, aNotifications ); + + TRACE_EXIT_POINT; + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::CancelNotifications +// Cancel notifications of Calendar events +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void CCalenServicesImpl::CancelNotifications( MCalenNotificationHandler* aHandler ) + { + TRACE_ENTRY_POINT; + + ASSERT( iGlobalData && iController ); // Make sure ConstructL has been called. + iController->CancelNotifications( aHandler ); + + TRACE_EXIT_POINT; + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::IssueCommandL +// Issue a command to be handled by Calendar or a customization +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +TBool CCalenServicesImpl::IssueCommandL( TInt aCommand ) + { + TRACE_ENTRY_POINT; + ASSERT( iGlobalData && iController ); // Make sure ConstructL has been called. + + TRACE_EXIT_POINT; + return iController->IssueCommandL( aCommand ); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::IssueNotificationL +// Issue a notification to Calendar, which will be broadcast synchronously +// to all registered notification handlers +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void CCalenServicesImpl::IssueNotificationL( TCalenNotification aNotification ) + { + TRACE_ENTRY_POINT; + + ASSERT( iGlobalData && iController ); // Make sure ConstructL has been called. + iController->BroadcastNotification( aNotification ); + + TRACE_EXIT_POINT; + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::Context +// Returns the context. +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +MCalenContext& CCalenServicesImpl::Context() + { + TRACE_ENTRY_POINT; + + ASSERT( iGlobalData && iController ); // Make sure ConstructL has been called. + + TRACE_EXIT_POINT; + return iGlobalData->Context(); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::RequestActivationL +// Request activation of a specific view +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void CCalenServicesImpl::RequestActivationL( const TVwsViewId& aViewId ) + { + TRACE_ENTRY_POINT; + + ASSERT( iGlobalData && iController ); // Make sure ConstructL has been called. + iController->RequestActivationL( aViewId ); + + TRACE_EXIT_POINT; + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::ActivationNotificationL +// Notify Calendar that a specific view has been activated +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void CCalenServicesImpl::ActivationNotificationL( const TVwsViewId& /*aViewId*/ ) + { + TRACE_ENTRY_POINT; + + ASSERT( iGlobalData && iController ); // Make sure ConstructL has been called. + + TRACE_EXIT_POINT; + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::OfferMenuPaneL +// Offers the menu pane to plugins for customisation +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void CCalenServicesImpl::OfferMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ) + { + TRACE_ENTRY_POINT; + + iController->OfferMenuPaneL( aResourceId, aMenuPane ); + + TRACE_EXIT_POINT; + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::GetCommandRange +// Returns the assigned command range +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void CCalenServicesImpl::GetCommandRange( TInt& aCommandRangeStart, + TInt& aCommandRangeEnd ) const + { + TRACE_ENTRY_POINT; + + aCommandRangeStart = iCommandRangeStart; + aCommandRangeEnd = iCommandRangeEnd; + + TRACE_EXIT_POINT; + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::Infobar +// Descriptor passed to plugins to get customised info bar text +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +CCoeControl* CCalenServicesImpl::Infobar(const TRect& aRect ) + { + TRACE_ENTRY_POINT; + + TRACE_EXIT_POINT; + return iController->Infobar( aRect ); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::Infobar +// Returns the customized text from plugin +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +const TDesC& CCalenServicesImpl::Infobar() + { + TRACE_ENTRY_POINT; + TRACE_EXIT_POINT; + return iController->Infobar(); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::CustomPreviewPaneL +// Returns the customized Preview pane +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +MCalenPreview* CCalenServicesImpl::CustomPreviewPaneL( TRect& aRect ) + { + TRACE_ENTRY_POINT; + TRACE_EXIT_POINT; + return iController->CustomPreviewPaneL( aRect ); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::PreviewPane +// Descriptor passed to plugins to get customised info bar text +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +CCoeControl* CCalenServicesImpl::PreviewPane( TRect& aRect ) + { + TRACE_ENTRY_POINT; + + TRACE_EXIT_POINT; + return iController->PreviewPane( aRect ); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::ToolbarOrNull +// Provides access to the calendar toolbar if one is available +// ---------------------------------------------------------------------------- +MCalenToolbar* CCalenServicesImpl::ToolbarOrNull() + { + TRACE_ENTRY_POINT; + + TRACE_EXIT_POINT; + return iController->ViewManager().ToolbarOrNull(); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::GetIconL +// Get icon of specific type +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +CGulIcon* CCalenServicesImpl::GetIconL( MCalenServices::TCalenIcons aIndex ) + { + TRACE_ENTRY_POINT; + + TRACE_EXIT_POINT; + return iController->GetIconL( aIndex ); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::QueueKeyEvent +// Queue key events +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +TBool CCalenServicesImpl::QueueKeyEvent( const TKeyEvent& aEvent, + TEventCode aType ) + { + TRACE_ENTRY_POINT; + + TRACE_EXIT_POINT; + return iGlobalData->QueueKeyEvent( aEvent, aType ); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::GetQueuedKeyEventL +// Get queued key events +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +TBool CCalenServicesImpl::GetQueuedKeyEvent( TKeyEvent& aEvent, + TEventCode& aType ) + { + TRACE_ENTRY_POINT; + + TRACE_EXIT_POINT; + return iGlobalData->GetQueuedKeyEvent( aEvent, aType ); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::ResetKeyEventQueue +// reset key event queue +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void CCalenServicesImpl::ResetKeyEventQueue() + { + TRACE_ENTRY_POINT; + + iGlobalData->ResetKeyEventQueue(); + + TRACE_EXIT_POINT; + } + +// ---------------------------------------------------------------------------- +// CCalenController::MissedAlarmStore +// Returns a reference to the Missed Alarm Store +// ---------------------------------------------------------------------------- +CMissedAlarmStore* CCalenServicesImpl::MissedAlarmStore() + { + TRACE_ENTRY_POINT; + TRACE_EXIT_POINT; + return iController->MissedAlarmStore(); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::GetMissedAlarmsList +// Get missed alarms list +// ---------------------------------------------------------------------------- +void CCalenServicesImpl::GetMissedAlarmsList(RArray& aMissedAlarmsList) + { + TRACE_ENTRY_POINT; + TRACE_EXIT_POINT; + return iController->GetMissedAlarmsList(aMissedAlarmsList); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::GetAttachmentData +// returns ref of CCalenAttachmentModel +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +CCalenAttachmentModel* CCalenServicesImpl::GetAttachmentData() + { + TRACE_ENTRY_POINT; + TRACE_EXIT_POINT; + return &iController->AttachmentData(); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::SessionL +// Retrieve the calendar session currently in use by Calendar +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +CCalSession& CCalenServicesImpl::SessionL(const TDesC& aCalendar ) + { + TRACE_ENTRY_POINT; + + ASSERT( iGlobalData && iController ); // Make sure ConstructL has been called. + + TRACE_EXIT_POINT; + return iGlobalData->CalSessionL(aCalendar); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::EntryViewL +// Retrieve the calendar entry view currently in use by Calendar +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +CCalEntryView* CCalenServicesImpl::EntryViewL(const TCalCollectionId aCollectionId ) + { + TRACE_ENTRY_POINT; + + ASSERT( iGlobalData && iController ); // Make sure ConstructL has been called. + + TRACE_EXIT_POINT; + return iGlobalData->EntryViewL(aCollectionId); + } + +// ---------------------------------------------------------------------------- +// CCalenServicesImpl::InstanceViewL +// Retrieve the calendar instance view currently in use by Calendar +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +CCalInstanceView* CCalenServicesImpl::InstanceViewL( + const RArray& aCollectionIds) + { + TRACE_ENTRY_POINT; + + ASSERT( iGlobalData && iController ); // Make sure ConstructL has been called. + + TRACE_EXIT_POINT; + return iGlobalData->InstanceViewL(aCollectionIds); + } + +// ----------------------------------------------------------------------------- +// CCalenGlobalData::GetAllCalendarInfoL +// Get all available calendar info +// ----------------------------------------------------------------------------- +// +void CCalenServicesImpl::GetAllCalendarInfoL( + RPointerArray& aCalendarInfoList ) + { + TRACE_ENTRY_POINT; + ASSERT( iGlobalData && iController ); // Make sure ConstructL has been called. + iGlobalData->GetAllCalendarInfoL(aCalendarInfoList); + TRACE_EXIT_POINT; + } + +// ----------------------------------------------------------------------------- +// CCalenGlobalData::GetCalFileNameForCollectionId +// Get calendar file name for the given collection id +// ----------------------------------------------------------------------------- +// +const TDesC& CCalenServicesImpl::GetCalFileNameForCollectionId( + const TCalCollectionId aCollectionId) + { + TRACE_ENTRY_POINT; + ASSERT( iGlobalData && iController ); // Make sure ConstructL has been called. + TRACE_EXIT_POINT; + return iGlobalData->GetCalFileNameForCollectionId(aCollectionId); + } + +// End of file