--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmsharing/mmshui/inc/musuiviewcontainer.h Thu Dec 17 08:44:37 2009 +0200
@@ -0,0 +1,147 @@
+/*
+* 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: The MUS application's UI class.
+*
+*/
+
+
+
+#ifndef MUSUIVIEWCONTAINER_H
+#define MUSUIVIEWCONTAINER_H
+
+
+#include <coecntrl.h> // Control base class
+#include <AknProgressDialog.h>
+
+class CAknWaitDialog;
+class CMusUiGeneralView;
+
+/**
+ *
+ *
+ */
+class CMusUiViewContainer : public CCoeControl
+ {
+
+public: // constructors and destructor
+
+ /**
+ * Destructor.
+ */
+ ~CMusUiViewContainer();
+
+public: // new functions
+
+ void CancelWaitTimer();
+
+ /**
+ * Dismisses the current active wait note, if any.
+ */
+ void DismissWaitDialogL( TBool aReturnValue = ETrue );
+
+ /**
+ * Shows sychronous wait dialog with softkey R_AVKON_SOFTKEYS_CANCEL.
+ * @param aPrompt Prompt text shown in dialog
+ * @param aTimerInSeconds Timer in seconds when dialog is dismissed
+ * automatically. Timer value 0 means that no timer is used.
+ * @param aExpirationMessageResourceId Message to be loaded and shown if
+ * timer expires. Value 0 means that no message is shown.
+ * @return ETrue if wait note is dismissed by calling DismissWaitDialogL
+ * with param ETrue. EFalse if user pressed cancel, timer expires
+ * or if DismissWaitDialogL is called with param EFalse.
+ */
+ TBool RunWaitDialogL( const TDesC& aPrompt,
+ TInt aTimerInSeconds = 0,
+ TInt aExpirationMessageResourceId = 0 );
+
+ /**
+ * Set call back service of wait dialog
+ * @param aCallback A pointer of class MProgressDialogCallback
+ * which implemented DialogDismissedL
+ */
+ void SetWaitDialogCallbackL( MProgressDialogCallback* aCallback );
+
+ /**
+ * Checks whether wait dialog is shown currently.
+ * @return ETrue if wait dialog is show.
+ */
+ TBool WaitDialogShown() const;
+
+ /**
+ * Request that toolbar visibility is set once currently shown dialog
+ * is dismissed.
+ * @param aToolbarHandler if NULL is passed, previous request is canceled.
+ * Ownership not transferred.
+ */
+ void RequestToolbarVisibilityOnceDialogDismissed(
+ CMusUiGeneralView* aToolbarHandler );
+
+protected: // constructors
+
+ /**
+ * Meant to be a base class, no instantiation
+ */
+ CMusUiViewContainer();
+
+private: // new static functions
+
+ /**
+ * Tick handler, callback function directly called by periodic timer
+ *
+ * @param aObject Pointer passed to TCallback.
+ * @return Value to indicate if callback function should be called again.
+ */
+ static TInt DoWaitNoteTimeout( TAny* aObject );
+
+
+private: // data
+
+ /** Wait dialog to show the invite is sent. Not own. */
+ CAknWaitDialog* iWaitDialog;
+
+ /** Periodic timer active object. Owns. */
+ CPeriodic* iWaitDialogTimer;
+
+ /**
+ * Indicates if wait note is dismissed using DismissWaitDialogL
+ */
+ TBool iInvitationWaitDialogDismissed;
+
+ /**
+ * If iInvitationWaitDialogDismissed is ETrue, this value should be returned
+ * from RunWaitDialogL
+ */
+ TBool iWaitDialogReturnValueWhenDismissed;
+
+ /**
+ * Resource ID of message to be shown if timer expires
+ */
+ TInt iExpirationMessageResourceId;
+
+ /**
+ * Flag indicating whether wait dialog is currently shown.
+ */
+ TBool iShowingWaitDialog;
+
+ /**
+ * Not owned.
+ */
+ CMusUiGeneralView* iToolbarHandler;
+
+ };
+
+
+#endif // MUSUISENDVIEWCONTAINER_H
+
+// end of file