skins/AknSkins/srvsrc/AknsSrvSettings.cpp
branchRCL_3
changeset 25 9f95a5546443
parent 24 e4e3998ddda2
equal deleted inserted replaced
24:e4e3998ddda2 25:9f95a5546443
    33 #include <AknSkinsInternalCRKeys.h>             // KPslnActiveSkinUid, ...
    33 #include <AknSkinsInternalCRKeys.h>             // KPslnActiveSkinUid, ...
    34 #include <DRMHelperServerInternalCRKeys.h>      // KDRMHelperServerNotification
    34 #include <DRMHelperServerInternalCRKeys.h>      // KDRMHelperServerNotification
    35 #include <pslninternalcrkeys.h>                 // KThemesWallpaperSlideSetType
    35 #include <pslninternalcrkeys.h>                 // KThemesWallpaperSlideSetType
    36 
    36 
    37 //PubSub keys.
    37 //PubSub keys.
       
    38 #include <ScreensaverInternalPSKeys.h>
    38 #include <UsbWatcherInternalPSKeys.h>           // KPSUidUsbWatcher
    39 #include <UsbWatcherInternalPSKeys.h>           // KPSUidUsbWatcher
    39 #include <usbpersonalityids.h>                  // KUsbPersonalityIdMS
    40 #include <usbpersonalityids.h>                  // KUsbPersonalityIdMS
    40 
    41 
    41 // Default theme has been configured to be different from S60 Default skin.
    42 // Default theme has been configured to be different from S60 Default skin.
    42 _LIT( KAknSkinSrvNoDefaultThemeConfigured, "0" );
    43 _LIT( KAknSkinSrvNoDefaultThemeConfigured, "0" );
   444 
   445 
   445 // -----------------------------------------------------------------------------
   446 // -----------------------------------------------------------------------------
   446 // Callback - USB status change.
   447 // Callback - USB status change.
   447 // -----------------------------------------------------------------------------
   448 // -----------------------------------------------------------------------------
   448 //
   449 //
   449 TInt CAknsSrvSettings::USBCallBack(TAny* aPtr)
   450 TInt CAknsSrvSettings::USBCallBackL(TAny* aPtr)
   450     {
   451     {
   451     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   452     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   452     if (self)
   453     if (self)
   453         {
   454         {
   454         self->HandlePropertyChange(EAknsSrvSPUSBAttached);
   455         self->HandlePropertyChangeL(EAknsSrvSPUSBAttached);
   455         }
   456         }
   456     return KErrNone;
   457     return KErrNone;
   457     }
   458     }
   458 
   459 
   459 // -----------------------------------------------------------------------------
   460 // -----------------------------------------------------------------------------
   460 // Callback - when screensaver state changes.
   461 // Callback - when screensaver state changes.
   461 // -----------------------------------------------------------------------------
   462 // -----------------------------------------------------------------------------
   462 //
   463 //
   463 TInt CAknsSrvSettings::SSCallBack(TAny* aPtr)
   464 TInt CAknsSrvSettings::SSCallBackL(TAny* aPtr)
   464     {
   465     {
   465     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   466     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   466     if (self)
   467     if (self)
   467         {
   468         {
   468         self->HandlePropertyChange( EAknsSrvSPScreensaverActivation );
   469         self->HandlePropertyChangeL( EAknsSrvSPScreensaverActivation );
   469         }
   470         }
   470     return KErrNone;
   471     return KErrNone;
   471     }
   472     }
   472 
   473 
   473 // -----------------------------------------------------------------------------
   474 // -----------------------------------------------------------------------------
   474 // Callback - layout changed.
   475 // Callback - layout changed.
   475 // -----------------------------------------------------------------------------
   476 // -----------------------------------------------------------------------------
   476 //
   477 //
   477 TInt CAknsSrvSettings::LayoutCallBack(TAny* aPtr)
   478 TInt CAknsSrvSettings::LayoutCallBackL(TAny* aPtr)
   478     {
   479     {
   479     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   480     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   480     if (self)
   481     if (self)
   481         {
   482         {
   482         self->HandlePropertyChange( EAknsSrvSPLayoutId );
   483         self->HandlePropertyChangeL( EAknsSrvSPLayoutId );
   483         }
   484         }
   484     return KErrNone;
   485     return KErrNone;
   485     }
   486     }
   486 
   487 
   487 // -----------------------------------------------------------------------------
   488 // -----------------------------------------------------------------------------
   488 // Callback - skins repository.
   489 // Callback - skins repository.
   489 // -----------------------------------------------------------------------------
   490 // -----------------------------------------------------------------------------
   490 //
   491 //
   491 TInt CAknsSrvSettings::SkinsRepositoryCallBack(TAny* aPtr)
   492 TInt CAknsSrvSettings::SkinsRepositoryCallBackL(TAny* aPtr)
   492     {
   493     {
   493     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   494     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   494     if (self)
   495     if (self)
   495         {
   496         {
   496         switch( self->iSkinsRepositoryWatcher->ChangedKey() )
   497         switch( self->iSkinsRepositoryWatcher->ChangedKey() )
   497             {
   498             {
   498             case KPslnActiveSkinUid:
   499             case KPslnActiveSkinUid:
   499                 break;
   500                 break;
   500             case KPslnWallpaperType:
   501             case KPslnWallpaperType:
   501                 self->HandlePropertyChange( EAknsSrvSPWallpaperType );
   502                 self->HandlePropertyChangeL( EAknsSrvSPWallpaperType );
   502                 break;
   503                 break;
   503             };
   504             };
   504         }
   505         }
   505     return KErrNone;
   506     return KErrNone;
   506     }
   507     }
   507 
   508 
   508 // -----------------------------------------------------------------------------
   509 // -----------------------------------------------------------------------------
   509 // Callback - Themes repository.
   510 // Callback - Themes repository.
   510 // -----------------------------------------------------------------------------
   511 // -----------------------------------------------------------------------------
   511 //
   512 //
   512 TInt CAknsSrvSettings::ThemesRepositoryCallBack(TAny* aPtr)
   513 TInt CAknsSrvSettings::ThemesRepositoryCallBackL(TAny* aPtr)
   513     {
   514     {
   514     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   515     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   515     if (self)
   516     if (self)
   516         {
   517         {
   517         switch( self->iThemesRepositoryWatcher->ChangedKey() )
   518         switch( self->iThemesRepositoryWatcher->ChangedKey() )
   518             {
   519             {
   519             case KThemesWallpaperSlideSetInterval:
   520             case KThemesWallpaperSlideSetInterval:
   520                 self->HandlePropertyChange( EAknsSrvSPSlidesetWPTimeout );
   521                 self->HandlePropertyChangeL( EAknsSrvSPSlidesetWPTimeout );
   521                 break;
   522                 break;
   522             case KThemesWallpaperSlideSetType:
   523             case KThemesWallpaperSlideSetType:
   523                 self->HandlePropertyChange( EAknsSrvSPSlidesetWPType );
   524                 self->HandlePropertyChangeL( EAknsSrvSPSlidesetWPType );
   524                 break;
   525                 break;
   525             case KThemesTransitionEffects:
   526             case KThemesTransitionEffects:
   526                 self->HandlePropertyChange( EAknsSrvSPTransitionFx );
   527                 self->HandlePropertyChangeL( EAknsSrvSPTransitionFx );
   527                 break;
   528                 break;
   528             case KThemesAnimBackgroundSupport:
   529             case KThemesAnimBackgroundSupport:
   529                 self->HandlePropertyChange( EAknsSrvSPAnimBackground );
   530                 self->HandlePropertyChangeL( EAknsSrvSPAnimBackground );
   530                 break;
   531                 break;
   531             default:
   532             default:
   532                 break;
   533                 break;
   533             };
   534             };
   534         }
   535         }
   537 
   538 
   538 // -----------------------------------------------------------------------------
   539 // -----------------------------------------------------------------------------
   539 // Callback - DRM repository.
   540 // Callback - DRM repository.
   540 // -----------------------------------------------------------------------------
   541 // -----------------------------------------------------------------------------
   541 //
   542 //
   542 TInt CAknsSrvSettings::DRMRepositoryCallBack(TAny* aPtr)
   543 TInt CAknsSrvSettings::DRMRepositoryCallBackL(TAny* aPtr)
   543     {
   544     {
   544     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   545     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   545     if (self)
   546     if (self)
   546         {
   547         {
   547         if( self->iDRMRepositoryWatcher->ChangedKey() ==
   548         if( self->iDRMRepositoryWatcher->ChangedKey() ==
   548             KDRMHelperServerNotification )
   549             KDRMHelperServerNotification )
   549             {
   550             {
   550             self->HandlePropertyChange( EAknsSrvSPDRMHelperNotification );
   551             self->HandlePropertyChangeL( EAknsSrvSPDRMHelperNotification );
   551             }
   552             }
   552         }
   553         }
   553     return KErrNone;
   554     return KErrNone;
   554     }
   555     }
   555 
   556 
   569     else if( aBackupOperationAttributes.iOperation == EEnd ||
   570     else if( aBackupOperationAttributes.iOperation == EEnd ||
   570         aBackupOperationAttributes.iOperation == EAbort )
   571         aBackupOperationAttributes.iOperation == EAbort )
   571         {
   572         {
   572         AKNS_TRACE_INFO("CAknsSrvSettings::HandleBackupOperationEventL Operation END/ABORT");
   573         AKNS_TRACE_INFO("CAknsSrvSettings::HandleBackupOperationEventL Operation END/ABORT");
   573         iBackupOperationInProgress = EFalse;
   574         iBackupOperationInProgress = EFalse;
   574         iObserver->NotifyBackupOperationEnd();
   575         iObserver->NotifyBackupOperationEndL();
   575         }
   576         }
   576     }
   577     }
   577 
   578 
   578 // -----------------------------------------------------------------------------
   579 // -----------------------------------------------------------------------------
   579 // CAknsSrvSettings::NotifyDriveStatusChange
   580 // CAknsSrvSettings::NotifyDriveStatusChange
   593     {
   594     {
   594     iAvkonRepositoryWatcher = CAknsRepositoryWatcher::NewL(
   595     iAvkonRepositoryWatcher = CAknsRepositoryWatcher::NewL(
   595         KCRUidAvkon,
   596         KCRUidAvkon,
   596         KAknLayoutId,
   597         KAknLayoutId,
   597         CCenRepNotifyHandler::EIntKey,
   598         CCenRepNotifyHandler::EIntKey,
   598         TCallBack(LayoutCallBack, this),
   599         TCallBack(LayoutCallBackL, this),
   599         iAvkonRepository );
   600         iAvkonRepository );
   600 
   601 
   601     iSkinsRepositoryWatcher = CAknsRepositoryWatcher::NewL(
   602     iSkinsRepositoryWatcher = CAknsRepositoryWatcher::NewL(
   602         KCRUidPersonalisation,
   603         KCRUidPersonalisation,
   603         TCallBack(SkinsRepositoryCallBack, this),
   604         TCallBack(SkinsRepositoryCallBackL, this),
   604         iSkinsRepository );
   605         iSkinsRepository );
   605 
   606 
   606     iDRMRepository = CRepository::NewL(KCRUidDRMHelperServer);
   607     iDRMRepository = CRepository::NewL(KCRUidDRMHelperServer);
   607     iDRMRepositoryWatcher = CAknsRepositoryWatcher::NewL(
   608     iDRMRepositoryWatcher = CAknsRepositoryWatcher::NewL(
   608         KCRUidDRMHelperServer,
   609         KCRUidDRMHelperServer,
   609         KDRMHelperServerNotification,
   610         KDRMHelperServerNotification,
   610         CCenRepNotifyHandler::EStringKey,
   611         CCenRepNotifyHandler::EStringKey,
   611         TCallBack(DRMRepositoryCallBack, this),
   612         TCallBack(DRMRepositoryCallBackL, this),
   612         iDRMRepository );
   613         iDRMRepository );
   613 
   614 
   614     iThemesRepositoryWatcher = CAknsRepositoryWatcher::NewL(
   615     iThemesRepositoryWatcher = CAknsRepositoryWatcher::NewL(
   615         KCRUidThemes,
   616         KCRUidThemes,
   616         TCallBack(ThemesRepositoryCallBack, this),
   617         TCallBack(ThemesRepositoryCallBackL, this),
   617         iThemesRepository);
   618         iThemesRepository);
   618 
   619 
       
   620     User::LeaveIfError(
       
   621         iScreensaverActivationProperty.Attach( KPSUidScreenSaver, KScreenSaverOn ) );
   619     iScreensaverActivationSubscriber = new (ELeave) CAknsPropertySubscriber(
   622     iScreensaverActivationSubscriber = new (ELeave) CAknsPropertySubscriber(
   620         TCallBack(SSCallBack, this), iScreensaverActivationProperty );
   623         TCallBack(SSCallBackL, this), iScreensaverActivationProperty );
   621 
   624 
   622     User::LeaveIfError( iEnableUSBWatchProperty.Attach(
   625     User::LeaveIfError( iEnableUSBWatchProperty.Attach(
   623           KPSUidUsbWatcher, KUsbWatcherSelectedPersonality) );
   626           KPSUidUsbWatcher, KUsbWatcherSelectedPersonality) );
   624     iUSBWatchSubscriber = new (ELeave) CAknsPropertySubscriber(
   627     iUSBWatchSubscriber = new (ELeave) CAknsPropertySubscriber(
   625         TCallBack(USBCallBack, this), iEnableUSBWatchProperty );
   628         TCallBack(USBCallBackL, this), iEnableUSBWatchProperty );
   626     iUSBWatchSubscriber->SubscribeL();
   629     iUSBWatchSubscriber->SubscribeL();
   627     }
   630     }
   628 
   631 
   629 // -----------------------------------------------------------------------------
   632 // -----------------------------------------------------------------------------
   630 // Sets active skin PID.
   633 // Sets active skin PID.
   738 // Return screensaver state.
   741 // Return screensaver state.
   739 // -----------------------------------------------------------------------------
   742 // -----------------------------------------------------------------------------
   740 //
   743 //
   741 TInt CAknsSrvSettings::ScreensaverState() const
   744 TInt CAknsSrvSettings::ScreensaverState() const
   742     {
   745     {
   743     return KErrNotFound;
   746     TInt retValue = KErrNotFound;
       
   747     if ( iScreensaverActivationSubscriber )
       
   748         {
       
   749         iScreensaverActivationProperty.Get(
       
   750             KPSUidScreenSaver,
       
   751             KScreenSaverOn,
       
   752             retValue );
       
   753         }
       
   754     return retValue;
   744     }
   755     }
   745 
   756 
   746 // -----------------------------------------------------------------------------
   757 // -----------------------------------------------------------------------------
   747 // Interval of image change in slide set.
   758 // Interval of image change in slide set.
   748 // -----------------------------------------------------------------------------
   759 // -----------------------------------------------------------------------------
   988 
   999 
   989 // -----------------------------------------------------------------------------
  1000 // -----------------------------------------------------------------------------
   990 // Some PS property has changed.
  1001 // Some PS property has changed.
   991 // -----------------------------------------------------------------------------
  1002 // -----------------------------------------------------------------------------
   992 //
  1003 //
   993 void CAknsSrvSettings::HandlePropertyChange(
  1004 void CAknsSrvSettings::HandlePropertyChangeL(
   994     const TAknsSrvSettingsProperty aProperty )
  1005     const TAknsSrvSettingsProperty aProperty )
   995     {
  1006     {
   996     switch( aProperty )
  1007     switch( aProperty )
   997         {
  1008         {
   998         case EAknsSrvSPUSBAttached:
  1009         case EAknsSrvSPUSBAttached:
  1003                 {
  1014                 {
  1004                 iObserver->NotifyUSBAttach();
  1015                 iObserver->NotifyUSBAttach();
  1005                 }
  1016                 }
  1006             else
  1017             else
  1007                 {
  1018                 {
  1008                 iObserver->NotifyUSBRemoval();
  1019                 iObserver->NotifyUSBRemovalL();
  1009                 }
  1020                 }
  1010             }
  1021             }
  1011             break;
  1022             break;
  1012         case EAknsSrvSPLayoutId:
  1023         case EAknsSrvSPLayoutId:
  1013             {
  1024             {
  1034 
  1045 
  1035         case EAknsSrvSPDRMHelperNotification:
  1046         case EAknsSrvSPDRMHelperNotification:
  1036             iObserver->NotifyDRMChange();
  1047             iObserver->NotifyDRMChange();
  1037             break;
  1048             break;
  1038         case EAknsSrvSPWallpaperType:
  1049         case EAknsSrvSPWallpaperType:
  1039             iObserver->NotifyWallpaperTypeChange();
  1050             iObserver->NotifyWallpaperTypeChangeL();
  1040             break;
  1051             break;
  1041         case EAknsSrvSPSlidesetWPTimeout:
  1052         case EAknsSrvSPSlidesetWPTimeout:
  1042             iObserver->NotifySlideSetTimeoutChange();
  1053             iObserver->NotifySlideSetTimeoutChange();
  1043             break;
  1054             break;
  1044         case EAknsSrvSPSlidesetWPType:
  1055         case EAknsSrvSPSlidesetWPType:
  1176         iObserver->NotifyScreenSaverChange();
  1187         iObserver->NotifyScreenSaverChange();
  1177         }
  1188         }
  1178     iDelayedNotification = EFalse;
  1189     iDelayedNotification = EFalse;
  1179     }
  1190     }
  1180 
  1191 
       
  1192 // -----------------------------------------------------------------------------
       
  1193 // Write Wallpaper Type.
       
  1194 // -----------------------------------------------------------------------------
       
  1195 //
       
  1196 void CAknsSrvSettings::WriteWallpaperType(TInt aType)
       
  1197     {
       
  1198     iSkinsRepository->Set( KPslnWallpaperType, aType );
       
  1199     }
       
  1200 
       
  1201 // -----------------------------------------------------------------------------
       
  1202 // Write Wallpaper Path.
       
  1203 // -----------------------------------------------------------------------------
       
  1204 //
       
  1205 void CAknsSrvSettings::WriteWallpaperPath(const TDesC& aPath)
       
  1206     {
       
  1207     iSkinsRepository->Set( KPslnIdleBackgroundImagePath, aPath );
       
  1208     }
       
  1209 
  1181 // End of File
  1210 // End of File