connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/connectionerrordiscreetpopupnotif.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/connectionerrordiscreetpopupnotif.cpp Thu Dec 17 08:55:21 2009 +0200
@@ -0,0 +1,128 @@
+/*
+ * 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 CConnectionErrorDiscreetPopupNotif.
+ *
+ */
+
+// INCLUDE FILES
+#include "connectionerrordiscreetpopupnotif.h"
+#include "connectionerrordiscreetpopup.h"
+#include "ConnUiUtilsNotif.h"
+#include "ConnectionDialogsUidDefs.h"
+#include "ConnectionUiUtilitiesCommon.h"
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CConnectionErrorDiscreetPopupNotif::TNotifierInfo
+// CConnectionErrorDiscreetPopupNotif::RegisterL()
+// ---------------------------------------------------------
+//
+CConnectionErrorDiscreetPopupNotif::TNotifierInfo
+ CConnectionErrorDiscreetPopupNotif::RegisterL()
+ {
+ iInfo.iUid = KUidConnectionErrorDiscreetPopup;
+ iInfo.iPriority = ENotifierPriorityVHigh;
+ iInfo.iChannel = KUidConnectionErrorDiscreetPopup;
+
+ return iInfo;
+ }
+
+// ---------------------------------------------------------
+// void CConnectionErrorDiscreetPopupNotif::StartL()
+// ---------------------------------------------------------
+//
+void CConnectionErrorDiscreetPopupNotif::StartL( const TDesC8& aBuffer,
+ TInt aReplySlot, const RMessagePtr2& aMessage )
+ {
+ if ( iActiveNote )
+ {
+ // Note is already active
+ aMessage.Complete( KErrNone );
+ return;
+ }
+ iReplySlot = aReplySlot;
+ iMessage = aMessage;
+ iCancelled = EFalse;
+
+ iActiveNote = CConnectionErrorDiscreetPopup::NewL( this );
+
+ TPckgBuf<TUint32> data;
+ data.Copy( aBuffer );
+
+ iActiveNote->StartL( data() );
+ iCancelled = EFalse;
+ }
+
+// ---------------------------------------------------------
+// void CConnectionErrorDiscreetPopupNotif::CompleteL( TInt aStatus )
+// ---------------------------------------------------------
+//
+void CConnectionErrorDiscreetPopupNotif::CompleteL( TInt aStatus )
+ {
+ iCancelled = ETrue;
+ if ( !iMessage.IsNull() )
+ {
+ iMessage.Complete( aStatus );
+ }
+ }
+
+// ---------------------------------------------------------
+// CConnectionErrorDiscreetPopupNotif*
+// CConnectionErrorDiscreetPopupNotif::NewL()
+// ---------------------------------------------------------
+//
+CConnectionErrorDiscreetPopupNotif* CConnectionErrorDiscreetPopupNotif::NewL(
+ const TBool aResourceFileResponsible )
+ {
+ CConnectionErrorDiscreetPopupNotif* self =
+ new (ELeave) CConnectionErrorDiscreetPopupNotif();
+ CleanupStack::PushL( self );
+ self->ConstructL( KResourceFileName, aResourceFileResponsible );
+ CleanupStack::Pop( self );
+
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CConnectionErrorDiscreetPopupNotif::CConnectionErrorDiscreetPopupNotif()
+// ---------------------------------------------------------
+//
+CConnectionErrorDiscreetPopupNotif::CConnectionErrorDiscreetPopupNotif() :
+ CConnectionDialogsNotifBase(), iActiveNote( NULL )
+ {
+ }
+
+// ---------------------------------------------------------
+// void CConnectionErrorDiscreetPopupNotif::Cancel()
+// ---------------------------------------------------------
+//
+void CConnectionErrorDiscreetPopupNotif::Cancel()
+ {
+ if ( !iCancelled )
+ {
+ iCancelled = ETrue;
+ if ( !iMessage.IsNull() )
+ {
+ iMessage.Complete( KErrCancel );
+ }
+ }
+ if ( iActiveNote )
+ {
+ delete iActiveNote;
+ iActiveNote = NULL;
+ }
+ }
+
+// End of File