--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/IMPSConnectionUI/UISrc/CCnUiQueryContainer.h Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,154 @@
+/*
+* Copyright (c) 2004 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: Query container implementation.
+*
+*/
+
+#ifndef __CCNUIQUERYCONTAINER_H
+#define __CCNUIQUERYCONTAINER_H
+
+// INCLUDES
+#include <E32Base.h>
+#include <AknQueryDialog.h>
+#include "MCnUiUiFacade.h"
+
+// FORWARD DECLARATIONS
+class MCnUiConnQueryObserver;
+
+
+/**
+ * Supported query types.
+ *
+ * @since 2.1
+ */
+enum TNonBlockingQueryType
+ {
+ ENBConfirmationQuery = 1,
+ ENBConfirmedErrorNote
+ };
+
+
+// CLASS DECLARATION
+/**
+ * Query container implementation.
+ *
+ * @since 2.1
+ */
+NONSHARABLE_CLASS( CCnUiQueryContainer ) : public CBase,
+ public MCnUiConnQuery
+ {
+ /**
+ * Helper derivation from CAknDialog.
+ * Offers non waiting dialog features.
+ * Reports events to observer and self pointer
+ * NULLing. (Self pointer NULLing needed to ease
+ * MCnUiConnQuery client usage.)
+ *
+ * @since 2.1
+ */
+ NONSHARABLE_CLASS( CCnUiNonWaitingQueryDialog ) : public CAknQueryDialog
+ {
+public: // Two-phased constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ *
+ * @since 2.1
+ * @param aType The query type.
+ * @param aLabelText The label text to show in UI.
+ * @param aObserver The observer to notify from dialog selections.
+ * @param aSelfPtr Self pointer. Nulled when dialog is destroyed.
+ */
+ static CCnUiNonWaitingQueryDialog* NewL( TNonBlockingQueryType aType,
+ const TDesC& aLabelText,
+ MCnUiConnQueryObserver& aObserver,
+ CCnUiNonWaitingQueryDialog** aSelfPtr );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CCnUiNonWaitingQueryDialog();
+
+private:
+ /**
+ * C++ constructor.
+ */
+ CCnUiNonWaitingQueryDialog( MCnUiConnQueryObserver& aObserver,
+ CCnUiNonWaitingQueryDialog** aSelfPtr );
+
+ /**
+ * Symbian OS constructor.
+ */
+ void LaunchQueryLD( TNonBlockingQueryType aType, const TDesC& aLabelText );
+
+
+private: //From CEikDialog.
+
+ /**
+ * From CEikDialog.
+ * Overridden to report the selection to observer.
+ * @since 2.1
+ */
+ TBool OkToExitL( TInt aButtonId );
+
+
+private: // data
+
+ ///<The observer, not owned.
+ MCnUiConnQueryObserver& iObserver;
+
+ ///< Self pointer reference.
+ ///< Used to NULL self pointer in deletion. Not owned.
+ CCnUiNonWaitingQueryDialog** iSelfPtr;
+ };
+
+
+
+public: // Two-phased constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ *
+ * @since 2.1
+ * @param aType query type
+ * @param aLabelText The label text to show in UI.
+ * @param aObserver The observer to notify.
+ */
+ static CCnUiQueryContainer* NewL( TNonBlockingQueryType aType,
+ const TDesC& aLabelText,
+ MCnUiConnQueryObserver& aObserver );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CCnUiQueryContainer();
+
+private:
+
+ /**
+ * C++ constructor.
+ */
+ CCnUiQueryContainer();
+
+
+private: // data
+
+ ///<Used query dialog. Owned.
+ CCnUiNonWaitingQueryDialog* iDlg;
+ };
+
+#endif // __CCNUIQUERYCONTAINER_H
+
+// End of File
+