--- a/securitydialogs/lockapp/src/lockappsession.cpp Thu Aug 19 10:45:23 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,236 +0,0 @@
-/*
-* 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: LockApp server session requested by lockclient
- *
-*/
-
-
-#include "lockapptrace.h"
-#include "lockappsession.h"
-#include "lockappappui.h"
-#include "lockappstatecontrolinterface.h"
-#include "lockapputils.h"
-#include <lockappclientserver.h>
-
-// ---------------------------------------------------------------------------
-// Default Constructor.
-// ---------------------------------------------------------------------------
-CLockAppSession::CLockAppSession( )
- {
-
- // no implementation required
- }
-
-// ---------------------------------------------------------------------------
-// Default Destructor.
-// ---------------------------------------------------------------------------
-CLockAppSession::~CLockAppSession( )
- {
- // no implementation required
- }
-
-// ---------------------------------------------------------------------------
-// From @c CApaAppServiceBase. Handles possible error in the lock app session
-// Method is empty.
-// ---------------------------------------------------------------------------
-void CLockAppSession::ServiceError( const RMessage2& aMessage, TInt aError )
- {
-
- if ( aError == KErrNotReady )
- {
- // initialization not yet ready
- aMessage.Complete( KErrNotReady );
- ERROR( aError, "LockApp initialization not yet ready, KErrNotReady" );
- }
- else
- {
- ERROR_1( aError, "Service request has caused a leave, message: %d", aMessage.Function());
- CApaAppServiceBase::ServiceError( aMessage, aError );
-#ifdef _DEBUG
- if ( aMessage.Function( )== ELockAppTestDestruct )
- {
- User::Leave( KErrGeneral );
- }
-#endif
- }
- }
-
-// ---------------------------------------------------------------------------
-// From @c CApaAppServiceBase. Handles a client request. Leaving is handled by
-// CLockAppSession::ServiceError() which reports the error code to the client
-// ---------------------------------------------------------------------------
-void CLockAppSession::ServiceL(const RMessage2& aMessage )
- {
- RThread clientThread;
- TInt err=aMessage.Client(clientThread);
- // RDebug::Print( _L("called by %S"), &(clientThread.FullName()) );
- // RDebug::Print( clientThread.FullName() );
-
- TInt response = KErrNone;
- // log the message
- // whole provided server API is implemented here
-
- switch ( aMessage.Function( ) )
- {
- case ELockAppEnableKeyguard:
- // enable with or without note (depends on first parameter)
- response = DoEnableKeyguardL( aMessage.Int0() );
- break;
- case ELockAppDisableKeyguard:
- // disable with or without note (depends on first parameter)
- response = DoDisableKeyguardL( aMessage.Int0() );
- break;
- case ELockAppEnableDevicelock:
- // check that client has needed capabilities to enable devicelock
- if ( aMessage.HasCapability( ECapabilityWriteDeviceData ) )
- {
- // first parameter contains the reason
- response = DoEnableDevicelockL( (TDevicelockReason) aMessage.Int0() );
- }
- else
- {
- response = KErrPermissionDenied;
- }
- break;
- case ELockAppDisableDevicelock:
- // check that client has needed capabilities to disable devicelock
- if ( aMessage.HasCapability( ECapabilityWriteDeviceData ) )
- {
- response = DoDisableDevicelockL( );
- }
- else
- {
- response = KErrPermissionDenied;
- }
- break;
- case ELockAppOfferKeyguard:
- // offer to lock keyguard
- response = DoOfferKeyguardL( );
- break;
- case ELockAppOfferDevicelock:
- // TODO implement this someday if needed
- response = KErrNotSupported;
- break;
- case ELockAppShowKeysLockedNote:
- response = DoShowKeysLockedNoteL( );
- break;
-#ifdef _DEBUG
- case ELockAppTestDestruct:
- // test for leave
- User::Leave( KErrGeneral );
- break;
- case ELockAppTestInternal:
- // test internal functions (which cannot be tested trough client API)
- response = StateControlL()->ExecuteInternalTest( );
- break;
-#endif
- default:
- // illegal message call, panic the client process
- PanicClient( aMessage, ELockPanicIllegalMessage );
- return;
- }
-
- INFO_2( "CLockAppSession received service message: %d. Result: %d", aMessage.Function(), response );
- aMessage.Complete( response );
- }
-
-// ---------------------------------------------------------------------------
-// Request lockapp to enable keyguard on device (might not be approved, e.g.
-// devicelock activated).
-// ---------------------------------------------------------------------------
-TInt CLockAppSession::DoEnableKeyguardL( TBool aShowNote )
- {
- // calls the main control
-
- return StateControlL()->EnableKeyguardL( aShowNote );
- }
-
-// ---------------------------------------------------------------------------
-// Request lockapp to disable keyguard on device (might not be approved, e.g.
-// already disabled).
-// ---------------------------------------------------------------------------
-TInt CLockAppSession::DoDisableKeyguardL( TBool aShowNote )
- {
- // calls the main control
-
- return StateControlL()->DisableKeyguardL( aShowNote );
- }
-
-// ---------------------------------------------------------------------------
-// Request lockapp to enable devicelock on device (might not be approved).
-// ---------------------------------------------------------------------------
-TInt CLockAppSession::DoEnableDevicelockL( TDevicelockReason aReason )
- {
- // calls the main control
-
- return StateControlL()->EnableDevicelockL( aReason );
- }
-
-// ---------------------------------------------------------------------------
-// Request lockapp to disable devicelock on device (might not be approved).
-// ---------------------------------------------------------------------------
-TInt CLockAppSession::DoDisableDevicelockL( )
- {
- // TODO Investigate if this should be allowed in API or not
- // calls the main control
- // StateControlL()->DisableDevicelockL( );
- return KErrPermissionDenied;
- }
-
-// ---------------------------------------------------------------------------
-// Request to offer keyguard on device (might not be approved, e.g.
-// already locked).
-// ---------------------------------------------------------------------------
-TInt CLockAppSession::DoOfferKeyguardL( )
- {
- // calls the main control
- return StateControlL()->OfferKeyguard( );
- }
-
-// ---------------------------------------------------------------------------
-// Request to show keys locked note, only works if keyguard is enabled
-// ---------------------------------------------------------------------------
-TInt CLockAppSession::DoShowKeysLockedNoteL( )
- {
- // calls the main control
-
- return StateControlL()->ShowKeysLockedNote( );
- }
-
-// ---------------------------------------------------------------------------
-// Return the main state control to the server session.
-// Application appui and the main state control might not be constructed yet.
-// ---------------------------------------------------------------------------
-MLockAppStateControl* CLockAppSession::StateControlL( )
- {
-
- // other parts of lockapp construction may not be finished
- if ( !iStateControl )
- {
- CLockAppAppUi* appUi = (CLockAppAppUi*) CEikonEnv::Static()->EikAppUi();
- if ( appUi )
- {
- iStateControl = appUi->StateControl( );
- if ( !iStateControl )
- {
- User::Leave( KErrNotReady );
- }
- }
- else
- {
- User::Leave( KErrNotReady );
- }
- }
- return iStateControl;
- }