?? guidisplay.cpp
字號:
status = RM_ERROR; RFREE(where); where = NULL; } return status;}RMstatus RMcuracaoGui::InsertMinibar(RMbool checkPass){ RMstatus status; RMascii* passws[3]; guiPopupType popup; if (!m_initialized) { RMDBGLOG((GUIDBG, "GUI not initialised !!\n")); return RM_ERROR; } if (!ISPOPUP(m_pnav->SelectedObjectId())) return RM_ERROR; status = m_pnav->GetPopup(m_pnav->SelectedObjectId(), &popup); if (RMFAILED(status)) return status; if (checkPass) { RMuint8 j = 0; for (RMuint8 i = 0; i < popup.nbStrings; i++) { if (popup.strings[i]->object.type == STRING_FIELD) { passws[j] = popup.strings[i]->object.text; j++; //RMCopyAscii(passws, popup.strings[i]->object.text); //break; } } } { RMascii *where = RMCatAscii(m_pnav->m_parser->GetUrl(), m_pnav->GetCommandLink(m_pnav->SelectedObjectId(), ACTIVATE_EVENT), "code=", passws[0], "&quantity=", passws[1], NULL); ShowPopup(m_pnav->SelectedObjectId(), FALSE); HTTPFile* f; f = fetchOpen(where, RM_HTTP_VERBOSE); if (f) { RMuint8 buffer[32]; if (buffer) { RMint16 n = fetchRead(buffer, 32, f); if(n != -1) { buffer[n] = '\0'; // printf("%s\n %d bytes read\n", (RMascii*) buffer, n); //if (RMCompareAscii((RMascii*) buffer, "404")) { // RMascii popup[] = ; RMuint32 id; m_pnav->GetObjectIdByName((RMascii*)buffer, &id); if (ISPOPUP(id)) { ShowPopup(id, TRUE); } status = RM_OK; } // guiListType* list = m_osdPages[m_pnav->ActivePageId()]->lists; // guiListType* list = m_parser->ParseWEBList(m_osdPages, m_activePageId, buffer, n); // if(list) // status = GetObjectIdByName(list->name, &cmdInfo->linkId); // RFREE(buffer); status = RM_OK; } else status = RM_ERROR; } else status = RM_ERROR; fetchClose(f); } RFREE(where); where = NULL; } return status;}RMstatus RMcuracaoGui::VerifyPinConfirm(RMbool checkPass){ RMstatus status; RMascii passws[GUI_MAX_PASSW_STR]; guiPopupType popup; if (!m_initialized) { RMDBGLOG((GUIDBG, "GUI not initialised !!\n")); return RM_ERROR; } if (!ISPOPUP(m_pnav->SelectedObjectId())) return RM_ERROR; status = m_pnav->GetPopup(m_pnav->SelectedObjectId(), &popup); if (RMFAILED(status)) return status; if (checkPass) for (RMuint8 i = 0; i < popup.nbStrings; i++) { if (popup.strings[i]->object.type == STRING_PASSWORD) { RMCopyAscii(passws, popup.strings[i]->object.text); break; } } ShowPopup(m_pnav->SelectedObjectId(), FALSE); RMuint16 listIndex; m_pnav->GetObjectIndex(m_pnav->SelectedObjectId(), &listIndex); printf( "%s\n\n", (RMascii*) m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->items[m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->object.selecteditem]->object.path); RMascii *where; if (checkPass) where = RMCatAscii( m_pnav->m_parser->GetUrl(), m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->items[m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->object.selecteditem]->object.path, "&newPinCode=", passws, NULL); else where = RMCatAscii( m_pnav->m_parser->GetUrl(), m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->items[m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->object.selecteditem]->object.path, NULL); HTTPFile* f; f = fetchOpen(where, RM_HTTP_VERBOSE); if (f) { RMuint8 buffer[32]; if (buffer) { RMint16 n = fetchRead(buffer, 32, f); if(n != -1) { buffer[n] = '\0'; // printf("%s\n %d bytes read\n", (RMascii*) buffer, n); //if (RMCompareAscii((RMascii*) buffer, "401")) //{ RMuint32 id; m_pnav->GetObjectIdByName((RMascii*)buffer, &id);//"WrongPinPopup", &id); if (ISPOPUP(id)) { ShowPopup(id, TRUE); status = RM_OK; }// }// if (RMCompareAscii((RMascii*) buffer, "404"))// {// // RMascii popup[] = ;// RMuint32 id;// m_pnav->GetObjectIdByName("NoServicePopup", &id);// if (ISPOPUP(id))// {// ShowPopup(id, TRUE);// }//// status = RM_OK;// } else { typeIsoPath file; RMuint32 isoitem; RMMemset(file, 0, sizeof(typeIsoPath)); status = m_pnav->ActivateFileListItem(m_pnav->SelectedObjectId(), m_isoPlayList.active, file, &isoitem); if (RMSUCCEEDED(status)) { if (file[0] == '0') { status = PlaySelectedFile(isoitem); } else { status = PlayFiles(file, isoitem); } } } // guiListType* list = m_osdPages[m_pnav->ActivePageId()]->lists; // guiListType* list = m_parser->ParseWEBList(m_osdPages, m_activePageId, buffer, n); // if(list) // status = GetObjectIdByName(list->name, &cmdInfo->linkId); // RFREE(buffer); status = RM_OK; } else status = RM_ERROR; } else status = RM_ERROR; fetchClose(f); } RFREE(where); where = NULL; return status;}RMstatus RMcuracaoGui::SetSubtitle(){ RMstatus status; RMuint8 selectedId = 0; RMascii subName[32]; guiPopupType popup; if (!m_initialized) { RMDBGLOG((GUIDBG, "GUI not initialised !!\n")); return RM_ERROR; } if (!ISPOPUP(m_pnav->SelectedObjectId())) return RM_ERROR; status = m_pnav->GetPopup(m_pnav->SelectedObjectId(), &popup); if (RMFAILED(status)) return status; // if(checkPass) for (RMuint8 i = 0; i < popup.nbStrings; i++) { if (popup.strings[i]->object.hasfocus == TRUE) { selectedId = popup.strings[i]->object.id; RMCopyAscii(subName, popup.strings[i]->object.text); break; } } ShowPopup(m_pnav->SelectedObjectId(), FALSE); RMuint16 listIndex; m_pnav->GetObjectIndex(m_pnav->SelectedObjectId(), &listIndex); RMascii* location; RMFindAsciiString( m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->items[m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->object.selecteditem]->object.path, "sub", &location); location += 11; *location = 48 + selectedId; printf( "%s\n\n", (RMascii*) m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->items[m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->object.selecteditem]->object.path); printf( "%s %d %d\n\n", (RMascii*) m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->items[m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->object.selecteditem]->object.subtitles, listIndex, m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->object.selecteditem); RFREE( m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->items[m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->object.selecteditem]->object.subtitles); m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->items[m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->object.selecteditem]->object.subtitles = STRDUP(subName); m_pnav->RedrawBlockedObjects(popup.id); // RMascii *where; // // if(checkPass) // where = RMCatAscii(m_pnav->m_parser->GetUrl(), m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->items[m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->object.selecteditem]->object.path, "&newPinCode=", passws, NULL); // else // where = RMCatAscii(m_pnav->m_parser->GetUrl(), m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->items[m_pnav->m_osdPages[m_pnav->ActivePageId()]->lists[listIndex]->object.selecteditem]->object.path, NULL); // // HTTPFile* f; // // f = fetchOpen(where, RM_HTTP_VERBOSE); // // if(f) // { // RMuint8* buffer = (RMuint8*) MALLOC(64000); // if(buffer) // { // RMint16 n = fetchRead(buffer, 64000, f); // buffer[n] = '\0'; // printf("%s\n %d bytes read\n", (RMascii*) buffer, n); // // if(RMCompareAscii((RMascii*)buffer, "401")) // { // RMuint32 id; // m_pnav->GetObjectIdByName("WrongPinPopup", &id); // if(ISPOPUP(id)){ // ShowPopup(id, TRUE); // } // // status = RM_OK; // // }if(RMCompareAscii((RMascii*)buffer, "404")) // { // // RMascii popup[] = ; // RMuint32 id; // m_pnav->GetObjectIdByName("NoServicePopup", &id); // if(ISPOPUP(id)){ // ShowPopup(id, TRUE); // } // // status = RM_OK; // } // else // { ////TODO: Code for movie lunch // typeIsoPath file; // RMuint32 isoitem; // RMMemset(file, 0, sizeof(typeIsoPath)); // status = m_pnav->ActivateFileListItem(m_pnav->SelectedObjectId(), m_isoPlayList.active, file, &isoitem); // if(RMSUCCEEDED(status)){ // if(file[0] == '0'){ // status = PlaySelectedFile(isoitem); // } // else{ // status = PlayFiles(file, isoitem); // } // } // } // // // guiListType* list = m_osdPages[m_pnav->ActivePageId()]->lists; // // guiListType* list = m_parser->ParseWEBList(m_osdPages, m_activePageId, buffer, n); // // if(list) // // status = GetObjectIdByName(list->name, &cmdInfo->linkId); // RFREE(buffer); // status = RM_OK; // } // else // status = RM_ERROR; // fetchClose(f); // } // // RFREE(where); // where = NULL; return status;}//RMstatus RMcuracaoGui::VerifyConfirm()//{// RMstatus status;// guiPopupType popup;//// if(!m_initialized){// RMDBGLOG((GUIDBG, "GUI not initialised !!\n"));// return RM_ERROR;// }//// if(!ISPOPUP(m_pnav->SelectedObjectId()))// return RM_ERROR;//// status = m_pnav->GetPopup(m_pnav->SelectedObjectId(), &popup);// if(RMFAILED(status))// return status;//// return RM_OK;//}// !!!![RC] assumption made that first password string is current// password and next 2 are new and confirmed!!!// NEEDS CHANGE!!!!!!!RMstatus RMcuracaoGui::VerifyPasswordChange(){ RMuint8 i; RMuint8 passwindex = 0; RMbool changeok = FALSE; RMstatus status; RMascii passws[3][GUI_MAX_PASSW_STR]; guiPopupType popup; if (!m_initialized) { RMDBGLOG((GUIDBG, "GUI not initialised !!\n")); return RM_ERROR; } if (!ISPOPUP(m_pnav->SelectedObjectId())) return RM_ERROR; status = m_pnav->GetPopup(m_pnav->SelectedObjectId(), &popup); if (RMFAILED(status)) return status; // get all passwords for (i = 0; i < popup.nbStrings; i++) { if (popup.strings[i]->object.type == STRING_PASSWORD) { RMCopyAscii(passws[passwindex], popup.strings[i]->object.text); if (++passwindex >= 3) break; } } // do verification if (RMCompareAscii(passws[0], m_settings.dvdParentalPassw)) { if (RMCompareAscii(passws[1], passws[2])) { if (RMCompareAscii(passws[1], GUI_PASSWORD_DISPLAY_STR) == FALSE) changeok = TRUE; } } ShowPopup(m_pnav->SelectedObjectId(), FALSE); if (changeok == TRUE) { RMCopyAscii(m_settings.dvdParentalPassw, passws[1]); return RM_OK; } return RM_ERROR;}// !!!![RC] assumption made that first password string is current password!!!// NEEDS CHANGE!!!!!!!RMstatus RMcuracaoGui::VerifyPassword(){ RMuint16 i; RMstatus status; RMascii passws[GUI_MAX_PASSW_STR]; guiPopupType popup; if (!m_initialized) { RMDBGLOG((GUIDBG, "GUI not initialised !!\n")); return RM_ERROR; } if (!ISPOPUP(m_pnav->SelectedObjectId())) return RM_ERROR; status = m_pnav->GetPopup(m_pnav->SelectedObjectId(), &popup); if (RMFAILED(status)) return status; // get password for (i = 0; i < popup.nbStrings; i++) { if (popup.strings[i]->object.type == STRING_PASSWORD) { RMCopyAscii(passws, popup.strings[i]->object.text); break; } } // do verification m_bPasswordOk = RMCompareAscii(passws, m_settings.dvdParentalPassw); ShowPopup(m_pnav->SelectedObjectId(), FALSE); return (m_bPasswordOk == TRUE ? RM_OK : RM_ERROR);}RMstatus RMcuracaoGui::GetParentalLevelClearance(RMuint8 discRating){ typeCommandInfo cmdInfo; RMstatus status = RM_ERROR; if (!m_initialized) { RMDBGLOG((GUIDBG, "GUI not initialised !!\n")); return RM_ERROR; } status = m_pnav->GetCommandInfo(m_pnav->GlobalEventId(), PARENTALPASSWORDREQUIRED_EVENT, &cmdInfo); if (RMSUCCEEDED(status)) { status = CommandHandler(&cmdInfo); } return status;}RMstatus RMcuracaoGui::DetectScreenSaver(){ if (((m_playMode == STATE_STOP || m_playMode == STATE_CLOSE) && !m_pnav->WMVHDOn())) { if ((m_SSTimeOut >= (m_screenSaverSpeed * 5)) && (m_pnav->ActivePageId() == m_pnav->MainPageId() || m_pnav->ActivePageId() == m_pnav->ScreenSaverPageId())) { if (m_SSIntervalTimeOut <= 14) { if (m_SSIntervalTimeOut != 0) ; } if (m_SSIntervalTimeOut > 15) { } else m_SSIntervalTimeOut++; } else { if (m_pnav->ActivePageId() == m_pnav->MainPageId() && (m_playMode == STATE_STOP || m_playMode == STATE_CLOSE)) m_SSTimeOut++; else if (m_SSTimeOut != 0) m_SSTimeOut = 0; if (m_pnav->ActivePageId() == m_pnav->ScreenSaverPageId()) { ShowPage(m_pnav->MainPageId()); SetfipStopMode(); } } } return RM_OK;}RMstatus RMcuracaoGui::CheckVisualEvents(){ // if(m_screenSaverSpeed != 0) DetectScreenSaver(); // if(!(m_fxTimer % (m_fipSpeed / 2)) && m_scrollOn) // updateScroll(); // m_fxTimer++; // if(m_fxTimer >= 300) m_fxTimer = 0; return RM_OK;}RMstatus RMcuracaoGui::GetParentalLevelPassword(RMuint32 objectId){ RMstatus status; if (ISPOPUP(objectId)) {
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -