// ----------------------------------------------------------------------------
// CSysApPubSubObserver::HandlePropertyChangedL()
// ----------------------------------------------------------------------------
void CSysApPubSubObserver::HandlePropertyChangedL( const TUid& aCategory, const TUint aKey )
    {
    TInt value( 0 );
    RProperty::Get( aCategory, aKey, value );

#ifdef _DEBUG

    HBufC* hbuf = HBufC::New( 120 );

    if ( hbuf )
        {
        TPtr buf = hbuf->Des();

        buf = _L("CSysApPubSubObserver::HandlePropertyChangedL: category=0x");
        buf.AppendNumFixedWidth( aCategory.iUid, EHex, 8 );
        buf.Append( _L(", key=0x") );
        buf.AppendNumFixedWidth( aKey, EHex, 8 );
        buf.Append( _L(", value=") );
        buf.AppendNum( value );

        RDebug::Print( buf );
        delete hbuf;
        }

#endif

    // KIrdaPropertyCategory is actually defined as KUidSystemCategory, but just in case this ever changes,
    // check them separately here. The keys should have no overlap.
    if ( aCategory == KUidSystemCategory || aCategory == KIrdaPropertyCategory )
        {
        HandleSystemCategoryL( aKey, value );
        }
    else if ( aCategory == KPSUidStartup || aCategory == KAlarmServerPubSubCategory )
        {
        HandleStartupCategoryL( aKey, value );
        }
    else if ( aCategory == KPSUidCoreApplicationUIs )
        {
        HandleCoreAppUIsCategoryL( aKey, value );
        }
    else if ( aCategory == KPSUidHWRMPowerState )
        {
        HandleHwrmPowerStateCategoryL( aKey, value );
        }
    else if ( aCategory == KPSUidWlan )
        {
        HandleWlanCategoryL( aKey, value );
        }
    else if ( aCategory == KPSUidCtsyCallInformation )
        {
        HandleTelephonyCallInformationCategoryL( aKey, value );
        }
    else if ( aCategory == KPSUidNetworkInfo )
        {
        HandleNetworkInfoCategoryL( aKey, value );
        }
    else if ( aCategory == KPSUidHWRM )
        {
        HandleHwrmCategoryL( aKey, value );
        }
/*    else if ( aCategory == KPSUidHWRMFmTx )
        {
        HandleHwrmFmTxCategoryL( aKey, value );
        }
*/
    else if ( aCategory == KPSUidDataSynchronizationInternalKeys )
        {
        HandleDataSyncCategoryL( aKey, value );
        }
    else if ( aCategory == KPosIndicatorCategoryUid )
        {
        HandlePosIndicatorCategoryL( aKey, value );
        }
    else if ( aCategory == KUidPSSMSStackCategory )
        {
        HandleSmsStackCategoryL( aKey, value );
        }
    else if ( aCategory == KPSUidAvkonDomain)
        {
        HandleLKeylockEventL( aKey, value );
        }
    else if ( aCategory == KPSUidSecurityUIs)
        {
        HandleLightsOnRequestL( aKey, value );
        }
    }