--- a/devicemgmtnotifications/dmdevdialogserver/src/dmdevicedialogserver.cpp Tue Aug 31 16:04:06 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,755 +0,0 @@
-/*
- * 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 DM Device Dialogs
- *
- */
-
-#include <hbtextresolversymbian.h>
-#include <centralrepository.h>
-#include <DevManInternalCRKeys.h>
-#include "dmdevicedialogserver.h"
-#include "dmdevdialogclientserver.h"
-#include "dmdevicedialogsession.h"
-//#include <devicedialogconsts.h>
-// ----------------------------------------------------------------------------------------
-// Server startup code
-// ----------------------------------------------------------------------------------------
-static void RunServerL()
- {
- // naming the server thread after the server helps to debug panics
- User::LeaveIfError(User::RenameThread(KDMDEVDIALOGSERVER));
-
- // create and install the active scheduler
- CActiveScheduler* s = new (ELeave) CActiveScheduler;
- CleanupStack::PushL(s);
- CActiveScheduler::Install(s);
-
- // create the server (leave it on the cleanup stack)
- CDmDeviceDialogServer::NewLC();
-
- // Initialisation complete, now signal the client
- RProcess::Rendezvous(KErrNone);
-
- // Ready to run
- CActiveScheduler::Start();
-
- // Cleanup the server and scheduler
- CleanupStack::PopAndDestroy(2);
- }
-
-// ----------------------------------------------------------------------------------------
-// static method ShutDownL() called to submit async n/w request
-// ----------------------------------------------------------------------------------------
-static TInt ShutDownL(TAny* aPtr)
- {
- CDmDeviceDialogServer* ptr = (CDmDeviceDialogServer*) aPtr;
- FLOG(_L("static ShutDownL:-Begin"));
- TRAPD(err, ptr->CloseServer());
- FLOG(_L("closing the server"));
- ptr->CancelServerCloseRequest();
- FLOG(_L("closing the server:-end"));
- return err;
- }
-
-// ----------------------------------------------------------------------------------------
-// Server process entry-point
-// ----------------------------------------------------------------------------------------
-TInt E32Main()
- {
- __UHEAP_MARK;
- CTrapCleanup* cleanup = CTrapCleanup::New();
- TInt r = KErrNoMemory;
- if (cleanup)
- {
- TRAP(r,RunServerL());
- delete cleanup;
- }
- __UHEAP_MARKEND;
- return r;
- }
-
-// ----------------------------------------------------------------------------------------
-// CDmDeviceDialogServer::NewLC
-// ----------------------------------------------------------------------------------------
-CServer2* CDmDeviceDialogServer::NewLC()
- {
- CDmDeviceDialogServer* self = new (ELeave) CDmDeviceDialogServer;
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-// ----------------------------------------------------------------------------------------
-// CDmDeviceDialogServer::ConstructL
-// ----------------------------------------------------------------------------------------
-void CDmDeviceDialogServer::ConstructL()
- {
- FLOG(_L("CDmDeviceDialogServer::ConstructL- begin"));
- StartL( KDMDEVDIALOGSERVER);
- iSyncMLSession.OpenL();
- FLOG(_L("CDmDeviceDialogServer::ConstructL- end"));
- }
-
-// ----------------------------------------------------------------------------------------
-// CDmDeviceDialogServer::CDmDeviceDialogServer()
-// ----------------------------------------------------------------------------------------
-CDmDeviceDialogServer::CDmDeviceDialogServer() :
- CServer2(EPriorityStandard, EUnsharableSessions)
- {
- iSessionCount = 0;
- iServerCloseRequest = NULL;
- iProfileId = EFalse;
- iJobId = EFalse;
- iStopServer = EFalse;
- iResponse = -1;
- iPkgZeroConnectionNoteShown = EFalse;
- iDmIndicator = NULL;
- iDevDialog = NULL;
- iAnyDialogDisplaying = EFalse;
- iIndicatorLaunched = EFalse;
- iPkgZeroQueryNoteDisplaying = EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CDmDeviceDialogServer::CloseServer()
-// -----------------------------------------------------------------------------
-void CDmDeviceDialogServer::CloseServer()
- {
- iSessionCount = 0;
- //Kill the server
- CActiveScheduler::Stop();
- }
-
-// -----------------------------------------------------------------------------
-// CDmDeviceDialogServer::DataReceived()
-// -----------------------------------------------------------------------------
-void CDmDeviceDialogServer::DataReceived(CHbSymbianVariantMap& aData)
- {
- FLOG(_L("CDmDeviceDialogServer::DataReceived>>"));
- TRAP_IGNORE(DevDialogResponseL(aData));
- FLOG(_L("CDmDeviceDialogServer::DataReceived<<"));
- }
-
-// -----------------------------------------------------------------------------
-// CDmDeviceDialogServer::DevDialogResponseL()
-// -----------------------------------------------------------------------------
-void CDmDeviceDialogServer::DevDialogResponseL(CHbSymbianVariantMap& aData)
- {
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseL>>"));
- _LIT(KNotifierReturnType, "notifiertype");
- _LIT(KKeyPress, "keypress");
- const CHbSymbianVariant* notifiertypevariant = aData.Get(KNotifierReturnType);
- TInt *notifiertype = notifiertypevariant->Value<TInt> ();
- const CHbSymbianVariant* returnkeyvariant = aData.Get(KKeyPress);
- TInt *returnvalue = returnkeyvariant->Value<TInt> ();
- iResponse = *returnvalue;
- iDevDialog->Cancel();
- iAnyDialogDisplaying = EFalse;
- if (EPkgZeroNote == *notifiertype )//Server alert note
- {
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseL EPkgZeroNote \
- response from user is %d"),iResponse);
- if (iResponse == 0)
- {
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseL OK pressed"));
- CHbSymbianVariantMap* varMap = CHbSymbianVariantMap::NewL();
- CleanupStack::PushL(varMap);
- TInt id = KConnectNotifierId;
- HBufC* notifierid = HBufC::NewL(10);
- CleanupStack::PushL(notifierid);
- *notifierid = KNotifierType;
- CHbSymbianVariant* notifieridvar = CHbSymbianVariant::NewL(&id,
- CHbSymbianVariant::EInt);
- varMap->Add(*notifierid, notifieridvar);
- TInt err = iDevDialog->Show(KDeviceDialogType, *varMap, this);
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseLconnect note \
- launch error is %d"), err);
- iAnyDialogDisplaying = ETrue;
- iPkgZeroConnectionNoteShown = ETrue;
- GetDMJobStatusL();
- TPckgBuf<TInt> response(KDmDevDialogUid);
- iMessage.WriteL(iReplySlot,response);
- iMessage.Complete(KErrNone);
- iSessionCount--;
- CleanupStack::PopAndDestroy(2);
- //GetDMJobStatusL();
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseL DM Job \
- started"));
- }
- else
- {
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseL user pressed \
- cancel"));
- iMessage.Complete(KErrCancel);
- iSessionCount--;
- StopServer();
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseL stop \
- server called"));
- }
- iPkgZeroQueryNoteDisplaying = EFalse;
- }
- else if (EInformativeAlertNote == *notifiertype )// Iformative alert
- {
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseL informative alert"));
- iMessage.Complete(KErrNone);
- iSessionCount--;
- if (!iJobongoing)
- StopServer();
- else
- ShowConnectDialogAgainL();
- }
- else if (EConfirmationAlertNote == *notifiertype)// conformative alert
- {
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseL conformative alert"));
- iMessage.Complete(iResponse);
- iSessionCount--;
- if (!iJobongoing)
- StopServer();
- else
- ShowConnectDialogAgainL();
- }
- else //connecting note
- {
- iPkgZeroConnectionNoteShown = EFalse;
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseL connecting note"));
- if (iResponse == KErrCancel)
- {
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseL user cancelled \
- connection"));
- if (iJobongoing)
- {
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseL job stop \
- requested"));
- iSyncJob.StopL();
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseL job stop\
- done"));
- }
- DismissDialog();
- StopServer();
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseL connecting note \
- stopserver called"));
- }
- else // Launch indicator
- {
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseL Launch \
- Indicator"));
- //Send the text id
- _LIT(KFileName, "deviceupdates_");
- _LIT(KPath, "z:/resource/qt/translations/");
- TBool result = HbTextResolverSymbian::Init(KFileName, KPath);
- if(result)
- {
- if(iDmIndicator == NULL)
- iDmIndicator = CHbIndicatorSymbian::NewL();
- _LIT(KIndicatorTest,
- "txt_deviceupdate_dblist_device_updates_val_connect_fota");
- // returns the string "Text test"
- HBufC* text = HbTextResolverSymbian::LoadL(KIndicatorTest);
- CleanupStack::PushL(text);
- TPtr textptr = text->Des();
- CHbSymbianVariant* IndicatorText = CHbSymbianVariant::NewL(
- &textptr, CHbSymbianVariant::EDes);
- CleanupStack::PushL(IndicatorText);
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseL Indicator activated"));
- iDmIndicator->SetObserver(this);
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseL indicator Observer set"));
- iDmIndicator->Activate(KDMProgressIndicatorType,IndicatorText);
-
- iIndicatorLaunched = ETrue;
- CleanupStack::PopAndDestroy(2);
- }
- }
- }
- FLOG(_L("CDmDeviceDialogServer::DevDialogResponseL End"));
- }
-
-// -----------------------------------------------------------------------------
-// CDmDeviceDialogServer::DeviceDialogClosed()
-// -----------------------------------------------------------------------------
-void CDmDeviceDialogServer::DeviceDialogClosed(TInt /*aError*/)
- {
- FLOG(_L("CDmDeviceDialogServer::DeviceDialogClosed "));
- }
-
-// ----------------------------------------------------------------------------------------
-// CDmDeviceDialogServer::~CDmDeviceDialogServer()
-// ----------------------------------------------------------------------------------------
-CDmDeviceDialogServer::~CDmDeviceDialogServer()
- {
- FLOG(_L("CDmDeviceDialogServer::~CDmDeviceDialogServer()"));
- if (iServerCloseRequest)
- {
- FLOG(_L("CDmDeviceDialogServer::~CDmDeviceDialogServer() \
- iServerCloseRequest cancel)"));
- iServerCloseRequest->Cancel();
- delete iServerCloseRequest;
- iServerCloseRequest = NULL;
- }
- if (iDevDialog)
- {
- FLOG(_L("CDmDeviceDialogServer::~CDmDeviceDialogServer():if loop)"));
- iDevDialog->Cancel();
- delete iDevDialog;
- }
- if (iDmIndicator)
- {
- iDmIndicator->Deactivate(KDMProgressIndicatorType);
- delete iDmIndicator;
- }
- FLOG(_L("CDmDeviceDialogServer::~CDmDeviceDialogServer()job to close"));
- if(iJobongoing)
- iSyncJob.Close();
- iSyncMLSession.Close();
- FLOG(_L("CDmDeviceDialogServer::~CDmDeviceDialogServer() end"));
- }
-
-// ----------------------------------------------------------------------------------------
-// CDmDeviceDialogServer::NewSessionL()
-// ----------------------------------------------------------------------------------------
-CSession2* CDmDeviceDialogServer::NewSessionL(const TVersion&,
- const RMessage2&) const
- {
- return new (ELeave) CDmDeviceDialogSession();
- }
-
-// ----------------------------------------------------------------------------
-// CDmDeviceDialogServer::PeriodicServerCloseL()
-// ----------------------------------------------------------------------------
-void CDmDeviceDialogServer::PeriodicServerCloseL()
- {
- if (iServerCloseRequest)
- {
- FLOG(_L("CDmDeviceDialogServer::PeriodicServerCloseL() \
- :-iServerCloseRequest cancel "));
- iServerCloseRequest->Cancel();
- delete iServerCloseRequest;
- iServerCloseRequest = NULL;
- }
- iServerCloseRequest = CPeriodic::NewL(EPriorityNormal);
- iServerCloseRequest->Start(TTimeIntervalMicroSeconds32(
- KRequestTriggerWaitTime * 5), TTimeIntervalMicroSeconds32(
- KRequestTriggerWaitTime * 5), TCallBack(ShutDownL, this));
- FLOG(_L("CDmDeviceDialogServer::PeriodicServerCloseL():-Request logged)"));
- }
-
-// -----------------------------------------------------------------------------
-// CDmDeviceDialogServer::LaunchPkgZeroNoteL()
-// -----------------------------------------------------------------------------
-void CDmDeviceDialogServer::LaunchPkgZeroNoteL(TInt &aProfileId,
- TInt &aJobId, const TInt &aReplySlot, TInt &aUimode,
- const RMessage2& aMessage)
- {
- FLOG(_L("CDmDeviceDialogSession::LaunchPkgZeroNoteL \
- called:"));
- iProfileId = aProfileId;
- iReplySlot = aReplySlot;
- iJobId = aJobId;
- iUimode = aUimode;
- iMessage = aMessage;
- CHbSymbianVariantMap* varMap = CHbSymbianVariantMap::NewL();
- CleanupStack::PushL(varMap);
-
- HBufC* notifierid = HBufC::NewL(10);
- CleanupStack::PushL(notifierid);
- *notifierid = KNotifierType;
-
- HBufC* profileid = HBufC::NewL(10);
- CleanupStack::PushL(profileid);
- *profileid = KProfileId;
-
- HBufC* uimode = HBufC::NewL(10);
- CleanupStack::PushL(uimode);
- *uimode = KUImode;
-
- HBufC* serverdisplay = HBufC::NewL(20);
- CleanupStack::PushL(serverdisplay);
- *serverdisplay = KServerdisplayname;
-
- HBufC* defaultprofile = HBufC::NewL(20);
- CleanupStack::PushL(defaultprofile);
- *defaultprofile = KFotaDefaultProfile;
-
- HBufC* timeout = HBufC::NewL(20);
- CleanupStack::PushL(timeout);
- *timeout = KPkgZeroTimeout;
-
- TInt profileId( KErrNotFound );
- TBool Isdefault = EFalse;
- CRepository* centrep = NULL;
- TRAPD( err, centrep = CRepository::NewL( KCRUidNSmlDMSyncApp ) );
- if (err == KErrNone)
- {
- centrep->Get(KNSmlDMDefaultFotaProfileKey, profileId);
- delete centrep;
- centrep = NULL;
- if (aProfileId == profileId)
- Isdefault = ETrue;
- }
- TRAP( err, centrep = CRepository::NewL( KCRUidDeviceManagementInternalKeys) );
- TInt Timeout(KErrNone);
- if (err == KErrNone)
- {
- centrep->Get(KDevManServerAlertTimeout, Timeout);
- //Timeout has minutes, convert to milli second
- Timeout = Timeout * 60 * 1000;
- delete centrep;
- centrep = NULL;
- }
-
- TInt id = KDefaultNotifierId;
- CHbSymbianVariant* notifieridvar = CHbSymbianVariant::NewL(&id,
- CHbSymbianVariant::EInt);
- CleanupStack::PushL(notifieridvar);
- CHbSymbianVariant* infoprofileid = CHbSymbianVariant::NewL(&iProfileId,
- CHbSymbianVariant::EInt);
- CleanupStack::PushL(infoprofileid);
- CHbSymbianVariant* infouimode = CHbSymbianVariant::NewL(&iUimode,
- CHbSymbianVariant::EInt);
- CleanupStack::PushL(infouimode);
- RSyncMLDevManProfile DmProfile;
- DmProfile.OpenL( iSyncMLSession, iProfileId, ESmlOpenRead );
- TBuf<256> servername= DmProfile.DisplayName();
- DmProfile.Close();
- CHbSymbianVariant* serverdisplayname = CHbSymbianVariant::NewL(
- &servername, CHbSymbianVariant::EDes);
- CleanupStack::PushL(serverdisplayname);
- CHbSymbianVariant* defaultprofilevalue = CHbSymbianVariant::NewL(
- &Isdefault, CHbSymbianVariant::EBool);
- CleanupStack::PushL(defaultprofilevalue);
-
- CHbSymbianVariant* pkgzerotimeout = CHbSymbianVariant::NewL(
- &Timeout, CHbSymbianVariant::EInt);
- CleanupStack::PushL(pkgzerotimeout);
-
- varMap->Add(*notifierid, notifieridvar);
- varMap->Add(*profileid, infoprofileid);
- varMap->Add(*uimode, infouimode);
- varMap->Add(*serverdisplay, serverdisplayname);
- varMap->Add(*defaultprofile, defaultprofilevalue);
- varMap->Add(*timeout, pkgzerotimeout);
- CleanupStack::Pop(6);
- if (iDevDialog == NULL)
- iDevDialog = CHbDeviceDialogSymbian::NewL();
- else if (iAnyDialogDisplaying)
- {
- iDevDialog->Cancel();
- iAnyDialogDisplaying = EFalse;
- }
- else
- {
- }
- err =
- iDevDialog->Show(KDeviceDialogType, *varMap, this);
- iPkgZeroQueryNoteDisplaying = ETrue;
- FLOG(_L("CDmDeviceDialogSession::LaunchPkgZeroNoteL \
- err in devdialog is %d"), err);
- iAnyDialogDisplaying = ETrue;
- CleanupStack::PopAndDestroy(7);
- FLOG(_L("CDmDeviceDialogSession::LaunchPkgZeroNoteL \
- end:"));
- }
-
-// -----------------------------------------------------------------------------
-// CDmDeviceDialogServer::StopServer()
-// -----------------------------------------------------------------------------
-void CDmDeviceDialogServer::StopServer()
- {
- FLOG(_L("CDmDeviceDialogServer::StopServer Begin"));
- if(!iStopServer && !iJobongoing)
- {
- iPkgZeroConnectionNoteShown = EFalse;
- iStopServer = ETrue;
- FLOG(_L("CDmDeviceDialogServer::StopServer Requested to shut down"));
- TRAP_IGNORE(PeriodicServerCloseL());
- }
- FLOG(_L("CDmDeviceDialogServer::StopServer Done"));
- }
-
-// -----------------------------------------------------------------------------
-// CDmDeviceDialogServer::OnSyncMLSessionEvent()
-// -----------------------------------------------------------------------------
-void CDmDeviceDialogServer::OnSyncMLSessionEvent(TEvent aEvent,
- TInt aIdentifier, TInt aError, TInt /*aAdditionalData*/)
- {
- FLOG(_L("[OMADM]\tDmDeviceDialogServer::OnSyncMLSessionEvent(),\
- aEvent = %d, aIdentifier = %d, aError = %d"),
- aEvent, aIdentifier, aError);
- if (iSyncJobId == aIdentifier && (aEvent == EJobStop || aEvent
- == EJobStartFailed || aEvent == EJobRejected))
- {
- FLOG(_L("[OMADM]\tDmDeviceDialogServer::OnSyncMLSessionEvent(), \
- ajob stoping" ));
- iSyncJob.Close();
- iJobongoing = false;
- //Stop the dialog
- DismissDialog();
- StopServer();
- }
- FLOG(_L( "[OMADM]\tDmDeviceDialogServer::OnSyncMLSessionEvent()end" ));
- }
-
-// -----------------------------------------------------------------------------
-// CDmDeviceDialogServer::DismissDialog()
-// -----------------------------------------------------------------------------
-void CDmDeviceDialogServer::DismissDialog()
- {
- FLOG(_L("CDmDeviceDialogServer::dismissDialog "));
-
- if (iDevDialog && iPkgZeroConnectionNoteShown && !iIndicatorLaunched)
- {
- FLOG(_L("CDmDeviceDialogServer::dismissDialog 3"));
- iDevDialog->Cancel();
- iAnyDialogDisplaying = EFalse;
- iPkgZeroConnectionNoteShown = EFalse;
- }
- if (iIndicatorLaunched)
- {
- FLOG(
- _L("CDmDeviceDialogServer::dismissDialog deactivating indicator"));
- iDmIndicator->Deactivate(KDMProgressIndicatorType);
- FLOG(
- _L("CDmDeviceDialogServer::dismissDialog deactivating indicator done"));
- iIndicatorLaunched = false;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CDmDeviceDialogServer::GetDMJobStatusL()
-// -----------------------------------------------------------------------------
-void CDmDeviceDialogServer::GetDMJobStatusL()
- {
- FLOG(_L("CDmDeviceDialogServer::GetDMJobStatusL "));
- iSyncJob.OpenL(iSyncMLSession, iJobId);
- FLOG(_L("CDmDeviceDialogServer::GetDMJobStatusL Job started "));
- iJobongoing = true;
- iSyncJobId = iSyncJob.Identifier();
- TInt err = KErrNone;
- // for MSyncMLEventObserver events
- TRAP( err, iSyncMLSession.RequestEventL(*this) );
- FLOG(_L("CDmDeviceDialogServer::GetDMJobStatusL error %d"), err);
- if (err != KErrNone)
- {
- iSyncJob.StopL();
- iSyncJob.Close();
- FLOG(_L("CDmDeviceDialogServer::GetDMJobStatusL leaving"));
- User::Leave(err);
- }
- FLOG(_L("CDmDeviceDialogServer::GetDMJobStatusL end "));
- }
-
-// -----------------------------------------------------------------------------
-// CDmDeviceDialogServer::IsConenctDialogDisplaying()
-// -----------------------------------------------------------------------------
-TBool CDmDeviceDialogServer::IsConenctDialogDisplaying()
- {
- return iPkgZeroConnectionNoteShown;
- }
-
-// -----------------------------------------------------------------------------
-// CDmDeviceDialogServer::ShowConnectDialogAgainL()
-// -----------------------------------------------------------------------------
-void CDmDeviceDialogServer::ShowConnectDialogAgainL()
- {
- if (iJobongoing && !iIndicatorLaunched && !iPkgZeroConnectionNoteShown)
- {
- FLOG(_L("CDmDeviceDialogServer::ShowConnectDialogAgain 1"));
- CHbSymbianVariantMap* varMap = CHbSymbianVariantMap::NewL();
- CleanupStack::PushL(varMap);
- TInt id = KConnectNotifierId;
- HBufC* notifierid = HBufC::NewL(10);
- CleanupStack::PushL(notifierid);
- FLOG(_L("CDmDeviceDialogServer::ShowConnectDialogAgain 2"));
- *notifierid = KNotifierType;
- CHbSymbianVariant* notifieridvar = CHbSymbianVariant::NewL(&id,
- CHbSymbianVariant::EInt);
- FLOG(_L("CDmDeviceDialogServer::ShowConnectDialogAgain 3"));
- varMap->Add(*notifierid, notifieridvar);
- FLOG(_L("CDmDeviceDialogServer::ShowConnectDialogAgain 4"));
- if (iDevDialog == NULL)
- {
- iDevDialog = CHbDeviceDialogSymbian::NewL();
- FLOG(_L("CDmDeviceDialogServer::ShowConnectDialogAgain 5"));
- }
- else if (iAnyDialogDisplaying)
- iDevDialog->Cancel();
- else
- {
- }
- iDevDialog->Show(KDeviceDialogType, *varMap, this);
- iAnyDialogDisplaying = ETrue;
- FLOG(_L("CDmDeviceDialogServer::ShowConnectDialogAgain 6"));
- iPkgZeroConnectionNoteShown = ETrue;
- CleanupStack::PopAndDestroy(2);
- }
- }
-
-// -----------------------------------------------------------------------------
-// CDmDeviceDialogServer::ShowDisplayalertL()
-// -----------------------------------------------------------------------------
-void CDmDeviceDialogServer::ShowDisplayalertL(const TDesC& aAlertText,
- const RMessage2& aMessage)
- {
- FLOG(_L("CDmDeviceDialogServer::ShowDisplayalert "));
- iMessage = aMessage;
- CHbSymbianVariantMap* varMap = CHbSymbianVariantMap::NewL();
- CleanupStack::PushL(varMap);
- HBufC* keyBuf = HBufC::NewL(25);
- CleanupStack::PushL(keyBuf);
- *keyBuf = KNotifierType;
- HBufC* servalertType = HBufC::NewL(25);
- CleanupStack::PushL(servalertType);
- *servalertType = KServerpushalertInfo;
- TInt id = 0;
- CHbSymbianVariant* notifierid = CHbSymbianVariant::NewL(&id,
- CHbSymbianVariant::EInt);
- varMap->Add(*keyBuf, notifierid);
- CHbSymbianVariant* serveralertmsg = CHbSymbianVariant::NewL(&aAlertText,
- CHbSymbianVariant::EDes);
- varMap->Add(*servalertType, serveralertmsg); // takes ownership
- FLOG(_L("CDmDeviceDialogServer::ShowDisplayalert before newl"));
- if (iDevDialog == NULL)
- iDevDialog = CHbDeviceDialogSymbian::NewL();
- else if (iAnyDialogDisplaying)
- {
- iDevDialog->Cancel();
- }
- else
- {
- }
- FLOG(_L("CDmDeviceDialogServer::ShowDisplayalert before show"));
- iDevDialog->Show(KDeviceDialogType, *varMap, this);
- iAnyDialogDisplaying = ETrue;
- CleanupStack::PopAndDestroy(3);
- }
-
-// -----------------------------------------------------------------------------
-// CDmDeviceDialogServer::ShowConfirmationalertL()
-// -----------------------------------------------------------------------------
-void CDmDeviceDialogServer::ShowConfirmationalertL(const TInt& /*aTimeOut*/,
- const TDesC& /*aHeader*/, const TDesC& aText, const RMessage2& aMessage)
- {
- iMessage = aMessage;
- CHbSymbianVariantMap* varMap = CHbSymbianVariantMap::NewL();
- CleanupStack::PushL(varMap);
- HBufC* keyBuf = HBufC::NewL(25);
- CleanupStack::PushL(keyBuf);
- *keyBuf = KNotifierType;
- HBufC* servalertType = HBufC::NewL(25);
- CleanupStack::PushL(servalertType);
- *servalertType = KServerpushalertConfirm;
- TInt id = 0;
- CHbSymbianVariant* notifierid = CHbSymbianVariant::NewL(&id,
- CHbSymbianVariant::EInt);
- varMap->Add(*keyBuf, notifierid);
- CHbSymbianVariant* serveralertmsg = CHbSymbianVariant::NewL(&aText,
- CHbSymbianVariant::EDes);
- varMap->Add(*servalertType, serveralertmsg); // takes ownership
- if (iDevDialog == NULL)
- iDevDialog = CHbDeviceDialogSymbian::NewL();
- else if (iAnyDialogDisplaying)
- iDevDialog->Cancel();
- else
- {
- }
- iDevDialog->Show(KDeviceDialogType, *varMap, this);
- iAnyDialogDisplaying = ETrue;
- CleanupStack::PopAndDestroy(3);
- }
-
-
-// ----------------------------------------------------------------------------------------
-// CDmDeviceDialogServer::NewAsyncRequest()
-// ----------------------------------------------------------------------------------------
-void CDmDeviceDialogServer::NewAsyncRequest()
- {
- iSessionCount++;
- }
-// ----------------------------------------------------------------------------------------
-// CDmDeviceDialogServer::RequestPending()
-// Any request pending
-// ----------------------------------------------------------------------------------------
-TBool CDmDeviceDialogServer::RequestPending()
- {
- if( iSessionCount > 0 )
- {
- return ETrue;
- }
- return EFalse;
- }
-
-// ----------------------------------------------------------------------------------------
-// CDmDeviceDialogServer::CancelServerCloseRequest()
-// Cancels Server shutdown
-// ----------------------------------------------------------------------------------------
-void CDmDeviceDialogServer::CancelServerCloseRequest()
- {
- FLOG(_L("CDmDeviceDialogServer::CancelServerCloseRequest():-begin)"));
- if(iServerCloseRequest)
- {
- FLOG(_L("CDmDeviceDialogServer::CancelServerCloseRequest():-iServerCloseRequest cancel)"));
- iServerCloseRequest->Cancel();
- delete iServerCloseRequest;
- iServerCloseRequest = NULL;
- }
- FLOG(_L("CDmDeviceDialogServer::CancelServerCloseRequest():-end)"));
- }
-
-// ----------------------------------------------------------------------------------------
-// CDmDeviceDialogServer::IsPkgZeroNoteDisplaying()
-// ----------------------------------------------------------------------------------------
-TBool CDmDeviceDialogServer::IsPkgZeroNoteDisplaying()
- {
- FLOG(_L("CDmDeviceDialogServer::IsPkgZeroNoteDisplaying())"));
- return iPkgZeroQueryNoteDisplaying;
- }
-
-// ----------------------------------------------------------------------------------------
-// CDmDeviceDialogServer::CancelPendingServerAlert()
-// ----------------------------------------------------------------------------------------
-void CDmDeviceDialogServer::CancelPendingServerAlert()
- {
- FLOG(_L("CDmDeviceDialogServer::CancelPendingServerAlert())"));
- if(IsPkgZeroNoteDisplaying())
- {
- iSessionCount--;
- iDevDialog->Cancel();
- iPkgZeroQueryNoteDisplaying = EFalse;
- iMessage.Complete(KErrCancel);
- FLOG(_L("CDmDeviceDialogServer::CancelPendingServerAlert() cancelled"));
- }
- }
-
-// ----------------------------------------------------------------------------------------
-// CDmDeviceDialogServer::IndicatorUserActivated()
-// ----------------------------------------------------------------------------------------
-void CDmDeviceDialogServer::IndicatorUserActivated (const TDesC& /*aType*/,
- CHbSymbianVariantMap& /*aData*/)
- {
- //Deactivate the indicator done by plugin
- FLOG(_L("CDmDeviceDialogServer::IndicatorUserActivated()"));
- if (iDmIndicator)
- {
- //Indicator deactivated on plugin side
- FLOG(_L("CDmDeviceDialogServer::IndicatorUserActivated() Indicator \
- deactivated"));
- iIndicatorLaunched = EFalse;
- FLOG(_L("CDmDeviceDialogServer::IndicatorUserActivated() connect \
- dialog to be activated"));
- TRAP_IGNORE(ShowConnectDialogAgainL());
- FLOG(_L("CDmDeviceDialogServer::IndicatorUserActivated() connect \
- dialog activated"));
- }
- FLOG(_L("CDmDeviceDialogServer::IndicatorUserActivated() end"));
- }
-//End of file