00001 /* 00002 * ============================================================================= 00003 * Name : AknSoundSystem.h 00004 * Part of : Avkon 00005 * 00006 * Description : This is an interface for controlling keysounds. 00007 * Version : 00008 * 00009 * Copyright © 2002-2004 Nokia. All rights reserved. 00010 * This material, including documentation and any related 00011 * computer programs, is protected by copyright controlled by 00012 * Nokia. All rights are reserved. Copying, including 00013 * reproducing, storing, adapting or translating, any 00014 * or all of this material requires the prior written consent of 00015 * Nokia. This material also contains confidential 00016 * information which may not be disclosed to others without the 00017 * prior written consent of Nokia. 00018 * ============================================================================== 00019 */ 00020 00021 #if !defined(__AKNSOUNDSYSTEM_H__) 00022 #define __AKNSOUNDSYSTEM_H__ 00023 00024 // INCLUDES 00025 #include <e32base.h> 00026 #include <w32std.h> 00027 #include <aknSoundInfo.h> 00028 00029 00030 // CLASS DECLARATION 00031 class CAknSoundPlayer; 00032 class CAknKeySoundStack; 00033 00039 NONSHARABLE_CLASS(CAknKeySoundSystem) : public CBase 00040 { 00041 public: 00047 IMPORT_C static CAknKeySoundSystem* NewL(TInt aUid); 00048 00052 IMPORT_C ~CAknKeySoundSystem(); 00053 00062 IMPORT_C void PushContextL(TInt aResourceId); 00063 00067 IMPORT_C void PopContext(); 00068 00073 IMPORT_C void PlaySound(const TKeyEvent& aKeyEvent); 00074 00080 IMPORT_C void PlaySound(TInt aSid); 00081 00088 IMPORT_C void AddAppSoundInfoListL(TInt aResourceId); 00089 00095 IMPORT_C void BringToForeground(); 00096 00101 IMPORT_C void StopSound(TInt aSid); 00102 00106 IMPORT_C void LockContext(); 00107 00111 IMPORT_C void ReleaseContext(); 00112 00121 IMPORT_C TInt RequestSoundInfoL(TInt aAvkonSid, CAknSoundInfo& aInfo); 00122 00123 #start_since SINCE_3_1_SDK 00124 00131 IMPORT_C TInt TopContext(); 00132 #end_since SINCE_3_1_SDK 00133 private: 00134 CAknKeySoundSystem(); 00135 void ConstructL(TInt aUid); 00136 private: 00137 CAknSoundPlayer* iSoundPlayer; 00138 TInt iSpare; 00139 }; 00140 00141 // __AKNSOUNDSYSTEM_H__ 00142 #endif