BaSystemSound Class Reference

#include <bassnd.h>

class BaSystemSound
Public Member Functions
IMPORT_C TIntGetSound(RFs &, const TBaSystemSoundType &, TBaSystemSoundInfo &)
IMPORT_C voidSetSoundL(RFs &, const TBaSystemSoundInfo &)
IMPORT_C TFileNameSystemSoundFile()

Detailed Description

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.

See also: BaSystemSound::SystemSoundFile KSystemSoundRepositoryUID

Member Function Documentation

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

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

Gets sound information from storage.

Parameters
aFsSessionunused parameter kept for compatibility reason.
aTypeunique 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.
aInfoOn return, the sound.
Return Value
KErrNone if successful, or one of the system wide errors if unsuccessful.

SetSoundL ( RFs &, const TBaSystemSoundInfo & )

IMPORT_C voidSetSoundL(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.

Parameters
aFsSessionunused parameter kept for backward compatibility.
aInfoThe sound to add to the system sound table.
Leave Codes
KErrPermissionDeniedcaller does not have WriteDeviceData capability.
KErrArgumentif the sound has not been initialized. Other system-wide error codes may also be returned.
Capability
WriteDeviceDataNote only clients with WriteDeviceData capability can sucessfully call this API.

SystemSoundFile ( )

IMPORT_C TFileNameSystemSoundFile()[static]
Deprecated

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);

See also: CRepository::NotifyRequest()