Files
Work/sample/WaveHdr.hpp
2024-08-07 09:16:27 -04:00

98 lines
1.6 KiB
C++

#ifndef _SAMPLE_WAVEHEADER_HPP_
#define _SAMPLE_WAVEHEADER_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
#ifndef _COMMON_MMSYSTEM_HPP_
#include <common/mmsystem.hpp>
#endif
class WaveHeader : private WAVEHDR
{
public:
WaveHeader(void);
WaveHeader(const WaveHeader &someWaveHeader);
~WaveHeader();
WaveHeader &operator=(const WaveHeader &someWaveHeader);
WORD operator==(const WaveHeader &someWaveHeader);
void setData(LPSTR lpData);
void setBufferLength(DWORD bufferLength);
void userData(DWORD userData);
DWORD userData(void)const;
// operator WAVEHDR &(void)const;
private:
void initHeader(void);
};
inline
WaveHeader::WaveHeader(void)
{
initHeader();
}
inline
WaveHeader::WaveHeader(const WaveHeader &someWaveHeader)
{
*this=someWaveHeader;
}
inline
WaveHeader::~WaveHeader()
{
}
inline
void WaveHeader::initHeader(void)
{
::memset(&((WAVEHDR&)*this),0,sizeof(WAVEHDR));
}
inline
void WaveHeader::setData(LPSTR lpData)
{
WAVEHDR::lpData=lpData;
}
inline
void WaveHeader::setBufferLength(DWORD bufferLength)
{
WAVEHDR::dwBufferLength=bufferLength;
}
inline
void WaveHeader::userData(DWORD userData)
{
WAVEHDR::dwUser=userData;
}
inline
DWORD WaveHeader::userData(void)const
{
return WAVEHDR::dwUser;
}
inline
WaveHeader &WaveHeader::operator=(const WaveHeader &someWaveHeader)
{
initHeader();
setData(someWaveHeader.WAVEHDR::lpData);
setBufferLength(someWaveHeader.WAVEHDR::dwBufferLength);
return *this;
}
inline
WORD WaveHeader::operator==(const WaveHeader &someWaveHeader)
{
return FALSE;
}
#if 0
inline
WaveHeader::operator WAVEHDR &(void)const
{
return *((WAVEHDR*)this);
}
#endif
#endif