78 lines
2.1 KiB
C++
78 lines
2.1 KiB
C++
#include <sample/devhndlr.hpp>
|
|
#include <common/string.hpp>
|
|
|
|
void DeviceHandler::insertHandlers(void)
|
|
{
|
|
mWindowHandler.insertHandler(VectorHandler::MMOpenHandler,&mMMOpenHandler);
|
|
mWindowHandler.insertHandler(VectorHandler::MMCloseHandler,&mMMCloseHandler);
|
|
mWindowHandler.insertHandler(VectorHandler::MMDoneHandler,&mMMDoneHandler);
|
|
}
|
|
|
|
void DeviceHandler::removeHandlers(void)
|
|
{
|
|
mWindowHandler.removeHandler(VectorHandler::MMOpenHandler,&mMMOpenHandler);
|
|
mWindowHandler.removeHandler(VectorHandler::MMCloseHandler,&mMMCloseHandler);
|
|
mWindowHandler.removeHandler(VectorHandler::MMDoneHandler,&mMMDoneHandler);
|
|
}
|
|
|
|
void DeviceHandler::mmSystemErrorMessage(MMRESULT mmResult)const
|
|
{
|
|
String errorString;
|
|
::waveOutGetErrorText(mmResult,(LPSTR)errorString,String::MaxString);
|
|
message(errorString);
|
|
}
|
|
|
|
void DeviceHandler::genericErrorMessage(ErrorCode errorCode)const
|
|
{
|
|
if(errorCode==InvalidFormat)message("Invalid Format.");
|
|
else if(errorCode==InvalidDeviceHandle)message("Invalid Device Handle.");
|
|
else if(errorCode==InvalidHeader)message("Invalid Header.");
|
|
else message("Unknown Error.");
|
|
return;
|
|
}
|
|
|
|
WORD DeviceHandler::operator==(const DeviceHandler &/*someDeviceHandler*/)const
|
|
{
|
|
return FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType DeviceHandler::mmOpenHandler(CallbackData &someCallbackData)
|
|
{
|
|
openHandler(someCallbackData);
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType DeviceHandler::mmCloseHandler(CallbackData &someCallbackData)
|
|
{
|
|
closeHandler(someCallbackData);
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
CallbackData::ReturnType DeviceHandler::mmDoneHandler(CallbackData &someCallbackData)
|
|
{
|
|
doneHandler(someCallbackData);
|
|
return (CallbackData::ReturnType)FALSE;
|
|
}
|
|
|
|
// virtuals
|
|
|
|
void DeviceHandler::openHandler(CallbackData &/*someCallbackData*/)
|
|
{
|
|
return;
|
|
}
|
|
|
|
void DeviceHandler::closeHandler(CallbackData &/*someCallbackData*/)
|
|
{
|
|
return;
|
|
}
|
|
|
|
void DeviceHandler::doneHandler(CallbackData &/*someCallbackData*/)
|
|
{
|
|
return;
|
|
}
|
|
|
|
void DeviceHandler::message(const String &strErrorMessage)const
|
|
{
|
|
::MessageBox(::GetFocus(),(LPSTR)(String&)strErrorMessage,(LPSTR)"DeviceHandler",MB_OK);
|
|
}
|