00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _ABSTRACTSOUNDEFFECT_
00019 #define _ABSTRACTSOUNDEFFECT_
00020
00021 #include <boost/shared_ptr.hpp>
00022
00023 #include "sound/SoundResourceHandle.h"
00024
00025 class AbstractSoundEffect
00026 {
00027 public:
00028 virtual ~AbstractSoundEffect() { }
00029
00030 virtual void Play(const int nVolume, bool bLoop) = 0;
00031 virtual void Stop() = 0;
00032 virtual void Pause() = 0;
00033 virtual void Resume() = 0;
00034
00035 virtual void SetVolume(const int nVolume) = 0;
00036 virtual bool IsPlaying() = 0;
00037
00038 virtual SoundResourceHandlePtr GetResource() = 0;
00039 };
00040
00041 typedef boost::shared_ptr<AbstractSoundEffect> AbstractSoundEffectPtr;
00042
00043 #endif