?? psl_process_status.cpp
字號:
/* clear status menu */
if (PslScreenLayoutClearStatusMenu(pPSL) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusFullStop: Failure clearing status menu!\n"));
return (PSL_FAILURE);
}
}
/* If time display is active, then clear it */
if (PslScreenLayoutIsStatusDisplayActive(pPSL) == TRUE)
{
/* clear time display */
if (PslScreenLayoutClearStatusDisplay(pPSL) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusFullStop: Failure clearing status display!\n"));
return (PSL_FAILURE);
}
}
return (PSL_SUCCESS);
}
/**
* PslProcessStatusNoResume -- Process the no resume status event
*
* @param
* pPSL - handle to internal PSL data
* ulData1 - data parameter associated with status event
* ulData2 - data parameter associated with status event
* pvBuffer - buffer containing data associated with status event
* ulBufferSize - size of buffer pointed to by pvBuffer
*
* @retval
* PSL_SUCCESS if successful
* PSL_FAILURE if not successful
*/
PSL_STATUS PslProcessStatusNoResume(PSL_HANDLE *pPSL, ULONG ulData1, ULONG ulData2, PVOID pvBuffer, ULONG ulBufferSize)
{
ULONG ulTimeout = 0;
DBGPRINT(DBG_ON(DBG_TRACE), ("PslProcessStatusNoResume: ENTER\n"));
if (pPSL == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusNoResume: NULL handle!\n"));
return (PSL_NULL_POINTER);
}
/* If setup menu is active, then clear it */
if (PslScreenLayoutIsSetupMenuActive(pPSL) == TRUE)
{
/* clear setup menu */
if (PslScreenLayoutClearSetupMenu(pPSL) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusNoResume: Failure clearing setup menu!\n"));
return (PSL_FAILURE);
}
}
/* If status menu is active, then clear it */
if (PslScreenLayoutIsStatusMenuActive(pPSL) == TRUE)
{
/* clear status menu */
if (PslScreenLayoutClearStatusMenu(pPSL) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusNoResume: Failure clearing status menu!\n"));
return (PSL_FAILURE);
}
}
/* If time display is active, then clear it */
if (PslScreenLayoutIsStatusDisplayActive(pPSL) == TRUE)
{
/* clear time display */
if (PslScreenLayoutClearStatusDisplay(pPSL) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusNoResume: Failure clearing status display!\n"));
return (PSL_FAILURE);
}
}
/* Set the osd timer */
if (OS_TimerSetMsec(pPSL->Timer, ulTimeout) != OS_OK)
{
DbgPrint(("PslProcessStatusNoResume: Timer set FAILED\n"));
return (PSL_FAILURE);
}
/* Draw no resume message on generic osd */
if (PslScreenLayoutDrawGeneric(pPSL, PSL_STATUS_NO_RESUME, ulData1) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusNoResume: failed to draw message!\n"));
return (PSL_FAILURE);
}
/* Set flag */
m_fNoResume = TRUE;
return (PSL_SUCCESS);
}
/**
* PslProcessStatusOpen -- Process the tray open status event
*
* @param
* pPSL - handle to internal PSL data
* ulData1 - data parameter associated with status event
* ulData2 - data parameter associated with status event
* pvBuffer - buffer containing data associated with status event
* ulBufferSize - size of buffer pointed to by pvBuffer
*
* @retval
* PSL_SUCCESS if successful
* PSL_FAILURE if not successful
*/
PSL_STATUS PslProcessStatusOpen(PSL_HANDLE *pPSL, ULONG ulData1, ULONG ulData2, PVOID pvBuffer, ULONG ulBufferSize)
{
ULONG ulTimeout = 3000;
DBGPRINT(DBG_ON(DBG_TRACE), ("PslProcessStatusOpen: ENTER\n"));
if (pPSL == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusOpen: NULL handle!\n"));
return (PSL_NULL_POINTER);
}
/* check that icon data is valid */
if (pPSL->pIconData == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusOpen: NULL handle!\n"));
return (PSL_FAILURE);
}
/* Get the eject icon */
pPSL->pIconData->pActiveIcon = PslBitmapGetEjectIcon();
if (pPSL->pIconData->pActiveIcon == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusOpen: failed to get icon!\n"));
return (PSL_FAILURE);
}
/* Set the Icon timer */
if (OS_TimerSetMsec(pPSL->pIconData->Timer, ulTimeout) != OS_OK)
{
DbgPrint(("PslProcessStatusOpen: Timer set FAILED\n"));
return (PSL_FAILURE);
}
/* Draw the icon */
if (PslScreenLayoutDrawIcon(pPSL, pPSL->pIconData->pActiveIcon) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusOpen: failed to draw icon!\n"));
return (PSL_FAILURE);
}
return (PSL_SUCCESS);
}
/**
* PslProcessStatusClose -- Process the tray close status event
*
* @param
* pPSL - handle to internal PSL data
* ulData1 - data parameter associated with status event
* ulData2 - data parameter associated with status event
* pvBuffer - buffer containing data associated with status event
* ulBufferSize - size of buffer pointed to by pvBuffer
*
* @retval
* PSL_SUCCESS if successful
* PSL_FAILURE if not successful
*/
PSL_STATUS PslProcessStatusClose(PSL_HANDLE *pPSL, ULONG ulData1, ULONG ulData2, PVOID pvBuffer, ULONG ulBufferSize)
{
ULONG ulTimeout = 3000;
DBGPRINT(DBG_ON(DBG_TRACE), ("PslProcessStatusClose: ENTER\n"));
if (pPSL == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusClose: NULL handle!\n"));
return (PSL_NULL_POINTER);
}
/* check that icon data is valid */
if (pPSL->pIconData == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusClose: NULL handle!\n"));
return (PSL_FAILURE);
}
/* Get the eject icon */
pPSL->pIconData->pActiveIcon = PslBitmapGetEjectIcon();
if (pPSL->pIconData->pActiveIcon == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusClose: failed to get icon!\n"));
return (PSL_FAILURE);
}
/* Set the Icon timer */
if (OS_TimerSetMsec(pPSL->pIconData->Timer, ulTimeout) != OS_OK)
{
DbgPrint(("PslProcessStatusClose: Timer set FAILED\n"));
return (PSL_FAILURE);
}
/* Draw the icon */
if (PslScreenLayoutDrawIcon(pPSL, pPSL->pIconData->pActiveIcon) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusClose: failed to draw icon!\n"));
return (PSL_FAILURE);
}
return (PSL_SUCCESS);
}
/**
* PslProcessStatusSlowFwd -- Process the slow fwd status event
*
* @param
* pPSL - handle to internal PSL data
* ulData1 - data parameter associated with status event
* ulData2 - data parameter associated with status event
* pvBuffer - buffer containing data associated with status event
* ulBufferSize - size of buffer pointed to by pvBuffer
*
* @retval
* PSL_SUCCESS if successful
* PSL_FAILURE if not successful
*/
PSL_STATUS PslProcessStatusSlowFwd(PSL_HANDLE *pPSL, ULONG ulData1, ULONG ulData2, PVOID pvBuffer, ULONG ulBufferSize)
{
ULONG ulTimeout = 0;
DBGPRINT(DBG_ON(DBG_TRACE), ("PslProcessStatusSlowFwd: ENTER\n"));
if (pPSL == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusSlowFwd: NULL handle!\n"));
return (PSL_NULL_POINTER);
}
/* check that icon data is valid */
if (pPSL->pIconData == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusSlowFwd: NULL handle!\n"));
return (PSL_FAILURE);
}
/* Get the slow forward icon */
pPSL->pIconData->pActiveIcon = PslBitmapGetSlowFIcon();
if (pPSL->pIconData->pActiveIcon == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusSlowFwd: failed to get icon!\n"));
return (PSL_FAILURE);
}
/* If time display is not active, icon should timeout */
if (PslScreenLayoutIsStatusDisplayActive(pPSL) == FALSE)
{
ulTimeout = 3000;
}
/* Set the Icon timer */
if (OS_TimerSetMsec(pPSL->pIconData->Timer, ulTimeout) != OS_OK)
{
DbgPrint(("PslProcessStatusSlowFwd: Timer set FAILED\n"));
return (PSL_FAILURE);
}
/* Draw the icon */
if (PslScreenLayoutDrawIcon(pPSL, pPSL->pIconData->pActiveIcon) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusSlowFwd: failed to draw icon!\n"));
return (PSL_FAILURE);
}
return (PSL_SUCCESS);
}
/**
* PslProcessStatusSlowRwd -- Process the slow rwd status event
*
* @param
* pPSL - handle to internal PSL data
* ulData1 - data parameter associated with status event
* ulData2 - data parameter associated with status event
* pvBuffer - buffer containing data associated with status event
* ulBufferSize - size of buffer pointed to by pvBuffer
*
* @retval
* PSL_SUCCESS if successful
* PSL_FAILURE if not successful
*/
PSL_STATUS PslProcessStatusSlowRwd(PSL_HANDLE *pPSL, ULONG ulData1, ULONG ulData2, PVOID pvBuffer, ULONG ulBufferSize)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusSlowRwd: stubbed\n"));
return (PSL_FAILURE);
}
/**
* PslProcessStatusFastFwd -- Process the fast fwd status event
*
* @param
* pPSL - handle to internal PSL data
* ulData1 - data parameter associated with status event
* ulData2 - data parameter associated with status event
* pvBuffer - buffer containing data associated with status event
* ulBufferSize - size of buffer pointed to by pvBuffer
*
* @retval
* PSL_SUCCESS if successful
* PSL_FAILURE if not successful
*/
PSL_STATUS PslProcessStatusFastFwd(PSL_HANDLE *pPSL, ULONG ulData1, ULONG ulData2, PVOID pvBuffer, ULONG ulBufferSize)
{
ULONG ulTimeout = 0;
DBGPRINT(DBG_ON(DBG_TRACE), ("PslProcessStatusFastFwd: ENTER\n"));
if (pPSL == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusFastFwd: NULL handle!\n"));
return (PSL_NULL_POINTER);
}
/* check that icon data is valid */
if (pPSL->pIconData == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusFastFwd: NULL handle!\n"));
return (PSL_FAILURE);
}
/* Get the fast forward icon */
pPSL->pIconData->pActiveIcon = PslBitmapGetFFIcon();
if (pPSL->pIconData->pActiveIcon == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusFastFwd: failed to get icon!\n"));
return (PSL_FAILURE);
}
/* If time display is not active, icon should timeout */
if (PslScreenLayoutIsStatusDisplayActive(pPSL) == FALSE)
{
ulTimeout = 3000;
}
/* Set the Icon timer */
if (OS_TimerSetMsec(pPSL->pIconData->Timer, ulTimeout) != OS_OK)
{
DbgPrint(("PslProcessStatusFastFwd: Timer set FAILED\n"));
return (PSL_FAILURE);
}
/* Draw the icon */
if (PslScreenLayoutDrawIcon(pPSL, pPSL->pIconData->pActiveIcon) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusFastFwd: failed to draw icon!\n"));
return (PSL_FAILURE);
}
return (PSL_SUCCESS);
}
/**
* PslProcessStatusFastRwd -- Process the fast rwd status event
*
* @param
* pPSL - handle to internal PSL data
* ulData1 - data parameter associated with status event
* ulData2 - data parameter associated with status event
* pvBuffer - buffer containing data associated with status event
* ulBufferSize - size of buffer pointed to by pvBuffer
*
* @retval
* PSL_SUCCESS if successful
* PSL_FAILURE if not successful
*/
PSL_STATUS PslProcessStatusFastRwd(PSL_HANDLE *pPSL, ULONG ulData1, ULONG ulData2, PVOID pvBuffer, ULONG ulBufferSize)
{
ULONG ulTimeout = 0;
DBGPRINT(DBG_ON(DBG_TRACE), ("PslProcessStatusFastRwd: ENTER\n"));
if (pPSL == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessStatusFastRwd: NULL handle!\n"));
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -