uifw/AvKon/src/AknKeyLock.cpp
changeset 33 b3425bf29f82
parent 0 2f259fa3e83a
child 56 d48ab3b357f1
equal deleted inserted replaced
21:558113899881 33:b3425bf29f82
    35 #endif
    35 #endif
    36 #include <avkondomainpskeys.h>      // KPSUidAvkonDomain, KAknKeyguardStatus, TAknKeyguardStatus
    36 #include <avkondomainpskeys.h>      // KPSUidAvkonDomain, KAknKeyguardStatus, TAknKeyguardStatus
    37 #include <e32property.h>
    37 #include <e32property.h>
    38 #include "aknkeylock.h"
    38 #include "aknkeylock.h"
    39 #include "AknNotifierController.h"
    39 #include "AknNotifierController.h"
       
    40 #include <keyguardaccessapi.h>
       
    41 #include <devicelockaccessapi.h>
    40 
    42 
    41 // RAknKeyLock
    43 // RAknKeyLock
    42 
    44 
    43 EXPORT_C void RAknKeyLock::EnableKeyLock()
    45 EXPORT_C void RAknKeyLock::EnableKeyLock()
    44 	{
    46 	{
    58 
    60 
    59 
    61 
    60 EXPORT_C TBool RAknKeyLock::IsKeyLockEnabled()
    62 EXPORT_C TBool RAknKeyLock::IsKeyLockEnabled()
    61 	{
    63 	{
    62 	TInt value;
    64 	TInt value;
       
    65 	/*
    63 	TInt err = RProperty::Get(KPSUidAvkonDomain, KAknKeyguardStatus, value);
    66 	TInt err = RProperty::Get(KPSUidAvkonDomain, KAknKeyguardStatus, value);
    64 	if ( err != KErrNone ) 
    67 	if ( err != KErrNone ) 
    65 	    return EFalse;
    68 	    return EFalse;
    66 	switch( value ) 
    69 	switch( value ) 
    67 	    {
    70 	    {
    70 	        return ETrue;
    73 	        return ETrue;
    71 	    case EKeyguardNotActive:
    74 	    case EKeyguardNotActive:
    72 	    default:
    75 	    default:
    73 	        return EFalse;
    76 	        return EFalse;
    74 	    }
    77 	    }
       
    78 	*/
       
    79 
       
    80 	TInt valueKeyguard;
       
    81 	CKeyguardAccessApi* iKeyguardAccess = CKeyguardAccessApi::NewL( );
       
    82 	valueKeyguard = iKeyguardAccess->IsKeyguardEnabled( );
       
    83 	delete iKeyguardAccess;
       
    84 
       
    85 	TInt valueDevicelock;
       
    86 	CDevicelockAccessApi* iDevicelockAccess = CDevicelockAccessApi::NewL( );
       
    87 	valueDevicelock = iDevicelockAccess->IsDevicelockEnabled( );
       
    88 	delete iDevicelockAccess;
       
    89 
       
    90 	value = EFalse;
       
    91 	if( valueKeyguard || valueDevicelock )
       
    92 		value = ETrue;
       
    93 	return value;
    75 	}
    94 	}
    76 
    95 
    77 EXPORT_C void RAknKeyLock::EnableSoftNotifications(TBool aEnable)
    96 EXPORT_C void RAknKeyLock::EnableSoftNotifications(TBool aEnable)
    78 	{
    97 	{
    79     AknNotifierController::HideAllNotifications(!aEnable);
    98     AknNotifierController::HideAllNotifications(!aEnable);
   101 	SendMessage(EEnableWithoutNote);
   120 	SendMessage(EEnableWithoutNote);
   102 	}
   121 	}
   103 
   122 
   104 void RAknKeyLock::SendMessage(TKeyLockNotifierReason aMessage)
   123 void RAknKeyLock::SendMessage(TKeyLockNotifierReason aMessage)
   105 	{
   124 	{
       
   125 
       
   126 		switch(aMessage)
       
   127 		{
       
   128 			case ELockEnabled:
       
   129 				{
       
   130 				CKeyguardAccessApi* iKeyguardAccess = CKeyguardAccessApi::NewL( );
       
   131 				iKeyguardAccess->EnableKeyguard( ETrue );
       
   132 				delete iKeyguardAccess;
       
   133 				}
       
   134 				break;
       
   135 			case EEnableWithoutNote:
       
   136 				{
       
   137 				CKeyguardAccessApi* iKeyguardAccess = CKeyguardAccessApi::NewL( );
       
   138 				iKeyguardAccess->EnableKeyguard( EFalse );
       
   139 				delete iKeyguardAccess;
       
   140 				}
       
   141 				break;
       
   142 			case ELockDisabled:
       
   143 				{
       
   144 				CKeyguardAccessApi* iKeyguardAccess = CKeyguardAccessApi::NewL( );
       
   145 				iKeyguardAccess->DisableKeyguard( ETrue );
       
   146 				delete iKeyguardAccess;
       
   147 				}
       
   148 				break;
       
   149 			case EDisableWithoutNote:
       
   150 				{
       
   151 				CKeyguardAccessApi* iKeyguardAccess = CKeyguardAccessApi::NewL( );
       
   152 				iKeyguardAccess->DisableKeyguard( EFalse );
       
   153 				delete iKeyguardAccess;
       
   154 				}
       
   155 				break;
       
   156 			case EOfferKeylock:
       
   157 				{
       
   158 				CKeyguardAccessApi* iKeyguardAccess = CKeyguardAccessApi::NewL( );
       
   159 				iKeyguardAccess->OfferKeyguard( );
       
   160 				delete iKeyguardAccess;
       
   161 				}
       
   162 				break;
       
   163 			case EEnableAutoLockEmulation:
       
   164 				{
       
   165 				CDevicelockAccessApi* iDevicelockAccess = CDevicelockAccessApi::NewL( );
       
   166 				iDevicelockAccess->OfferDevicelock( );	// TODO maybe EnableDevicelock ?
       
   167 				delete iDevicelockAccess;
       
   168 				}
       
   169 				break;
       
   170 			default:
       
   171 				{
       
   172 				}
       
   173 				break;
       
   174 		}
       
   175 	/*
       
   176 	This is the old method. Not used anymore because now KeyguardAccessApi and DeviceLockAccessApi send the requests to Autolock
       
   177 	
   106 	TPckgBuf<SAknNotifierPackage<SAknKeyLockNotifierParams> > data;
   178 	TPckgBuf<SAknNotifierPackage<SAknKeyLockNotifierParams> > data;
   107 	TRequestStatus status;
   179 	TRequestStatus status;
   108 	data().iParamData.iReason = aMessage;
   180 	data().iParamData.iReason = aMessage;
   109 	StartNotifierAndGetResponse(status,KAknKeyLockNotifierUid, data, data);
   181 	StartNotifierAndGetResponse(status,KAknKeyLockNotifierUid, data, data);
   110 	User::WaitForRequest(status);
   182 	User::WaitForRequest(status);
   111 	CancelNotifier(KAknKeyLockNotifierUid);
   183 	CancelNotifier(KAknKeyLockNotifierUid);
       
   184 	*/
   112 	}
   185 	}
   113 
   186 
   114 // RAknKeyLock2
   187 // RAknKeyLock2
   115 
   188 
   116 EXPORT_C TInt RAknKeylock2::Connect()
   189 EXPORT_C TInt RAknKeylock2::Connect()