diff -r c32dc0be5eb4 -r 6b4fc789785b remotestoragefw/rsfwnotifierplugins/inc/rsfwnotplugindlg.h --- a/remotestoragefw/rsfwnotifierplugins/inc/rsfwnotplugindlg.h Mon Jan 18 21:00:57 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,263 +0,0 @@ -/* -* Copyright (c) 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: RSFW notifier server plugin -* -*/ - -#ifndef C_RSFWNOTPLUGIN_H -#define C_RSFWNOTPLUGIN_H - -#include -#include -#include // MEikSrvNotifierBase -#include -#include "rsfwauthenticationdlgrequest.h" -#include "rsfwsavetodlgrequest.h" -#include "rsfwnotpluginrequest.h" - -class CAknDialog; - - -IMPORT_C CArrayPtr* NotifierArray(); - -/** - * Remote Storage FW plugin to the notifier server. - * - * This plugin implements the custom global dialogs needed by - * Remote Storage Framework. - * - * @lib rsfwnotplugin.dll - * @since S60 v3.2 - */ -class CRsfwNotPluginDlg : public CActive, - public MEikSrvNotifierBase2, - public MAknMemorySelectionObserver, - public MProgressDialogCallback - { -public: - - static CRsfwNotPluginDlg* NewL(); - - ~CRsfwNotPluginDlg(); - - // for base class CActive - - /** - * From CActive - * Handles an active object's request completion event. - * - * @since S60 v3.2 - */ - void RunL(); - - /** - * From CActive - * Handles a leave occurring in the request completion event handler RunL(). - * - * @since S60 v3.2 - */ - TInt RunError(TInt aError); - - /** - * From CActive - * Implements cancellation of an outstanding request. - * - * @since S60 v3.2 - */ - void DoCancel(); - - // from base class MEikSrvNotifierBase2 - - /** - * From .MEikSrvNotifierBase2 - * Called when all resources allocated by notifiers should be freed. - * - * @since S60 v3.2 - * - */ - virtual void Release(); - - - /** - * From MEikSrvNotifierBase2 - * Called when a notifier is first loaded to allow any initial construction that is required. - * - * @since S60 v3.2 - * - */ - virtual MEikSrvNotifierBase2::TNotifierInfo RegisterL(); - - - /** - * From MEikSrvNotifierBase2 - * Return the priority a notifier takes and the channels it acts on. The return value may be varied - * at run-time. - * - * @since S60 v3.2 - */ - virtual MEikSrvNotifierBase2::TNotifierInfo Info() const; - - - /** - * From MEikSrvNotifierBase2 - * Start the notifier with data aBuffer and return an initial response. - * - * @since S60 v3.2 - * @param aBuffer Data that can be passed from the client-side. The format and - * meaning of any data is implementation dependent. - */ - virtual TPtrC8 StartL(const TDesC8& aBuffer); - - - /** - * From MEikSrvNotifierBase2 - * Start the notifier with data aBuffer. aMessage should be completed when the notifier is deactivated. - * May be called multiple times if more than one client starts the notifier. The notifier is immediately - * responsible for completing aMessage. - * - * @since S60 v3.2 - * @param aBuffer Data that can be passed from the client-side. The format and - * meaning of any data is implementation dependent. - * @param aReplySlot Identifies which message argument to use for the reply. - * This message argument will refer to a modifiable descriptor, a TDes8 type, - * into which data can be returned. The format and meaning of any returned data - * is implementation dependent. - @param aMessage Encapsulates a client request - */ - virtual void StartL(const TDesC8& aBuffer, TInt aReplySlot, const RMessagePtr2& aMessage); - - - /** - * From MEikSrvNotifierBase2 - * The notifier has been deactivated so resources can be freed and outstanding messages completed. - * - * @since S60 v3.2 - */ - virtual void Cancel(); - - - /** - * From MEikSrvNotifierBase2 - * Update a currently active notifier with data aBuffer. - * - * @since S60 v3.2 - * @param aBuffer Data that can be passed from the client-side. The format and - * meaning of any data is implementation dependent. - * @return A pointer descriptor representing data that may be returned. The format - * and meaning of any data is implementation dependent. - */ - virtual TPtrC8 UpdateL(const TDesC8& aBuffer); - - // from base class MAknMemorySelectionObserver - - /** - * From MAknMemorySelectionObserver - * Logic to decide whether the inputs given in the dialog are ok - * - * @since S60 v3.2 - * @param aMemory the selected memory - */ - TBool OkToExitL( CAknMemorySelectionDialog::TMemory aMemory ); - - // from base class MProgressDialogCallback - - /** - * From MProgressDialogCallback - * Callback we receive when a non-modal wait dialog is dismissed - * - * @since S60 v3.2 - * @param aButtonId the button user pressed - */ - void DialogDismissedL( TInt aButtonId ); - - private: - - /** - * C++ default constructor. - */ - CRsfwNotPluginDlg(); - - /** - * By default Symbian 2nd phase constructor is private. - */ - void ConstructL(); - - // New functions - - // Helpers - void HandleAsyncRequestL(); - - // show dialogs - TInt ShowAuthenticationDialogL(); - TBool ShowUnavailableRetryNoteL(); - TBool ShowSaveToDlgL(); - void ShowWaitNoteL(); - - /** - * Returns the type of given item index in CFileManagerItemProperties bitmask - * @param aFullPath Full path to item which type is needed.. - * @return CFileManagerItemProperties bitmask - */ - TUint32 FileTypeL( const TDesC& aFullPath ) const; - - void Cleanup(); - - TBool GetValidNameL(TDesC& aPath, TDes& aName); - - void ShowDiskFullNoteL( TBool aInternal ); - - void CancelL(); - - /** - * Temporarily disables 'app key', so that user cannot switch or close - * the app when global dialog is being displayed - */ - void BlockAppSwitching(); - void UnblockAppSwitching(); - - private: // Data - TInt iMethod; // See TRsfwNotPluginRequest::TRsfwNotPluginMethod - RMessagePtr2 iMessage; - TInt iReplySlot; - MEikSrvNotifierBase2::TNotifierInfo iInfo; - - // for all dialogs - TBuf iDriveName; - // for authentication dialog - HBufC* iUserName; - HBufC* iPassword; - - // param structs - TRsfwAuthParamsPckg* iAuthRequest; - TRsfwSaveToParamsPckg* iSaveToRequest; - - // Valid during showing a dialog - CAknDialog* iDialog; - CAknWaitDialog* iWaitDialog; - TBool iCancelled; - - // for save as dialog - HBufC* iFileName; - TInt iFileSize; - TBuf iCacheDrive; - CAknMemorySelectionDialog* iMemDialog; - HBufC* iCurrentRootPath; - RFs iFs; - - // - TBool iDialogDismissedCalled; - TBool iAppSwitchingBlocked; // is 'app key' disabled - }; - -#endif \ No newline at end of file