pcce::SoundResource Class Reference

#include <SoundResource.h>

Inheritance diagram for pcce::SoundResource:

pcce::IResource

List of all members.

Public Member Functions

 SoundResource (const std::string &name)
 ~SoundResource ()
void SetFileName (const std::string &fileName)
ALuint GetBuffer ()

Protected Member Functions

bool vDoLoad ()
bool vDoUnload ()
std::string vGetType ()

Private Attributes

std::string mFileName
ALuint mBuffer


Detailed Description

Definition at line 43 of file SoundResource.h.


Constructor & Destructor Documentation

SoundResource::SoundResource ( const std::string &  name  ) 

Definition at line 40 of file SoundResource.cpp.

00040                                                  : IResource(name), mFileName(""), mBuffer(AL_NONE) {
00041 }

SoundResource::~SoundResource (  ) 

Definition at line 43 of file SoundResource.cpp.

References pcce::IResource::Unload().

00043                               {
00044   Unload();
00045 }


Member Function Documentation

void SoundResource::SetFileName ( const std::string &  fileName  ) 

Definition at line 47 of file SoundResource.cpp.

References mFileName, PCCE_CHECK, and pcce::IResource::Unload().

00047                                                          {
00048   PCCE_CHECK(!fileName.empty(), "Cannot set SoundResource\'s filename to empty string");
00049 
00050   Unload();
00051   mFileName = fileName;
00052 }

ALuint SoundResource::GetBuffer (  ) 

Definition at line 54 of file SoundResource.cpp.

References pcce::IResource::Load(), mBuffer, PCCE_AL_CHECK, and PCCE_CHECK.

00054                                 {
00055   Load();
00056   PCCE_CHECK(AL_NONE != mBuffer, "SoundResource\'s buffer is unset");
00057 
00058   PCCE_AL_CHECK();
00059   
00060   return mBuffer;
00061 }

bool SoundResource::vDoLoad (  )  [protected, virtual]

Implements pcce::IResource.

Definition at line 63 of file SoundResource.cpp.

References pcce::LoadOgg(), mBuffer, mFileName, PCCE_AL_CHECK, and PCCE_CHECK.

00063                             {
00064   PCCE_CHECK(!mFileName.empty(), "SoundResource\'s file name is not set");
00065   PCCE_CHECK(AL_NONE == mBuffer, "SoundResource\'s buffer is already set");
00066 
00067   mBuffer = LoadOgg(mFileName);
00068   PCCE_CHECK(AL_NONE != mBuffer, "LoadOgg failed");
00069 
00070   PCCE_AL_CHECK();
00071   
00072   return true;
00073 }

bool SoundResource::vDoUnload (  )  [protected, virtual]

Implements pcce::IResource.

Definition at line 75 of file SoundResource.cpp.

References pcce::ClearALError(), mBuffer, and PCCE_CHECK.

00075                               {
00076   PCCE_CHECK(AL_NONE != mBuffer, "SoundResource\'s buffer is not set");
00077   ClearALError();
00078   if (alIsBuffer(mBuffer)) {
00079     ClearALError();
00080     alDeleteBuffers(1, &mBuffer);
00081   }
00082   ClearALError();
00083   mBuffer = AL_NONE;
00084 
00085   return true;
00086 }

std::string pcce::SoundResource::vGetType (  )  [inline, protected, virtual]

Implements pcce::IResource.

Definition at line 56 of file SoundResource.h.

References pcce::SoundResourceType.

00056 { return SoundResourceType; };


Member Data Documentation

std::string pcce::SoundResource::mFileName [private]

Definition at line 56 of file SoundResource.h.

Referenced by SetFileName(), and vDoLoad().

ALuint pcce::SoundResource::mBuffer [private]

Definition at line 60 of file SoundResource.h.

Referenced by GetBuffer(), vDoLoad(), and vDoUnload().


The documentation for this class was generated from the following files:

Generated on Thu Mar 6 11:39:28 2008 for Protocce by  doxygen 1.5.5