"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSSoundLib/Src/SoundComponentsEx/LSSSoundBufferEx.h

00001 
00018 #ifndef __LSS_SOUNDBUFFEREX_H__
00019 #define __LSS_SOUNDBUFFEREX_H__
00020 
00021 #include "../LSSSoundLib.h"
00022 #include "../SoundComponents/LSSSoundBuffer.h"
00023 
00024 namespace lss {
00025 
00034         class CSoundBufferEx : public CSoundBuffer {
00035                 // Only the sound manager can create us.
00036                 friend class                                                    CSoundManagerEx;
00037 
00038         public :
00039                 // == Various constructors.
00040                 virtual LSE_CALLCTOR                                    ~CSoundBufferEx();
00041 
00042 
00043                 // == Functions.
00049                 LSE_INLINE const LSCHAR * LSE_CALL              GetPath() const;
00050 
00063                 virtual LSBOOL LSH_CALL                                 CanSoftUnload() const;
00064 
00070                 LSVOID LSE_CALL                                                 SetSoftUnloading( LSBOOL _bValue );
00071 
00072 
00073         protected :
00074                 // == Various constructors.
00075                 LSE_CALLCTOR                                                    CSoundBufferEx( const LSUINT8 * _pui8Data, LSUINT32 _ui32Length,
00076                         LSUINT32 _ui32Freq, LSUINT32 _ui32Bits, LSUINT32 _ui32Channels, CAllocator * _paAllocator, LSBOOL _bRetain, LSUINTPTR _uiptrUserData );
00077 
00078 
00079                 // == Members.
00080                 // The file we load.
00081                 LSCHAR *                                                                m_pcFile;
00082 
00083                 // Do we permit soft unloading?
00084                 LSBOOL                                                                  m_bSoftUnload;
00085 
00086 
00087         private :
00088                 // == Functions.
00095                 virtual LSBOOL LSH_CALL                                 GetOriginalData();
00096         };
00097 
00098 
00099         // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00100         // DEFINITIONS
00101         // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00102         // == Functions.
00108         LSE_INLINE const LSCHAR * LSE_CALL CSoundBufferEx::GetPath() const {
00109                 return m_pcFile;
00110         }
00111 
00112 }       // namespace lss
00113 
00114 #endif  // __LSS_SOUNDBUFFEREX_H__
00115 
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator