diff -r 000000000000 -r f979ecb2b13e calendarui/settings/GsPlugin/inc/calendummyservices.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/calendarui/settings/GsPlugin/inc/calendummyservices.h Tue Feb 02 10:12:19 2010 +0200 @@ -0,0 +1,264 @@ +/* +* Copyright (c) 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: Provides services for native Calendar extensions +* +*/ + +#ifndef CALENDUMMYSERVICES_H +#define CALENDUMMYSERVICES_H + +#include +#include +#include +#include + +// Forward declarations +class CCalenGlobalData; // Calendar-wide accessors +class CGulIcon; +class CMissedAlarmStore; +class MCalenPreview; + +/** + * Calendar Services External API implementation. + * This is just a dummy with no implementation for general settings. + */ +NONSHARABLE_CLASS( CCalenDummyServices ) : public CBase, public MCalenServices + { + public: // Construction and destruction. + /** + * C++ constructor + */ + CCalenDummyServices( CCalenGlobalData& aGlobalData ); + + /** + * Destructor + */ + ~CCalenDummyServices(); + + public: // Functions from base classes. + /** + * Cleans all resources assocaited with this object and frees its memory. + */ + virtual void Release(); + + /** + * Retrieve the calendar session currently in use by Calendar + * @return CCalSession& currently used by Calendar + */ + CCalSession& SessionL(); + + /** + * Retrieve the calendar session currently in use by Calendar + * @return CCalSession& currently used by Calendar + */ + CCalSession& SessionL( const TDesC& aCalendar ); + + /** + * Retrieve the calendar entry view currently in use by Calendar + * @return CCalEntryView* currently used by Calendar + */ + CCalEntryView* EntryViewL(); + + + /** + * Retrieve the calendar entry view currently in use by Calendar + * @return CCalEntryView* currently used by Calendar + */ + CCalEntryView* EntryViewL(const TCalCollectionId aCollectionId ); + + + /** + * Retrieve the calendar instance view currently in use by Calendar + * @return CCalInstanceView* currently used by Calendar + */ + CCalInstanceView* InstanceViewL(); + + /** + * Retrieve the calendar instance view currently in use by Calendar + * @return CCalInstanceView* currently used by Calendar + */ + CCalInstanceView* InstanceViewL( + const RArray& aCollectionIds ); + + /** + * Retrieve the InterimUtils + * @return CCalenInterimUtils2& + */ + CCalenInterimUtils2& InterimUtilsL(); + + TBool QueueKeyEvent(const TKeyEvent& aEvent, TEventCode aType); + TBool GetQueuedKeyEvent(TKeyEvent& aEvent, TEventCode& aType); + void ResetKeyEventQueue(); + /** + * Get calendar icon of specific type + * @return CGulIcon* + */ + CGulIcon* GetIconL( MCalenServices::TCalenIcons aIndex ); + + /** + * Register for notifications of Calendar events + * @param aHandler the MCalenNotificationHandler to notify + * @param aNotification single notification to be notified about + */ + virtual void RegisterForNotificationsL( MCalenNotificationHandler* aHandler, + TCalenNotification aNotification ); + + /** + * Register for notifications of Calendar events + * @param aHandler the MCalenNotificationHandler to notify + * @param aNotifications array of notifications to be notified about + */ + virtual void RegisterForNotificationsL( MCalenNotificationHandler* aHandler, + RArray& aNotifications ); + + + /** + * Cancel notifications of Calendar events + * @param aHandler the MCalenNotificationHandler to stop notifying + */ + void CancelNotifications( MCalenNotificationHandler* aHandler ); + + /** + * Issue a command to be handled by Calendar or a customization + * All commands will be handled asynchronously. Calendar may reject + * @param aCommand the command to be handled + * @return ETrue, if Calendar will attempt to handle the command + * @return EFalse, if Calendar will not attempt to handle the command + */ + TBool IssueCommandL( TInt aCommand ); + + /** + * Issue a notification to Calendar, which will be broadcast + * synchronously to all registered notification handlers. + * Only one notification may be issued at once. + * @param aNotification the notification to broadcast + */ + void IssueNotificationL( TCalenNotification aNotification ); + + /** + * Returns the context. This includes information such + * as the currently focused date/instance. + */ + MCalenContext& Context(); + + /** + * Request activation of a specific view + * @param aViewId The view to be activated + */ + void RequestActivationL( const TVwsViewId& aViewId ); + + /** + * Notify Calendar that a specific view has been activated. + * Custom views must call this on activation + * @param aViewId The view that was activated + */ + void ActivationNotificationL( const TVwsViewId& aViewId ); + + /** + * Offers the menu pane for population, interested parties can + * add or remove menu items + * @param aMenuPane meu pane to be populated + * @param aResourceId resource id of menu pane + */ + void OfferMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + + /** + * Gets the command range that has been allocated to this MCalenServices + * instance + * + * @param aCommandRangeStart start of command range + * @param aCommandRangeEnd end of command range + */ + void GetCommandRange( TInt& aCommandRangeStart, TInt& aCommandRangeEnd ) const; + + /** + * Offers a TRect to customisations for the creation of + * a control to be displayed in the infobar + * @return info bar control + */ + virtual CCoeControl* Infobar( const TRect& aRect ); + + /** + * Offers a TRect to customisations for the creation of + * a control to be displayed in the infobar + * @return info bar control + */ + virtual const TDesC& Infobar( ); + + /* + * Offers a TRect to available customisations for the creation of a + * control to be displayed in the preview pane + * @param aRect rect area of preview pane display + * @return MCalenPreview* pointer to MCalenPreview + * + */ + MCalenPreview* CustomPreviewPaneL( TRect& aRect ); + + /** + * Offers a TRect to available customisations for the creation of a + * control to be displayed in the preview pane + * @return preview pane control + */ + virtual CCoeControl* PreviewPane( TRect& aRect ); + + /** + * Get a pointer to the Calendar toolbar, or NULL if none is available. + * Ownership is not transferred. + * @return Calendar toolbar if available + */ + virtual MCalenToolbar* ToolbarOrNull(); + + /** + * Get Missed alarm store + * @return reference to Missed alarm store + */ + virtual CMissedAlarmStore* MissedAlarmStore(); + + /** + * Get Missed alarms list + */ + virtual void GetMissedAlarmsList(RArray& aMissedAlarmList); + + /** + * Get attachment model + * @return CCalenAttachmentModel* + */ + CCalenAttachmentModel* GetAttachmentData(); + + + /** + * @brief Get all available calendar info + * + * @param returns the list of available calendar info iterating + * through all calendars + */ + void GetAllCalendarInfoL( RPointerArray& aCalendarInfoList ); + + /** + * @brief Gets calendar filename from collection id + * + * @param aColId Collection id for which db id has to be returned + * @param aCalendarFileName calendar file name + */ + const TDesC& GetCalFileNameForCollectionId(const TCalCollectionId aCollectionId); + + private: + CCalenGlobalData& iGlobalData; + + MCalenNotificationHandler* iHandler; + }; + +#endif // CALENDUMMYSERVICES_H + +// End of file