--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/coreapplicationuis/NspsWsPlugin/src/NspsWsPlugin.cpp Tue Feb 02 10:12:00 2010 +0200
@@ -0,0 +1,194 @@
+/*
+* Copyright (c) 2002-2008 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: CNspsWsPlugin method definitions
+*
+*/
+
+
+// INCLUDE FILES
+#include <e32property.h>
+#include "CoreApplicationUIsInternalPSKeys.h"
+#include "NspsWsPluginDllStd.h"
+#include "NspsWsPlugin.h" // this
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CNspsWsPlugin::CNspsWsPlugin()
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+
+CNspsWsPlugin::CNspsWsPlugin()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CNspsWsPlugin::~CNspsWsPlugin()
+// -----------------------------------------------------------------------------
+
+CNspsWsPlugin::~CNspsWsPlugin()
+ {
+ if ( iFunctions )
+ {
+ iFunctions->GetRawEvents( EFalse );
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CNspsWsPlugin::CommandReplyL( TInt /*aOpcode*/, TAny* /*aArgs*/ )
+// -----------------------------------------------------------------------------
+
+TInt CNspsWsPlugin::CommandReplyL( TInt /*aOpcode*/, TAny* /*aArgs*/ )
+ {
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CNspsWsPlugin::Command( TInt aOpcode, TAny* /*aArgs*/ )
+// -----------------------------------------------------------------------------
+
+void CNspsWsPlugin::Command( TInt aOpcode, TAny* /*aArgs*/ )
+ {
+ TRACES( RDebug::Print(_L("CNspsWsPlugin::Command( aOpcode:%d"), aOpcode) );
+ switch ( aOpcode )
+ {
+ case EActivateNspsKeyeventForwarding:
+ if( !iForwardRawKeyeventsToLights && !iForwardRawKeyeventsToNcn && !iForwardRawKeyeventsToSysAp )
+ {
+ iFunctions->GetRawEvents( ETrue );
+ }
+ iForwardRawKeyeventsToSysAp = ETrue;
+ break;
+ case EDeActivateNspsKeyeventForwarding:
+ if( ! ( iForwardRawKeyeventsToNcn || iForwardRawKeyeventsToLights ) )
+ {
+ iFunctions->GetRawEvents( EFalse );
+ }
+ iForwardRawKeyeventsToSysAp = EFalse;
+ break;
+
+ case EActivateKeyeventForwardingForNcn:
+ if( !iForwardRawKeyeventsToLights && !iForwardRawKeyeventsToNcn && !iForwardRawKeyeventsToSysAp )
+ {
+ iFunctions->GetRawEvents( ETrue );
+ }
+ iForwardRawKeyeventsToNcn = ETrue;
+ break;
+ case EDeActivateKeyeventForwardingForNcn:
+ if( !( iForwardRawKeyeventsToSysAp || iForwardRawKeyeventsToLights ) )
+ {
+ iFunctions->GetRawEvents( EFalse );
+ }
+ iForwardRawKeyeventsToNcn = EFalse;
+ break;
+
+ case EActivateKeyeventForwardingForLights:
+ if( !iForwardRawKeyeventsToLights && !iForwardRawKeyeventsToNcn && !iForwardRawKeyeventsToSysAp )
+ {
+ iFunctions->GetRawEvents( ETrue );
+ }
+ iForwardRawKeyeventsToLights = ETrue;
+ break;
+ case EDeActivateKeyeventForwardingForLights:
+ if( !( iForwardRawKeyeventsToSysAp || iForwardRawKeyeventsToNcn ) )
+ {
+ iFunctions->GetRawEvents( EFalse );
+ }
+ iForwardRawKeyeventsToLights = EFalse;
+ break;
+
+ default:
+ // do nothing
+ break;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CNspsWsPlugin::Animate( TDateTime* /*aDateTime*/ )
+// -----------------------------------------------------------------------------
+
+void CNspsWsPlugin::Animate( TDateTime* /*aDateTime*/ )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CNspsWsPlugin::ConstructL( TAny* /*aArgs*/, TBool /*aHasFocus*/ )
+// -----------------------------------------------------------------------------
+
+void CNspsWsPlugin::ConstructL( TAny* /*aArgs*/, TBool /*aHasFocus*/ )
+ {
+ TRACES( RDebug::Print( _L( "CNspsWsPlugin::ConstructL" ) ) );
+ }
+
+// -----------------------------------------------------------------------------
+// CNspsWsPlugin::Redraw()
+// -----------------------------------------------------------------------------
+
+void CNspsWsPlugin::Redraw()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CNspsWsPlugin::FocusChanged( TBool /*aState*/ )
+// -----------------------------------------------------------------------------
+
+void CNspsWsPlugin::FocusChanged( TBool /*aState*/ )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSysApAppUi::CNspsWsPlugin::OfferRawEvent( const TRawEvent& aRawEvent )
+// -----------------------------------------------------------------------------
+
+TBool CNspsWsPlugin::OfferRawEvent( const TRawEvent& aRawEvent )
+ {
+ if ( aRawEvent.Type() == TRawEvent::EKeyDown )
+ {
+ TRACES( RDebug::Print( _L( "CNspsWsPlugin::OfferRawEvent:TRawEvent::EKeyDown" ) ) );
+
+ if ( iForwardRawKeyeventsToLights )
+ {
+ TRACES( RDebug::Print(_L("CNspsWsPlugin::OfferRawEvent:TRawEvent::EKeyDown, Forwarded to Lights Controller" ) ) );
+ RProperty::Set( KPSUidCoreApplicationUIs, KCoreAppUIsLightsRawKeyEvent, ECoreAppUIsKeyEvent );
+ }
+
+ if ( iForwardRawKeyeventsToSysAp )
+ {
+ TRACES( RDebug::Print(_L("CNspsWsPlugin::OfferRawEvent:TRawEvent::EKeyDown, Forwarded to SysAp" ) ) );
+ RProperty::Set( KPSUidCoreApplicationUIs, KCoreAppUIsNspsRawKeyEvent, ECoreAppUIsKeyEvent );
+ }
+
+ if ( iForwardRawKeyeventsToNcn )
+ {
+ TRACES( RDebug::Print(_L("CNspsWsPlugin::OfferRawEvent:TRawEvent::EKeyDown, Forwarded to MessageToneQuitting" ) ) );
+ RProperty::Set( KPSUidCoreApplicationUIs, KCoreAppUIsMessageToneQuit, ECoreAppUIsStopTonePlaying );
+ }
+ }
+
+ if ( aRawEvent.Type() == TRawEvent::EButton1Down ) // tapping screen also silents message tone
+ {
+ if ( iForwardRawKeyeventsToNcn )
+ {
+ TRACES( RDebug::Print(_L("CNspsWsPlugin::OfferRawEvent:TRawEvent::EPointerSwitchOn, Forwarded to MessageToneQuitting" ) ) );
+ RProperty::Set( KPSUidCoreApplicationUIs, KCoreAppUIsMessageToneQuit, ECoreAppUIsStopTonePlaying );
+ }
+ }
+
+ return EFalse;
+ }
+
+// End of File
+
+