--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/uifw/AvKon/akncompamode/src/akncompaifimpl.cpp Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2007 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: Compa-mode ecom interface implementation
+*
+*/
+
+
+#include <e32base.h>
+#include <../ecom/implementationproxy.h>
+
+#include "akncompaifimpl.h"
+#include "akncompaif.hrh"
+#include "akncompautils.h"
+#include "akncompakb.h"
+#include "akncompaclearer.h"
+
+// --------------------------------------------------------------------------
+//
+// --------------------------------------------------------------------------
+CAknCompaIfImpl* CAknCompaIfImpl::NewL()
+ {
+ return new (ELeave) CAknCompaIfImpl;
+ }
+
+// --------------------------------------------------------------------------
+//
+// --------------------------------------------------------------------------
+CAknCompaIfImpl::~CAknCompaIfImpl()
+ {
+ delete iCompaKb;
+ delete iClearer;
+ }
+
+// --------------------------------------------------------------------------
+// Check if application requires compa-mode. Set screen mode to compa-mode
+// if compa-mode is enabled and application requires it. Returns KErrNotFound
+// if compa-mode is not needed.
+// --------------------------------------------------------------------------
+TInt CAknCompaIfImpl::SetCompaAppScreenModeL(TBool& aScrModeChanged,
+ TBool& aIsConsoleApp, TInt aAppUiFlags, CAknAppUiBase& aAppUi,
+ const CCoeEnv& aCoeEnv, CRepository& aRepository)
+ {
+ return AknCompaUtils::SetCompaAppScreenModeL(aScrModeChanged,
+ aIsConsoleApp, iClearer, aAppUiFlags, aAppUi, aCoeEnv, aRepository);
+ }
+
+// --------------------------------------------------------------------------
+// Create instance of compa keyboard
+// --------------------------------------------------------------------------
+void CAknCompaIfImpl::CreateKbL(TInt aCompaScreenMode, TBool aMakeVisible)
+ {
+ iCompaKb = CAknCompaKb::NewL(aCompaScreenMode, aMakeVisible);
+ delete iClearer; iClearer = NULL;
+ }
+
+// --------------------------------------------------------------------------
+// Check if compa-mode application is on foreground
+// --------------------------------------------------------------------------
+TBool CAknCompaIfImpl::IsForeground()
+ {
+ return iCompaKb->IsForeground();
+ }
+
+// --------------------------------------------------------------------------
+// Find compatibility screen mode
+// --------------------------------------------------------------------------
+TInt CAknCompaIfImpl::FindCompaScreenMode()
+ {
+ return AknCompaUtils::FindCompaScreenMode();
+ }
+
+// --------------------------------------------------------------------------
+// Disable transition effects
+// --------------------------------------------------------------------------
+void CAknCompaIfImpl::DisableTransEffects(TBool aDisable)
+ {
+ iCompaKb->DisaTransEffects(aDisable);
+ }
+
+// --------------------------------------------------------------------------
+// Return factory functions for ECOM interface implementations
+// --------------------------------------------------------------------------
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
+ TInt& aTableCount)
+ {
+ static const TImplementationProxy ImplementationTable[] =
+ {
+ IMPLEMENTATION_PROXY_ENTRY(
+ AKNCOMPAIF_ECOM_IMPL_UID, CAknCompaIfImpl::NewL)
+ };
+ aTableCount =
+ sizeof(ImplementationTable) / sizeof(ImplementationTable[0]);
+
+ return ImplementationTable;
+ }