--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/omads/omadsappui/OmaDsAppUiPlugin/src/OmaDsAppUiPluginInterface.cpp Wed Sep 01 12:30:02 2010 +0100
@@ -0,0 +1,225 @@
+/*
+* Copyright (c) 2002 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: Nsml DS settings Ecom plugin Impln.
+*
+*/
+
+
+//System Includes
+#include <e32std.h>
+#include <implementationproxy.h>
+#include <StringLoader.h>
+#include <bautils.h>
+#include <AknsUtils.h>
+#include <gulicon.h>
+#include <akntitle.h>
+
+// Required only for embedded app
+#include <AknNullService.h>
+#include <apgtask.h>
+
+// User includes
+#include "OmaDsAppUiPluginInterface.h"
+#include "gsprivatepluginproviderids.h"
+#include <nsmldssync.mbg>
+#include "NsmlDSGSPluginResource.rsg"
+
+
+_LIT(KNsmlDsIconFileName, "Z:\\resource\\apps\\nsmldssync.mif");
+_LIT(KNsmlDsResFileName, "Z:\\resource\\NsmlDSGSPluginResource.rsc" );
+
+// ---------------------------------------------------------------------------------------------
+// COmaDsAppUiPluginInterface::NewLC
+// returns an object of COmaDsAppUiPluginInterface
+// ---------------------------------------------------------------------------------------------
+//
+CGSPluginInterface* COmaDsAppUiPluginInterface::NewL()
+ {
+ COmaDsAppUiPluginInterface* self = new(ELeave) COmaDsAppUiPluginInterface();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop(self);
+ return (CGSPluginInterface*) self;
+ }
+
+// ---------------------------------------------------------------------------------------------
+// COmaDsAppUiPluginInterface::Id()
+// returns the view id
+// ---------------------------------------------------------------------------------------------
+//
+TUid COmaDsAppUiPluginInterface::Id() const
+ {
+ return TUid::Uid( KUidNsmlDSGSPluginDll );
+ }
+
+// ---------------------------------------------------------------------------------------------
+// COmaDsAppUiPluginInterface::ConstructL
+// ---------------------------------------------------------------------------------------------
+//
+void COmaDsAppUiPluginInterface::ConstructL()
+ {
+ BaseConstructL();
+
+ env = CEikonEnv::Static();
+
+ TFileName fileName(KNsmlDsResFileName);
+
+ BaflUtils::NearestLanguageFile(env->FsSession(), fileName);
+
+ iResId = env->AddResourceFileL(fileName);
+ }
+
+
+// ---------------------------------------------------------------------------------------------
+// COmaDsAppUiPluginInterface::COmaDsAppUiPluginInterface
+// ---------------------------------------------------------------------------------------------
+//
+COmaDsAppUiPluginInterface::COmaDsAppUiPluginInterface() : iNullService( NULL )
+ {
+ // Nothing
+ }
+
+// ---------------------------------------------------------------------------------------------
+// COmaDsAppUiPluginInterface::~COmaDsAppUiPluginInterface
+// ---------------------------------------------------------------------------------------------
+//
+COmaDsAppUiPluginInterface::~COmaDsAppUiPluginInterface()
+ {
+ if (iResId)
+ {
+ env->DeleteResourceFile(iResId);
+ }
+ if ( iNullService )
+ {
+ delete iNullService;
+ iNullService = NULL;
+ }
+ }
+
+// ---------------------------------------------------------------------------------------------
+// COmaDsAppUiPluginInterface::GetCaptionL
+// returns the caption to be shown in GS view
+// ---------------------------------------------------------------------------------------------
+//
+void COmaDsAppUiPluginInterface::GetCaptionL( TDes& aCaption ) const
+ {
+ StringLoader::Load( aCaption, R_DS_GS_TITLE);
+ }
+
+// ---------------------------------------------------------------------------------------------
+// COmaDsAppUiPluginInterface::CreateIconL
+// returns the icon to be shown in GS view
+// ---------------------------------------------------------------------------------------------
+//
+CGulIcon* COmaDsAppUiPluginInterface::CreateIconL( const TUid /*aIconType*/ )
+ {
+ CFbsBitmap* bitmap = NULL;
+ CFbsBitmap* mask = NULL;
+
+ MAknsSkinInstance* instance = AknsUtils::SkinInstance();
+ AknsUtils::CreateIconL(instance, KAknsIIDQgnPropCpConnDatasync, bitmap, mask,
+ KNsmlDsIconFileName,
+ EMbmNsmldssyncQgn_prop_cp_conn_datasync,
+ EMbmNsmldssyncQgn_prop_cp_conn_datasync_mask);
+
+ CGulIcon* icon = CGulIcon::NewL( bitmap, mask );
+ icon->SetBitmapsOwnedExternally( EFalse );
+ bitmap = NULL;
+ mask = NULL;
+ return icon;
+ }
+
+// -----------------------------------------------------------------------------
+// COmaDsAppUiPluginInterface::HandleSelection()
+// -----------------------------------------------------------------------------
+//
+void COmaDsAppUiPluginInterface::HandleSelection(
+ const TGSSelectionTypes /*aSelectionType*/ )
+ {
+ TRAP_IGNORE(LaunchDsAppL());
+ }
+
+// ---------------------------------------------------------------------------------------------
+// COmaDsAppUiPluginInterface::LaunchDsAppL
+// ---------------------------------------------------------------------------------------------
+//
+void COmaDsAppUiPluginInterface::LaunchDsAppL()
+ {
+ TUid KAppUid( TUid::Uid( KDsAppUid ) );
+
+ RWsSession ws;
+ User::LeaveIfError( ws.Connect() );
+ CleanupClosePushL( ws );
+
+ TApaTaskList taskList( ws );
+ TApaTask task = taskList.FindApp( KAppUid );
+
+ if ( task.Exists() )
+ {
+ task.BringToForeground();
+ }
+ else
+ {
+ // Launch application as embedded.
+ if ( iNullService )
+ {
+ delete iNullService;
+ iNullService = NULL;
+ }
+ iNullService = CAknNullService::NewL( KAppUid, this );
+ }
+
+ CleanupStack::PopAndDestroy();
+ }
+
+// ---------------------------------------------------------------------------------------------
+// COmaDsAppUiPluginInterface::DoActivateL
+// ---------------------------------------------------------------------------------------------
+//
+void COmaDsAppUiPluginInterface::DoActivateL(const TVwsViewId& /*aPrevViewId*/,
+ TUid /*aCustomMessageId*/,
+ const TDesC8& /*aCustomMessage*/)
+ {
+ // Nothing
+ }
+
+
+// -----------------------------------------------------------------------------
+// COmaDsAppUiPluginInterface::PluginProviderCategory
+// -----------------------------------------------------------------------------
+//
+TInt COmaDsAppUiPluginInterface::PluginProviderCategory() const
+ {
+ return KGSPluginProviderInternal;
+ }
+
+// -----------------------------------------------------------------------------
+// COmaDsAppUiPluginInterface::ItemType()
+// -----------------------------------------------------------------------------
+//
+TGSListboxItemTypes COmaDsAppUiPluginInterface::ItemType()
+ {
+ return EGSItemTypeSettingDialog;
+ }
+
+// ---------------------------------------------------------------------------------------------
+// COmaDsAppUiPluginInterface::DoDeactivate
+// ---------------------------------------------------------------------------------------------
+//
+void COmaDsAppUiPluginInterface::DoDeactivate()
+ {
+ // Nothing
+ }
+
+// End of File