coreapplicationuis/NspsWsPlugin/src/NspsWsPlugin.cpp
changeset 0 2e3d3ce01487
child 21 c4cbaa4fb734
--- /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
+
+