BaSystemSound Class Reference

class BaSystemSound

API class to retrieve and modify the system sounds settings.

Note that SystemSoundFile() is now deprecated and will be removed in a future release. The filename it returns is no longer valid but is kept for backwards compatibility. The system sounds settings are no longer stored in a data file.

BaSystemSound::SystemSoundFile KSystemSoundRepositoryUID

Member Functions Documentation

DefaultSound(TBaSystemSoundUid)

TBaSystemSoundName DefaultSound ( TBaSystemSoundUid aSSUid ) [private, static]

Parameters

TBaSystemSoundUid aSSUid

GetSound(RFs &, const TBaSystemSoundType &, TBaSystemSoundInfo &)

IMPORT_C TInt GetSound ( RFs & aFsSession,
const TBaSystemSoundType & aType,
TBaSystemSoundInfo & aInfo
) [static]

Gets sound information from storage.

Parameters

RFs & aFsSession unused parameter kept for compatibility reason.
const TBaSystemSoundType & aType unique identifier of the sound. aType encapsulates a major and optionally a minor UID. The major UID specifes the sound category while the minor UID specifies an instance of the category.
TBaSystemSoundInfo & aInfo On return, the sound.

SetSoundL(RFs &, const TBaSystemSoundInfo &)

IMPORT_C void SetSoundL ( RFs & aFsSession,
const TBaSystemSoundInfo & aInfo
) [static]

Adds the specified sound to the system sound table if it does not already exist in the table. If the sound already exists then overwrite the entry in the sound table.

capability
WriteDeviceData Note only clients with WriteDeviceData capability can sucessfully call this API.
leave
KErrPermissionDenied caller does not have WriteDeviceData capability.
leave
KErrArgument if the sound has not been initialized. Other system-wide error codes may also be returned.

Parameters

RFs & aFsSession unused parameter kept for backward compatibility.
const TBaSystemSoundInfo & aInfo The sound to add to the system sound table.

SystemSoundFile()

IMPORT_C TFileName SystemSoundFile ( ) [static]

Returns the system sound filename.

This function is now deprecated. System sounds are now stored in Central Repository. The function still returns the file name, but the file is no longer read from nor written to. There is no guarantee that the file exists.

Client code which uses the filename for backup and restore purposes should be removed. Central Repository handles backup and restore of system sound settings.

Client code that uses the filename for change notification must use KSystemSoundRepositoryUID to connect to Central Repository and must register for group notification on system sound repository changes. For example, if you used code such as:
         iFs.Connect() ;
TFileName soundFileName = BaSystemSound ::SystemSoundFile();
iFs.NotifyChange(ENotifyAll, iRequestStatus, soundFileName);
        
you would now use:
         const Tuint32 KDoNotCareValue = 0 ;
const Tuint32 KAllMask = 0 ;
iRepository = CRepository ::NewL(KBaSsndRepositoryUid);
iRepository.NotifyRequest(KDoNotCareValue, KAllMask, iRequestStatus);
        

CRepository::NotifyRequest()