connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/nowlansdiscreetpopup.cpp
changeset 1 40cb640ef159
child 41 bbb64eb3bdee
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/nowlansdiscreetpopup.cpp	Thu Jan 07 12:56:54 2010 +0200
@@ -0,0 +1,166 @@
+/*
+ * Copyright (c) 2009 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 CNoWlansDiscreetPopup.
+ *
+ */
+
+// INCLUDE FILES
+
+#include <akndiscreetpopup.h>
+#include <aknsconstants.hrh>
+#include <StringLoader.h>
+#include <avkon.hrh>
+#include <connectionuiutilities.mbg>
+#include <ConnUiUtilsNotif.rsg>
+
+#include "nowlansdiscreetpopup.h"
+
+
+// No discreet popup => Uid 0
+const TUid KDiscreetPopupUidNone =
+    {
+    0x0
+    };
+
+// Path of the app's iconfile
+_LIT( KIconFileName, "\\resource\\apps\\connectionuiutilities.mif" );
+// Empty string
+_LIT( KEmpty, "");
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CNoWlansDiscreetPopup::CNoWlansDiscreetPopup
+// ---------------------------------------------------------
+//
+CNoWlansDiscreetPopup::CNoWlansDiscreetPopup(
+    CConnectionDialogsNotifBase* aNotif ) :
+    CActive( EPriorityUserInput ), // Standard priority
+    iNotif( aNotif )
+    {
+    }
+
+// ---------------------------------------------------------
+// CNoWlansDiscreetPopup::NewLC
+// ---------------------------------------------------------
+//
+CNoWlansDiscreetPopup* CNoWlansDiscreetPopup::NewLC(
+    CConnectionDialogsNotifBase* aNotif )
+    {
+    CNoWlansDiscreetPopup* self =
+            new (ELeave) CNoWlansDiscreetPopup( aNotif );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+// ---------------------------------------------------------
+// CNoWlansDiscreetPopup::NewL
+// ---------------------------------------------------------
+//
+CNoWlansDiscreetPopup* CNoWlansDiscreetPopup::NewL(
+    CConnectionDialogsNotifBase* aNotif )
+    {
+    CNoWlansDiscreetPopup* self =
+            CNoWlansDiscreetPopup::NewLC( aNotif );
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+// ---------------------------------------------------------
+// CNoWlansDiscreetPopup::ConstructL
+// ---------------------------------------------------------
+//
+void CNoWlansDiscreetPopup::ConstructL()
+    {
+    CActiveScheduler::Add( this ); // Add to scheduler
+    }
+
+// ---------------------------------------------------------
+// CNoWlansDiscreetPopup::~CNoWlansDiscreetPopup
+// ---------------------------------------------------------
+//
+CNoWlansDiscreetPopup::~CNoWlansDiscreetPopup()
+    {
+    Cancel(); // Cancel any request, if outstanding
+    }
+
+// ---------------------------------------------------------
+// CNoWlansDiscreetPopup::DoCancel
+// ---------------------------------------------------------
+//
+void CNoWlansDiscreetPopup::DoCancel()
+    {
+    }
+
+// ---------------------------------------------------------
+// CNoWlansDiscreetPopup::StartL
+// ---------------------------------------------------------
+//
+void CNoWlansDiscreetPopup::StartL()
+    {
+    Cancel(); // Cancel any request, just to be sure
+
+    SetActive(); // Tell scheduler a request is active
+    iClientStatus = &iStatus;
+    User::RequestComplete( iClientStatus, KErrNone );
+
+    // Complete the note so client can continue its tasks
+    // immediately
+    iNotif->SetCancelledFlag( ETrue );
+    iNotif->CompleteL( KErrNone );
+    }
+
+// ---------------------------------------------------------
+// CNoWlansDiscreetPopup::RunL
+// ---------------------------------------------------------
+//
+void CNoWlansDiscreetPopup::RunL()
+    {
+    if ( iStatus == KErrNone )
+        {
+            
+        // Load strings from resources
+        HBufC* stringText1 = StringLoader::LoadLC( R_OCC_INFO_NO_WLAN_AVAILABLE );
+        HBufC* stringText2 = KEmpty().AllocLC();
+        	
+        CAknDiscreetPopup::ShowGlobalPopupL(
+        	    *stringText1,    // 1st text row
+                *stringText2,    // second text row
+                KAknsIIDDefault, // icon skin id
+                KIconFileName,   // bitmap file path
+                EMbmConnectionuiutilitiesQgn_prop_wlan_bearer,      // bitmap id
+                EMbmConnectionuiutilitiesQgn_prop_wlan_bearer_mask, // mask id
+                KAknDiscreetPopupDurationLong, // flags
+                0,    // command id
+                NULL, // command observer
+                KDiscreetPopupUidNone,  // application to be launched
+                KDiscreetPopupUidNone); // view to be activated
+
+        CleanupStack::PopAndDestroy(2, stringText1);
+        }
+
+    // Cleanup
+    iNotif->Cancel();
+    }
+
+// ---------------------------------------------------------
+// CNoWlansDiscreetPopup::RunError
+// ---------------------------------------------------------
+//
+TInt CNoWlansDiscreetPopup::RunError( TInt aError )
+    {
+    return aError;
+    }
+