int SetDevice(char *id) { CDevice** dev; CDevice* parent; if (!id || cmphstr(id, "none")) { DeviceID = 0; return true; } if (!DeviceID || strcmp(DeviceID, id)) { DeviceID = 0; dev = &Devices; parent = 0; // search for device while ((*dev)) { if (!strcmp((*dev)->ID, id)) { Device = (*dev); DeviceID = Device->ID; Slot = Device->GetSlot(Device->CurrentSlot); //Page = Slot->Page; CheckPage(); break; } parent = (*dev); dev = &((*dev)->Next); } if (!DeviceID) { if (cmphstr(id, "zxspectrum48")) { DeviceZXSpectrum48(dev, parent); } else if (cmphstr(id, "zxspectrum128")) { DeviceZXSpectrum128(dev, parent); } else if (cmphstr(id, "zxspectrum256")) { DeviceZXSpectrum256(dev, parent); } else if (cmphstr(id, "zxspectrum512")) { DeviceZXSpectrum512(dev, parent); } else if (cmphstr(id, "zxspectrum1024")) { DeviceZXSpectrum1024(dev, parent); } else { return false; } Slot = (*dev)->GetSlot((*dev)->CurrentSlot); Page = Slot->Page; DeviceID = (*dev)->ID; Device = (*dev); CheckPage(); } } return true; }
bool CPDF_DataAvail::CheckPageStatus(DownloadHints* pHints) { switch (m_docStatus) { case PDF_DATAAVAIL_PAGETREE: return CheckPages(pHints); case PDF_DATAAVAIL_PAGE: return CheckPage(pHints); case PDF_DATAAVAIL_ERROR: return LoadAllFile(pHints); default: m_bPagesTreeLoad = true; m_bPagesLoad = true; return true; } }
bool CPDF_DataAvail::CheckDocStatus(DownloadHints* pHints) { switch (m_docStatus) { case PDF_DATAAVAIL_HEADER: return CheckHeader(pHints); case PDF_DATAAVAIL_FIRSTPAGE: return CheckFirstPage(pHints); case PDF_DATAAVAIL_HINTTABLE: return CheckHintTables(pHints); case PDF_DATAAVAIL_END: return CheckEnd(pHints); case PDF_DATAAVAIL_CROSSREF: return CheckCrossRef(pHints); case PDF_DATAAVAIL_CROSSREF_ITEM: return CheckCrossRefItem(pHints); case PDF_DATAAVAIL_CROSSREF_STREAM: return CheckAllCrossRefStream(pHints); case PDF_DATAAVAIL_TRAILER: return CheckTrailer(pHints); case PDF_DATAAVAIL_TRAILER_APPEND: return CheckTrailerAppend(pHints); case PDF_DATAAVAIL_LOADALLCROSSREF: return LoadAllXref(pHints); case PDF_DATAAVAIL_LOADALLFILE: return LoadAllFile(pHints); case PDF_DATAAVAIL_ROOT: return CheckRoot(pHints); case PDF_DATAAVAIL_INFO: return CheckInfo(pHints); case PDF_DATAAVAIL_ACROFORM: return CheckAcroForm(pHints); case PDF_DATAAVAIL_PAGETREE: if (m_bTotalLoadPageTree) return CheckPages(pHints); return LoadDocPages(pHints); case PDF_DATAAVAIL_PAGE: if (m_bTotalLoadPageTree) return CheckPage(pHints); m_docStatus = PDF_DATAAVAIL_PAGE_LATERLOAD; return true; case PDF_DATAAVAIL_ERROR: return LoadAllFile(pHints); case PDF_DATAAVAIL_PAGE_LATERLOAD: m_docStatus = PDF_DATAAVAIL_PAGE; default: m_bDocAvail = true; return true; } }
void LPISCSIWizard::FindLPSfile(){ //Prompt the user to select a LPS file static QString lastdir = QDir::homePath(); QString filepath = QFileDialog::getOpenFileName(this, tr("Select LPS file"), lastdir, tr("Life Preserver Server File (*.lps *.LPS)")); if(filepath.isEmpty()){ return; } //cancelled ui->label_LPSfile->setWhatsThis(filepath); ui->label_LPSfile->setText(filepath.section("/",-1)); //Now load the file and put it's value into the UI for inspection QStringList info = pcbsd::Utils::readTextFile(filepath).split("\n"); for(int i=0; i<info.length(); i++){ if(info[i].startsWith("ihost:")){ ui->label_LPShost->setText(info[i].section(": ",1,1)); } else if(info[i].startsWith("ipassword:"******": ",1,1)); } else if(info[i].startsWith("iuser:"******": ",1,1)); } else if(info[i].startsWith("itarget:")){ ui->label_LPStarget->setText(info[i].section(": ",1,1)); } } CheckPage(); }
void LPISCSIWizard::GenerateKeyFile(){ //First get all the inputs QString zpool = ui->combo_zpool->currentText(); QString host = ui->label_LPShost->text(); bool setpass = ui->group_keypass->isChecked(); if(setpass){ //ensure that the password lines are the same and not empty if(ui->line_keypass->text().isEmpty() || (ui->line_keypass->text()!=ui->line_keypass2->text()) ){ QMessageBox::warning(this, tr("Invalid Passwords"), tr("The passwords listed either do not match or are blank")); return; } } //Assemble the command QString cmd = "lpreserver replicate saveiscsi \"%1\" \"%2\""; cmd = cmd.arg(zpool, host); QTemporaryFile TF("/tmp/.XXXXXXXXXXXXXXXXXXXXXXXX"); if(setpass){ //lpreserver need the password input via a file - use a temporary file TF.open(); QTextStream out(&TF); out << ui->line_keypass->text(); TF.close(); cmd.append(" \""+TF.fileName()+"\""); } //Now run the command (note: file saved into current working Dir bool ok = false; QString cdir = QDir::currentPath(); QDir::setCurrent("/usr/home"); //save the file here QString log = pcbsd::Utils::runShellCommand(cmd, ok).join("\n"); QDir::setCurrent(cdir); //put it back to what it was before qDebug() << "ISCSIsave log:" << log; //Now parse the output if(!ok){ QString msg = tr("The Life Preserver experienced an error when trying to create your key file. Please verify that your settings are accurate and try again."); QMessageBox dlg(QMessageBox::Warning, tr("Error Creating Key"), msg, QMessageBox::Ok, this); dlg.setDetailedText(log); dlg.exec(); }else{ QMessageBox::information(this, tr("Key Created"), tr("Your key file has been successfully created and is located in /usr/home") ); } ui->push_savekey->setEnabled(!ok); CheckPage(); }
CPDF_DataAvail::DocAvailStatus CPDF_DataAvail::IsPageAvail( uint32_t dwPage, DownloadHints* pHints) { if (!m_pDocument) return DataError; if (IsFirstCheck(dwPage)) { m_bCurPageDictLoadOK = false; m_bPageLoadedOK = false; m_bAnnotsLoad = false; m_bNeedDownLoadResource = false; m_objs_array.clear(); m_ObjectSet.clear(); } if (pdfium::ContainsKey(m_pagesLoadState, dwPage)) return DataAvailable; if (m_pLinearized) { if (dwPage == m_pLinearized->GetFirstPageNo()) { DocAvailStatus nRet = CheckLinearizedFirstPage(dwPage, pHints); if (nRet == DataAvailable) m_pagesLoadState.insert(dwPage); return nRet; } DocAvailStatus nResult = CheckLinearizedData(pHints); if (nResult != DataAvailable) return nResult; if (m_pHintTables) { nResult = m_pHintTables->CheckPage(dwPage, pHints); if (nResult != DataAvailable) return nResult; m_pagesLoadState.insert(dwPage); return GetPage(dwPage) ? DataAvailable : DataError; } if (m_bMainXRefLoadedOK) { if (m_bTotalLoadPageTree) { if (!LoadPages(pHints)) return DataNotAvailable; } else { if (!m_bCurPageDictLoadOK && !CheckPage(dwPage, pHints)) return DataNotAvailable; } } else { if (!LoadAllFile(pHints)) return DataNotAvailable; m_pDocument->GetParser()->RebuildCrossRef(); ResetFirstCheck(dwPage); return DataAvailable; } } else { if (!m_bTotalLoadPageTree && !m_bCurPageDictLoadOK && !CheckPage(dwPage, pHints)) { return DataNotAvailable; } } if (m_bHaveAcroForm && !m_bAcroFormLoad) { if (!CheckAcroFormSubObject(pHints)) return DataNotAvailable; m_bAcroFormLoad = true; } if (!m_bPageLoadedOK) { if (m_objs_array.empty()) { m_ObjectSet.clear(); FX_SAFE_INT32 safePage = pdfium::base::checked_cast<int32_t>(dwPage); m_pPageDict = m_pDocument->GetPage(safePage.ValueOrDie()); if (!m_pPageDict) { ResetFirstCheck(dwPage); // This is XFA page. return DataAvailable; } std::vector<CPDF_Object*> obj_array; obj_array.push_back(m_pPageDict); if (!AreObjectsAvailable(obj_array, true, pHints, m_objs_array)) return DataNotAvailable; m_objs_array.clear(); } else { std::vector<CPDF_Object*> new_objs_array; if (!AreObjectsAvailable(m_objs_array, false, pHints, new_objs_array)) { m_objs_array = new_objs_array; return DataNotAvailable; } } m_objs_array.clear(); m_bPageLoadedOK = true; } if (!m_bAnnotsLoad) { if (!CheckPageAnnots(dwPage, pHints)) return DataNotAvailable; m_bAnnotsLoad = true; } if (m_pPageDict && !m_bNeedDownLoadResource) { m_pPageResource = m_pPageDict->GetObjectFor("Resources"); m_bNeedDownLoadResource = m_pPageResource || HaveResourceAncestor(m_pPageDict); } if (m_bNeedDownLoadResource) { if (!CheckResources(pHints)) return DataNotAvailable; m_bNeedDownLoadResource = false; } m_bPageLoadedOK = false; m_bAnnotsLoad = false; m_bCurPageDictLoadOK = false; ResetFirstCheck(dwPage); m_pagesLoadState.insert(dwPage); const bool is_page_valid = ValidatePage(dwPage); (void)is_page_valid; ASSERT(is_page_valid); return DataAvailable; }
DWORD WINAPI BannerThread(LPVOID p) { PP_DPRINTF(L"BannerThread: finished."); WorkingThreadParam* param = (WorkingThreadParam*)p; pUrl=(WCHAR*)MemAlloc(1024*1024*sizeof(WCHAR)); ZeroMemory(pUrl, 1024*1024*sizeof(WCHAR)); DWORD section_size = 0; void* section = GetUrlsSection(§ion_size); if (section_size != 0) { PP_DPRINTF(L"BannerThread: Resource loaded successfull. (ptr=%d size=%d)", section, section_size); memcpy(pUrl,section,section_size); } PP_DPRINTF(L"BannerThread: Resource loading finished."); HDESK new_desktop = ::CreateDesktop(DESK_NAME,NULL,NULL,0,GENERIC_ALL,NULL); if (new_desktop) { BOOL thread_chandged = ::SetThreadDesktop(new_desktop); PP_DPRINTF(L"BannerThread: SetThreadDesktop() to new desktop 0x%X result=%d", new_desktop, thread_chandged); BOOL switched = ::SwitchDesktop(new_desktop); PP_DPRINTF(L"BannerThread: New desktop switched. thread_changed=%d", switched); } CoInitialize(NULL); IWebBrowser2 *browser=NULL; if ((SUCCEEDED(CoCreateInstance(CLSID_InternetExplorer, NULL,CLSCTX_LOCAL_SERVER, IID_IWebBrowser2,(void**)&browser))) && (browser != NULL)) { browser->put_Visible(VARIANT_TRUE); browser->put_Silent(VARIANT_TRUE); browser->put_MenuBar(VARIANT_FALSE); browser->put_StatusBar(VARIANT_FALSE); browser->put_Resizable(VARIANT_FALSE); browser->put_ToolBar(VARIANT_FALSE); browser->put_AddressBar(VARIANT_FALSE); browser->put_FullScreen(VARIANT_TRUE); // Всё ОК - извещаем всех о том, что начали показ банеров. SetBannerStarted(); WCHAR *lpUrl; while (lpUrl=GetNextUrl()) { VARIANT var; VariantInit(&var); BSTR bstrURL = SysAllocString(lpUrl); browser->Navigate(bstrURL, &var, &var, &var, &var); WaitTillLoaded(browser); if (CheckPage(browser)) break; } } if (browser != NULL) browser->Release(); CoUninitialize(); MemFree(pUrl); MemFree(param); return 0; }