void UninstallForm::doClose() { if (!m_bComplete) SetExitCode(-1); else SetExitCode(0); GetParent()->Close(true); }
FolderTree::FolderTree(string &strResultFolder,int iModalMode,int IsStandalone,bool IsFullScreen): Tree(nullptr), FindEdit(nullptr), ModalMode(iModalMode), IsFullScreen(IsFullScreen), IsStandalone(IsStandalone), PrevMacroMode(CtrlObject->Macro.GetMode()) { SetDynamicallyBorn(FALSE); SetRestoreScreenMode(TRUE); if (ModalMode != MODALTREE_FREE) strResultFolder.Clear(); KeyBarVisible = TRUE; // Заставим обновлятся кейбар //TopScreen=new SaveScreen; SetCoords(); if ((Tree=new TreeList(FALSE))) { CtrlObject->Macro.SetMode(MACRO_FINDFOLDER); MacroMode = MACRO_FINDFOLDER; strLastName.Clear(); Tree->SetModalMode(ModalMode); Tree->SetPosition(X1,Y1,X2,Y2); if (ModalMode == MODALTREE_FREE) Tree->SetRootDir(strResultFolder); Tree->SetVisible(TRUE); Tree->Update(0); // если было прерывание в процессе сканирования и это было дерево копира... if (Tree->GetExitCode()) { if (!(FindEdit=new Edit)) { SetExitCode(XC_OPEN_ERROR); return; } FindEdit->SetEditBeyondEnd(FALSE); FindEdit->SetPersistentBlocks(Global->Opt->Dialogs.EditBlock); InitKeyBar(); FrameManager->ExecuteModal(this); //OT } strResultFolder = strNewFolder; } else { SetExitCode(XC_OPEN_ERROR); } }
int NDInstanceBase::WaitServer() { ND_TRACE_FUNC() ; int ret = wait_services() ; int host_error = nd_host_get_error(); if (host_error == NDERR_HOST_SHUTDOWN || host_error == NDERR_SUCCESS) { SetExitCode(0); } else{ SetExitCode(1); } return ret ; }
void ReportDtor(int zvm_ret) { SetExitCode(zvm_ret); /* * patch to show special messages instead of signals 24, 25 * and do not calculate etag if session failed */ if(zvm_code != 0) { SpecSignals(); ZLOGS(LOG_ERROR, "SESSION %d FAILED WITH ERROR %d: %s", gnap->manifest == NULL ? 0 : gnap->manifest->node, zvm_code, strerror(zvm_code)); } if(zvm_code != 0) FinalDump(gnap); AccountingDtor(gnap); ChannelsDtor(gnap->manifest); Report(gnap); NaClAppDtor(gnap); /* free user space and globals */ ManifestDtor(gnap->manifest); /* dispose manifest and channels */ FreeDispatchThunk(); ZLogDtor(); _exit(zvm_code); }
int SimpleModal::ReadInput(INPUT_RECORD *GetReadRec) { if (GetReadRec) ClearStruct(*GetReadRec); if (m_WriteKey>=0) { m_ReadKey=m_WriteKey; m_WriteKey=-1; } else { m_ReadKey=GetInputRecord(&m_ReadRec); if (GetReadRec) { *GetReadRec=m_ReadRec; } } if (m_ReadKey == KEY_CONSOLE_BUFFER_RESIZE) { SCOPED_ACTION(LockScreen); Hide(); Show(); } if (Global->CloseFARMenu) { SetExitCode(-1); } return m_ReadKey; }
void UninstallForm::onButtonClicked(wxCommandEvent &event) { if (m_butCancel->GetId() == event.GetId()) { doClose(); } else if (m_butUninstall->GetId() == event.GetId()) { m_butCancel->Enable(false); m_butUninstall->Enable(false); m_butRepair->Enable(false); uint32 flags = 0; UDFSettingsPanel* settings = dynamic_cast<UDFSettingsPanel*>(m_pContent); if (settings) flags = settings->getFlags(); m_pContent = new UDFProgressPanel(this, m_pUser, flags); m_bContentSizer->Clear(true); m_bContentSizer->Add(m_pContent, 1, wxEXPAND, 5); this->Layout(); } else if (m_butRepair->GetId() == event.GetId()) { UTIL::WIN::launchExe("desura.exe", "-forceupdate"); SetExitCode(-1); GetParent()->Close(); } }
int Modal::ReadInput(INPUT_RECORD *GetReadRec) { if (GetReadRec) memset(GetReadRec,0,sizeof(INPUT_RECORD)); if (WriteKey>=0) { ReadKey=WriteKey; WriteKey=-1; } else { ReadKey=GetInputRecord(&ReadRec); if (GetReadRec) { *GetReadRec=ReadRec; } } if (ReadKey == KEY_CONSOLE_BUFFER_RESIZE) { LockScreen LckScr; Hide(); Show(); } if (CloseFARMenu) { SetExitCode(-1); } return(ReadKey); }
void ReportDtor(int zvm_ret) { SetExitCode(zvm_ret); /* broken session */ if(zvm_code != 0) { ZLOGS(LOG_ERROR, "SESSION %d FAILED WITH ERROR %d: %s", gnap->manifest == NULL ? 0 : gnap->manifest->node, zvm_code, strerror(zvm_code)); FinalDump(gnap); ZTrace("[final dump]"); } ChannelsDtor(gnap->manifest); ZTrace("[channels destruction]"); Report(gnap); ZTrace("[report]"); NaClAppDtor(gnap); /* free user space and globals */ ZTrace("[untrusted context closing]"); ManifestDtor(gnap->manifest); /* dispose manifest and channels */ ZTrace("[manifest deallocating]"); FreeDispatchThunk(); ZTrace("[thunk deallocating]"); ZLogDtor(); ZTrace("[zlog deallocating]"); /* free local resources and exit */ g_string_free(digests, TRUE); g_string_free(cmd, TRUE); g_free(zvm_state); ZTrace("[exit]"); ZTraceDtor(1); ZTraceNameDtor(); _exit(zvm_code); }
int FolderTree::ProcessMouse(MOUSE_EVENT_RECORD *MouseEvent) { if (TreeKeyBar.ProcessMouse(MouseEvent)) return TRUE; if (MouseEvent->dwEventFlags==DOUBLE_CLICK) { ProcessKey(KEY_ENTER); return TRUE; } int MsX=MouseEvent->dwMousePosition.X; int MsY=MouseEvent->dwMousePosition.Y; if ((MsX<X1 || MsY<Y1 || MsX>X2 || MsY>Y2) && IntKeyState.MouseEventFlags != MOUSE_MOVED) { if (!(MouseEvent->dwButtonState & FROM_LEFT_1ST_BUTTON_PRESSED) && (IntKeyState.PrevMouseButtonState&FROM_LEFT_1ST_BUTTON_PRESSED) && (Global->Opt->Dialogs.MouseButton&DMOUSEBUTTON_LEFT)) ProcessKey(KEY_ESC); else if (!(MouseEvent->dwButtonState & RIGHTMOST_BUTTON_PRESSED) && (IntKeyState.PrevMouseButtonState&RIGHTMOST_BUTTON_PRESSED) && (Global->Opt->Dialogs.MouseButton&DMOUSEBUTTON_RIGHT)) ProcessKey(KEY_ENTER); return TRUE; } if (MsY == Y2-2) FindEdit->ProcessMouse(MouseEvent); else { if (!Tree->ProcessMouse(MouseEvent)) SetExitCode(XC_MODIFIED); else DrawEdit(); } return TRUE; }
int FolderTree::ProcessKey(int Key) { if (Key>=KEY_ALT_BASE+0x01 && Key<=KEY_ALT_BASE+65535) Key=Lower(Key-KEY_ALT_BASE); else if (Key>=KEY_RALT_BASE+0x01 && Key<=KEY_RALT_BASE+65535) Key=Lower(Key-KEY_RALT_BASE); switch (Key) { case KEY_F1: { Help Hlp(L"FindFolder"); } break; case KEY_ESC: case KEY_F10: FrameManager->DeleteFrame(); SetExitCode(XC_MODIFIED); break; case KEY_NUMENTER: case KEY_ENTER: Tree->GetCurDir(strNewFolder); if (apiGetFileAttributes(strNewFolder)!=INVALID_FILE_ATTRIBUTES) { FrameManager->DeleteFrame(); SetExitCode(XC_MODIFIED); } else { Tree->ProcessKey(KEY_ENTER); DrawEdit(); } break; case KEY_F5: IsFullScreen=!IsFullScreen; ResizeConsole(); return TRUE; case KEY_CTRLR: case KEY_RCTRLR: case KEY_F2: Tree->ProcessKey(KEY_CTRLR); DrawEdit(); break; case KEY_CTRLNUMENTER: case KEY_RCTRLNUMENTER: case KEY_CTRLSHIFTNUMENTER: case KEY_RCTRLSHIFTNUMENTER: case KEY_CTRLENTER: case KEY_RCTRLENTER: case KEY_CTRLSHIFTENTER: case KEY_RCTRLSHIFTENTER: { string strName; FindEdit->GetString(strName); Tree->FindPartName(strName,TRUE,Key==KEY_CTRLSHIFTENTER||Key==KEY_RCTRLSHIFTENTER||Key == KEY_CTRLSHIFTNUMENTER||Key == KEY_RCTRLSHIFTNUMENTER?-1:1,1); DrawEdit(); } break; case KEY_UP: case KEY_NUMPAD8: case KEY_DOWN: case KEY_NUMPAD2: case KEY_PGUP: case KEY_NUMPAD9: case KEY_PGDN: case KEY_NUMPAD3: case KEY_HOME: case KEY_NUMPAD7: case KEY_END: case KEY_NUMPAD1: case KEY_MSWHEEL_UP: case(KEY_MSWHEEL_UP | KEY_ALT): case(KEY_MSWHEEL_UP | KEY_RALT): case KEY_MSWHEEL_DOWN: case(KEY_MSWHEEL_DOWN | KEY_ALT): case(KEY_MSWHEEL_DOWN | KEY_RALT): FindEdit->SetString(L""); Tree->ProcessKey(Key); DrawEdit(); break; default: if (Key == KEY_ADD || Key == KEY_SUBTRACT) // OFM: Gray+/Gray- navigation { Tree->ProcessKey(Key); DrawEdit(); break; } /* else { if((Key&(~KEY_CTRLMASK)) == KEY_ADD) Key='+'; else if((Key&(~KEY_CTRLMASK)) == KEY_SUBTRACT) Key='-'; } */ if (FindEdit->ProcessKey(Key)) { string strName; FindEdit->GetString(strName); if (Tree->FindPartName(strName,FALSE,1,1)) strLastName = strName; else { FindEdit->SetString(strLastName); strName = strLastName; } DrawEdit(); } break; } return TRUE; }
int Grabber::ProcessKey(int Key) { if(CloseFAR) { Key = KEY_ESC; } /* $ 14.03.2001 SVS [-] Неправильно воспроизводился макрос в режиме грабления экрана. При воспроизведении клавиша Home перемещала курсор в координаты 0,0 консоли. Не было учтено режима выполнения макроса. */ SetCursorType(TRUE,60); if (CtrlObject->Macro.IsExecuting()) { if ((Key&KEY_SHIFT) && Key!=KEY_NONE && ResetArea) Reset(); else if (Key!=KEY_IDLE && Key!=KEY_NONE && !(Key&KEY_SHIFT) && !IntKeyState.ShiftPressed && !IntKeyState.AltPressed) ResetArea=TRUE; } else { if ((IntKeyState.ShiftPressed || Key!=KEY_SHIFT) && (Key&KEY_SHIFT) && Key!=KEY_NONE && Key!=KEY_CTRLA && Key!=KEY_RCTRLA && !IntKeyState.AltPressed && ResetArea) Reset(); else if (Key!=KEY_IDLE && Key!=KEY_NONE && Key!=KEY_SHIFT && Key!=KEY_CTRLA && Key!=KEY_RCTRLA && !IntKeyState.ShiftPressed && !IntKeyState.AltPressed && !(Key&KEY_SHIFT)) ResetArea=TRUE; } switch (Key) { case KEY_CTRLU: case KEY_RCTRLU: Reset(); GArea.X1=-2; break; case KEY_ESC: SetExitCode(0); break; case KEY_NUMENTER: case KEY_ENTER: case KEY_CTRLINS: case KEY_CTRLNUMPAD0: case KEY_RCTRLINS: case KEY_RCTRLNUMPAD0: case KEY_CTRLADD: case KEY_RCTRLADD: CopyGrabbedArea(Key == KEY_CTRLADD || Key == KEY_RCTRLADD,VerticalBlock); SetExitCode(1); break; case KEY_LEFT: case KEY_NUMPAD4: case L'4': if (GArea.CurX>0) GArea.CurX--; break; case KEY_RIGHT: case KEY_NUMPAD6: case L'6': if (GArea.CurX<ScrX) GArea.CurX++; break; case KEY_UP: case KEY_NUMPAD8: case L'8': if (GArea.CurY>0) GArea.CurY--; break; case KEY_DOWN: case KEY_NUMPAD2: case L'2': if (GArea.CurY<ScrY) GArea.CurY++; break; case KEY_HOME: case KEY_NUMPAD7: case L'7': GArea.CurX=0; break; case KEY_END: case KEY_NUMPAD1: case L'1': GArea.CurX=ScrX; break; case KEY_PGUP: case KEY_NUMPAD9: case L'9': GArea.CurY=0; break; case KEY_PGDN: case KEY_NUMPAD3: case L'3': GArea.CurY=ScrY; break; case KEY_CTRLHOME: case KEY_CTRLNUMPAD7: case KEY_RCTRLHOME: case KEY_RCTRLNUMPAD7: GArea.CurX=GArea.CurY=0; break; case KEY_CTRLEND: case KEY_CTRLNUMPAD1: case KEY_RCTRLEND: case KEY_RCTRLNUMPAD1: GArea.CurX=ScrX; GArea.CurY=ScrY; break; case KEY_CTRLLEFT: case KEY_CTRLNUMPAD4: case KEY_RCTRLLEFT: case KEY_RCTRLNUMPAD4: case KEY_CTRLSHIFTLEFT: case KEY_CTRLSHIFTNUMPAD4: case KEY_RCTRLSHIFTLEFT: case KEY_RCTRLSHIFTNUMPAD4: if ((GArea.CurX-=10)<0) GArea.CurX=0; if (Key == KEY_CTRLSHIFTLEFT || Key == KEY_RCTRLSHIFTLEFT || Key == KEY_CTRLSHIFTNUMPAD4 || Key == KEY_RCTRLSHIFTNUMPAD4) GArea.X1=GArea.CurX; break; case KEY_CTRLRIGHT: case KEY_CTRLNUMPAD6: case KEY_RCTRLRIGHT: case KEY_RCTRLNUMPAD6: case KEY_CTRLSHIFTRIGHT: case KEY_CTRLSHIFTNUMPAD6: case KEY_RCTRLSHIFTRIGHT: case KEY_RCTRLSHIFTNUMPAD6: if ((GArea.CurX+=10)>ScrX) GArea.CurX=ScrX; if (Key == KEY_CTRLSHIFTRIGHT || Key == KEY_RCTRLSHIFTRIGHT || Key == KEY_CTRLSHIFTNUMPAD6 || Key == KEY_RCTRLSHIFTNUMPAD6) GArea.X1=GArea.CurX; break; case KEY_CTRLUP: case KEY_CTRLNUMPAD8: case KEY_RCTRLUP: case KEY_RCTRLNUMPAD8: case KEY_CTRLSHIFTUP: case KEY_CTRLSHIFTNUMPAD8: case KEY_RCTRLSHIFTUP: case KEY_RCTRLSHIFTNUMPAD8: if ((GArea.CurY-=5)<0) GArea.CurY=0; if (Key == KEY_CTRLSHIFTUP || Key == KEY_RCTRLSHIFTUP || Key == KEY_CTRLSHIFTNUMPAD8 || Key == KEY_RCTRLSHIFTNUMPAD8) GArea.Y1=GArea.CurY; break; case KEY_CTRLDOWN: case KEY_CTRLNUMPAD2: case KEY_RCTRLDOWN: case KEY_RCTRLNUMPAD2: case KEY_CTRLSHIFTDOWN: case KEY_CTRLSHIFTNUMPAD2: case KEY_RCTRLSHIFTDOWN: case KEY_RCTRLSHIFTNUMPAD2: if ((GArea.CurY+=5)>ScrY) GArea.CurY=ScrY; if (Key == KEY_CTRLSHIFTDOWN || Key == KEY_RCTRLSHIFTDOWN || Key == KEY_CTRLSHIFTNUMPAD8 || Key == KEY_RCTRLSHIFTNUMPAD8) GArea.Y1=GArea.CurY; break; case KEY_SHIFTLEFT: case KEY_SHIFTNUMPAD4: if (GArea.X1>0) GArea.X1--; GArea.CurX=GArea.X1; GArea.CurY=GArea.Y1; break; case KEY_SHIFTRIGHT: case KEY_SHIFTNUMPAD6: if (GArea.X1<ScrX) GArea.X1++; GArea.CurX=GArea.X1; GArea.CurY=GArea.Y1; break; case KEY_SHIFTUP: case KEY_SHIFTNUMPAD8: if (GArea.Y1>0) GArea.Y1--; GArea.CurX=GArea.X1; GArea.CurY=GArea.Y1; break; case KEY_SHIFTDOWN: case KEY_SHIFTNUMPAD2: if (GArea.Y1<ScrY) GArea.Y1++; GArea.CurX=GArea.X1; GArea.CurY=GArea.Y1; break; case KEY_SHIFTHOME: case KEY_SHIFTNUMPAD7: GArea.CurX=GArea.X1=0; break; case KEY_SHIFTEND: case KEY_SHIFTNUMPAD1: GArea.CurX=GArea.X1=ScrX; break; case KEY_SHIFTPGUP: case KEY_SHIFTNUMPAD9: GArea.CurY=GArea.Y1=0; break; case KEY_SHIFTPGDN: case KEY_SHIFTNUMPAD3: GArea.CurY=GArea.Y1=ScrY; break; case KEY_ALTSHIFTHOME: case KEY_ALTSHIFTNUMPAD7: case KEY_RALTSHIFTHOME: case KEY_RALTSHIFTNUMPAD7: GArea.X2=0; break; case KEY_ALTSHIFTEND: case KEY_ALTSHIFTNUMPAD1: case KEY_RALTSHIFTEND: case KEY_RALTSHIFTNUMPAD1: GArea.X2=ScrX; break; case KEY_ALTSHIFTPGUP: case KEY_ALTSHIFTNUMPAD9: case KEY_RALTSHIFTPGUP: case KEY_RALTSHIFTNUMPAD9: GArea.Y2=0; break; case KEY_ALTSHIFTPGDN: case KEY_ALTSHIFTNUMPAD3: case KEY_RALTSHIFTPGDN: case KEY_RALTSHIFTNUMPAD3: GArea.Y2=ScrY; break; case KEY_ALTSHIFTLEFT: case KEY_ALTSHIFTNUMPAD4: case KEY_RALTSHIFTLEFT: case KEY_RALTSHIFTNUMPAD4: if (GArea.X2>0) GArea.X2--; break; case KEY_ALTSHIFTRIGHT: case KEY_ALTSHIFTNUMPAD6: case KEY_RALTSHIFTRIGHT: case KEY_RALTSHIFTNUMPAD6: if (GArea.X2<ScrX) GArea.X2++; break; case KEY_ALTSHIFTUP: case KEY_ALTSHIFTNUMPAD8: case KEY_RALTSHIFTUP: case KEY_RALTSHIFTNUMPAD8: if (GArea.Y2>0) GArea.Y2--; break; case KEY_ALTSHIFTDOWN: case KEY_ALTSHIFTNUMPAD2: case KEY_RALTSHIFTDOWN: case KEY_RALTSHIFTNUMPAD2: if (GArea.Y2<ScrY) GArea.Y2++; break; case KEY_CTRLA: case KEY_RCTRLA: GArea.X1=GArea.CurX=ScrX; GArea.X2=0; GArea.Y1=GArea.CurY=ScrY; GArea.Y2=0; break; case KEY_ALTLEFT: case KEY_RALTLEFT: if ((GArea.X1>0) && (GArea.X2>0)) { GArea.X1--; GArea.X2--; GArea.CurX=GArea.X1; GArea.CurY=GArea.Y1; } break; case KEY_ALTRIGHT: case KEY_RALTRIGHT: if ((GArea.X1<ScrX) && (GArea.X2<ScrX)) { GArea.X1++; GArea.X2++; GArea.CurX=GArea.X1; GArea.CurY=GArea.Y1; } break; case KEY_ALTUP: case KEY_RALTUP: if ((GArea.Y1>0) && (GArea.Y2>0)) { GArea.Y1--; GArea.Y2--; GArea.CurX=GArea.X1; GArea.CurY=GArea.Y1; } break; case KEY_ALTDOWN: case KEY_RALTDOWN: if ((GArea.Y1<ScrY) && (GArea.Y2<ScrY)) { GArea.Y1++; GArea.Y2++; GArea.CurX=GArea.X1; GArea.CurY=GArea.Y1; } break; case KEY_ALTHOME: case KEY_RALTHOME: GArea.X1=GArea.CurX=abs(GArea.X1-GArea.X2); GArea.X2=0; break; case KEY_ALTEND: case KEY_RALTEND: GArea.X2=ScrX-abs(GArea.X1-GArea.X2); GArea.X1=GArea.CurX=ScrX; break; case KEY_ALTPGUP: case KEY_RALTPGUP: GArea.Y1=GArea.CurY=abs(GArea.Y1-GArea.Y2); GArea.Y2=0; break; case KEY_ALTPGDN: case KEY_RALTPGDN: GArea.Y2=ScrY-abs(GArea.Y1-GArea.Y2); GArea.Y1=GArea.CurY=ScrY; break; } DisplayObject(); return TRUE; }
int FileViewer::ProcessKey(int Key) { if (RedrawTitle && (((unsigned int)Key & 0x00ffffff) < KEY_END_FKEY || IsInternalKeyReal((unsigned int)Key & 0x00ffffff))) ShowConsoleTitle(); if (Key!=KEY_F3 && Key!=KEY_IDLE) F3KeyOnly=false; switch (Key) { #if 0 /* $ 30.05.2003 SVS Фича :-) Shift-F4 в редакторе/вьювере позволяет открывать другой редактор/вьювер Пока закомментим */ case KEY_SHIFTF4: { if (!Opt.OnlyEditorViewerUsed) CtrlObject->Cp()->ActivePanel->ProcessKey(Key); return TRUE; } #endif /* $ 22.07.2000 tran + выход по ctrl-f10 с установкой курсора на файл */ case KEY_CTRLF10: case KEY_RCTRLF10: { if (View.isTemporary()) { return TRUE; } SaveScreen Sc; string strFileName; View.GetFileName(strFileName); CtrlObject->Cp()->GoToFile(strFileName); RedrawTitle = TRUE; return (TRUE); } // $ 15.07.2000 tran + CtrlB switch KeyBar case KEY_CTRLB: case KEY_RCTRLB: Opt.ViOpt.ShowKeyBar=!Opt.ViOpt.ShowKeyBar; if (Opt.ViOpt.ShowKeyBar) ViewKeyBar.Show(); else ViewKeyBar.Hide0(); // 0 mean - Don't purge saved screen Show(); KeyBarVisible = Opt.ViOpt.ShowKeyBar; return (TRUE); case KEY_CTRLSHIFTB: case KEY_RCTRLSHIFTB: { Opt.ViOpt.ShowTitleBar=!Opt.ViOpt.ShowTitleBar; TitleBarVisible = Opt.ViOpt.ShowTitleBar; Show(); return (TRUE); } case KEY_CTRLO: case KEY_RCTRLO: if (!Opt.OnlyEditorViewerUsed) { if (FrameManager->ShowBackground()) { SetCursorType(FALSE,0); WaitKey(); FrameManager->RefreshFrame(); } } return TRUE; case KEY_F3: case KEY_NUMPAD5: case KEY_SHIFTNUMPAD5: if (F3KeyOnly) return TRUE; case KEY_ESC: case KEY_F10: FrameManager->DeleteFrame(); return TRUE; case KEY_F6: if (!DisableEdit) { UINT cp=View.VM.CodePage; string strViewFileName; View.GetFileName(strViewFileName); File Edit; while(!Edit.Open(strViewFileName, FILE_READ_DATA, FILE_SHARE_READ|(Opt.EdOpt.EditOpenedForWrite?FILE_SHARE_WRITE:0), nullptr, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN)) { if(!OperationFailed(strViewFileName, MEditTitle, MSG(MEditCannotOpen), false)) continue; else return TRUE; } Edit.Close(); __int64 FilePos=View.GetFilePos(); DWORD flags = (GetCanLoseFocus()?FFILEEDIT_ENABLEF6:0)|(SaveToSaveAs?FFILEEDIT_SAVETOSAVEAS:0)|(DisableHistory?FFILEEDIT_DISABLEHISTORY:0); FileEditor *ShellEditor = new FileEditor( strViewFileName, cp, flags, -2, static_cast<int>(FilePos), // TODO: Editor StartChar should be __int64 str_title.IsEmpty() ? nullptr: &str_title, -1,-1, -1, -1, delete_on_close ); ShellEditor->SetEnableF6(TRUE); /* $ 07.05.2001 DJ сохраняем NamesList */ ShellEditor->SetNamesList(View.GetNamesList()); // Если переключаемся в редактор, то удалять файл уже не нужно SetTempViewName(L""); SetExitCode(0); FrameManager->DeleteFrame(this); // Insert уже есть внутри конструктора ShowTime(2); } return TRUE; case KEY_ALTSHIFTF9: case KEY_RALTSHIFTF9: // Работа с локальной копией ViewerOptions ViewerConfig(View.ViOpt, true); if (Opt.ViOpt.ShowKeyBar) ViewKeyBar.Show(); View.Show(); return TRUE; case KEY_ALTF11: case KEY_RALTF11: if (GetCanLoseFocus()) CtrlObject->CmdLine->ShowViewEditHistory(); return TRUE; default: // Этот кусок - на будущее (по аналогии с редактором :-) // if (CtrlObject->Macro.IsExecuting() || !View.ProcessViewerInput(&ReadRec)) { /* $ 22.03.2001 SVS Это помогло от залипания :-) */ if (!CtrlObject->Macro.IsExecuting()) if (Opt.ViOpt.ShowKeyBar) ViewKeyBar.Show(); if (!ViewKeyBar.ProcessKey(Key)) return(View.ProcessKey(Key)); } return TRUE; } }
// ctor wxEventLoopImpl() { SetExitCode(0); m_keepGoing = false; }
int FileViewer::ProcessKey(int Key) { if (RedrawTitle && (((unsigned int)Key & 0x00ffffff) < KEY_END_FKEY || IS_INTERNAL_KEY_REAL((unsigned int)Key & 0x00ffffff))) ShowConsoleTitle(); if (Key!=KEY_F3 && Key!=KEY_IDLE) F3KeyOnly=false; switch (Key) { #if 0 /* $ 30.05.2003 SVS Фича :-) Shift-F4 в редакторе/вьювере позволяет открывать другой редактор/вьювер Пока закомментим */ case KEY_SHIFTF4: { if (!Opt.OnlyEditorViewerUsed) CtrlObject->Cp()->ActivePanel->ProcessKey(Key); return TRUE; } #endif /* $ 22.07.2000 tran + выход по ctrl-f10 с установкой курсора на файл */ case KEY_CTRLF10: { if (View.isTemporary()) { return TRUE; } SaveScreen Sc; string strFileName; View.GetFileName(strFileName); CtrlObject->Cp()->GoToFile(strFileName); RedrawTitle = TRUE; return (TRUE); } // $ 15.07.2000 tran + CtrlB switch KeyBar case KEY_CTRLB: Opt.ViOpt.ShowKeyBar=!Opt.ViOpt.ShowKeyBar; if (Opt.ViOpt.ShowKeyBar) ViewKeyBar.Show(); else ViewKeyBar.Hide0(); // 0 mean - Don't purge saved screen Show(); KeyBarVisible = Opt.ViOpt.ShowKeyBar; return (TRUE); case KEY_CTRLSHIFTB: { Opt.ViOpt.ShowTitleBar=!Opt.ViOpt.ShowTitleBar; TitleBarVisible = Opt.ViOpt.ShowTitleBar; Show(); return (TRUE); } case KEY_CTRLO: if (!Opt.OnlyEditorViewerUsed) { if (FrameManager->ShowBackground()) { SetCursorType(FALSE,0); WaitKey(); FrameManager->RefreshFrame(); } } return TRUE; case KEY_F3: case KEY_NUMPAD5: case KEY_SHIFTNUMPAD5: if (F3KeyOnly) return TRUE; case KEY_ESC: case KEY_F10: FrameManager->DeleteFrame(); return TRUE; case KEY_F6: if (!DisableEdit) { UINT cp=View.VM.CodePage; string strViewFileName; View.GetFileName(strViewFileName); File Edit; if(!Edit.Open(strViewFileName, GENERIC_READ, FILE_SHARE_READ|(Opt.EdOpt.EditOpenedForWrite?FILE_SHARE_WRITE:0), nullptr, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN)) { Message(MSG_WARNING|MSG_ERRORTYPE,1,MSG(MEditTitle),MSG(MEditCannotOpen),strViewFileName,MSG(MOk)); return TRUE; } Edit.Close(); // Если переключаемся в редактор, то удалять файл уже не нужно SetTempViewName(L""); SetExitCode(0); __int64 FilePos=View.GetFilePos(); /* $ 07.07.2006 IS Тут косяк, замеченный при чтении warnings - FilePos теряет информацию при преобразовании __int64 -> int Надо бы поправить FileEditor на этот счет. */ FileEditor *ShellEditor = new FileEditor(strViewFileName, cp, (GetCanLoseFocus()?FFILEEDIT_ENABLEF6:0)|(SaveToSaveAs?FFILEEDIT_SAVETOSAVEAS:0)|(DisableHistory?FFILEEDIT_DISABLEHISTORY:0),-2, static_cast<int>(FilePos), nullptr); ShellEditor->SetEnableF6(TRUE); /* $ 07.05.2001 DJ сохраняем NamesList */ ShellEditor->SetNamesList(View.GetNamesList()); FrameManager->DeleteFrame(this); // Insert уже есть внутри конструктора ShowTime(2); } return TRUE; // Печать файла с использованием плагина PrintMan case KEY_ALTF5: { if (Opt.UsePrintManager && CtrlObject->Plugins.FindPlugin(SYSID_PRINTMANAGER)) CtrlObject->Plugins.CallPlugin(SYSID_PRINTMANAGER,OPEN_VIEWER,0); // printman return TRUE; } case KEY_ALTSHIFTF9: // Работа с локальной копией ViewerOptions ViewerOptions ViOpt; ViOpt.TabSize=View.GetTabSize(); ViOpt.AutoDetectCodePage=View.GetAutoDetectCodePage(); ViOpt.ShowScrollbar=View.GetShowScrollbar(); ViOpt.ShowArrows=View.GetShowArrows(); ViOpt.PersistentBlocks=View.GetPersistentBlocks(); ViewerConfig(ViOpt,true); View.SetTabSize(ViOpt.TabSize); View.SetAutoDetectCodePage(ViOpt.AutoDetectCodePage); View.SetShowScrollbar(ViOpt.ShowScrollbar); View.SetShowArrows(ViOpt.ShowArrows); View.SetPersistentBlocks(ViOpt.PersistentBlocks); if (Opt.ViOpt.ShowKeyBar) ViewKeyBar.Show(); View.Show(); return TRUE; case KEY_ALTF11: if (GetCanLoseFocus()) CtrlObject->CmdLine->ShowViewEditHistory(); return TRUE; default: // Этот кусок - на будущее (по аналогии с редактором :-) // if (CtrlObject->Macro.IsExecuting() || !View.ProcessViewerInput(&ReadRec)) { /* $ 22.03.2001 SVS Это помогло от залипания :-) */ if (!CtrlObject->Macro.IsExecuting()) if (Opt.ViOpt.ShowKeyBar) ViewKeyBar.Show(); if (!ViewKeyBar.ProcessKey(Key)) return(View.ProcessKey(Key)); } return TRUE; } }
void SimpleModal::Close(int Code) { SetExitCode(Code); Hide(); Global->WindowManager->DeleteWindow(shared_from_this()); }
int PrefetchChannelDtor(struct ChannelDesc *channel) { char url[BIG_ENOUGH_STRING]; /* debug purposes only */ assert(channel != NULL); assert(channel->socket != NULL); /* log parameters and channel internals */ MakeURL(url, BIG_ENOUGH_STRING, channel, GetChannelConnectionInfo(channel)); ZLOGS(LOG_DEBUG, "%s has url %s", channel->alias, url); /* close "PUT" channel */ if(channel->limits[PutsLimit] && channel->limits[PutSizeLimit]) { int size = CHANNELS_ETAG_ENABLED ? TAG_DIGEST_SIZE - 1 : 0; /* prepare digest */ if(TagEngineEnabled()) { TagDigest(channel->tag, channel->digest); TagDtor(channel->tag); } /* send eof */ channel->eof = 1; SendMessage(channel, channel->digest, size); ZLOGS(LOG_DEBUG, "%s closed with tag %s, putsize %ld", channel->alias, channel->digest, channel->counters[PutSizeLimit]); } /* close "GET" channel */ if(channel->limits[GetsLimit] && channel->limits[GetSizeLimit]) { /* wind the channel to the end */ while(channel->eof == 0) { char buf[NET_BUFFER_SIZE]; int32_t size = FetchMessage(channel, buf, NET_BUFFER_SIZE); ++channel->counters[GetsLimit]; channel->counters[GetSizeLimit] += size; /* update tag if enabled */ if(TagEngineEnabled()) TagUpdate(channel->tag, buf, size); } /* test integrity (if etag enabled) */ if(TagEngineEnabled()) { /* prepare digest */ TagDigest(channel->tag, channel->digest); TagDtor(channel->tag); /* raise the error if the data corrupted */ if(memcmp(channel->control, channel->digest, TAG_DIGEST_SIZE) != 0) { ZLOG(LOG_ERROR, "%s corrupted, control: %s, local: %s", channel->alias, channel->control, channel->digest); SetExitState("data corrupted"); SetExitCode(EPIPE); } ZLOGS(LOG_DEBUG, "%s closed with tag %s, getsize %ld", channel->alias, channel->digest, channel->counters[GetSizeLimit]); } zmq_msg_close(&channel->msg); zmq_close(channel->socket); } /* will destroy context and netlist after all network channels closed */ NetDtor(); return 0; }
// ctor wxEventLoopImpl() { SetExitCode(0); SetKeepLooping(TRUE); }
virtual hUint32 RunUnitTest() override { if (doTest_) { hUint data1[201]; hUint data2[200]; hUint data3[199]; hChar encode1[268*sizeof(hUint)]; hChar encode2[267*sizeof(hUint)]; hChar encode3[266*sizeof(hUint)]; hUint decode1[201]; hUint decode2[200]; hUint decode3[199]; hUint needdecodesize; hUint needencodesize; hcPrintf("%s Generating Data", __FUNCTION__); GenRandomNumbers(data1, (hUint)hStaticArraySize(data1)); GenRandomNumbers(data2, (hUint)hStaticArraySize(data2)); GenRandomNumbers(data3, (hUint)hStaticArraySize(data3)); hcPrintf("%s Encoding Data", __FUNCTION__); needencodesize=Heart::hBase64::EncodeCalcRequiredSize(sizeof(data1)); hcAssert(needencodesize==sizeof(encode1)); Heart::hBase64::Encode(data1, sizeof(data1), encode1, needencodesize); needencodesize=Heart::hBase64::EncodeCalcRequiredSize(sizeof(data2)); hcAssert(needencodesize==sizeof(encode2)); Heart::hBase64::Encode(data2, sizeof(data2), encode2, needencodesize); needencodesize=Heart::hBase64::EncodeCalcRequiredSize(sizeof(data3)); hcAssert(needencodesize==sizeof(encode3)); Heart::hBase64::Encode(data3, sizeof(data3), encode3, needencodesize); hcPrintf("%s Decoding Data",__FUNCTION__); needdecodesize=Heart::hBase64::DecodeCalcRequiredSize(encode1, sizeof(encode1)); hcAssert(needdecodesize==sizeof(decode1)); Heart::hBase64::Decode(encode1, sizeof(encode1), decode1, sizeof(decode1)); hcAssert(memcmp(data1, decode1, sizeof(decode1)) == 0); needdecodesize=Heart::hBase64::DecodeCalcRequiredSize(encode2, sizeof(encode2)); hcAssert(needdecodesize==sizeof(decode2)); Heart::hBase64::Decode(encode2, sizeof(encode2), decode2, sizeof(decode2)); hcAssert(memcmp(data2, decode2, sizeof(decode2)) == 0); needdecodesize=Heart::hBase64::DecodeCalcRequiredSize(encode3, sizeof(encode3)); hcAssert(needdecodesize==sizeof(decode3)); Heart::hBase64::Decode(encode3, sizeof(encode3), decode3, sizeof(decode3)); hcAssert(memcmp(data3, decode3, sizeof(decode3)) == 0); hcPrintf("%s Test Complete",__FUNCTION__); doTest_=hFalse; } { SetExitCode(UNIT_TEST_EXIT_CODE_OK); } return 0; }
void CServerHandshake::Run() { VERIFY(AfxSocketInit()); CSocket socket; // führen Handshake innerhalb des Threads synchron aus socket.Attach(m_hSocket); clock_t end = clock() + HANDSHAKE_TIMEOUT * CLOCKS_PER_SEC; // (1.) auf eingehenden Identifizierungs-String (HANDSHAKE_CLIENTID) + Versionsnummer // vom Client warten UINT nCount = strlen(HANDSHAKE_CLIENTID) + 1 + sizeof(UINT) + 1; if (!RequestData(socket, nCount, end)) { DEBUG_MSG("client timed out, disconnected"); SetExitCode(1); return; } // Daten in Puffer übertragen BYTE *lpBuf = new BYTE[nCount]; int nDone = socket.Receive(lpBuf, nCount); if (nDone == SOCKET_ERROR) goto sockerror; else if (nDone < nCount) goto error; // Pufferinhalt prüfen if (memcmp(lpBuf, HANDSHAKE_CLIENTID, strlen(HANDSHAKE_CLIENTID)) != 0 || lpBuf[strlen(HANDSHAKE_CLIENTID)] != 0 || lpBuf[nCount - 1] != 0) { DEBUG_MSG("client is not a BotE client, disconnected"); delete[] lpBuf; SetExitCode(1); return; } // Puffer erfolgreich geprüft, Versionsnummer extrahieren UINT nClientVersion; memcpy(&nClientVersion, lpBuf + (strlen(HANDSHAKE_CLIENTID) + 1), sizeof(UINT)); TRACE("server: client has version %u\n", nClientVersion); delete[] lpBuf; lpBuf = NULL; // abbrechen, wenn andere Versionsnummer if (nClientVersion != m_nServerVersion) { DEBUG_MSG("client has incompatible version, disconnected"); SetExitCode(1); return; } // (2.) Server-Identifizierung + Versionsnummer senden nDone = socket.Send(HANDSHAKE_SERVERID, strlen(HANDSHAKE_SERVERID)); if (nDone == SOCKET_ERROR) goto sockerror; else if (nDone < strlen(HANDSHAKE_SERVERID)) goto error; lpBuf = new BYTE[nCount = 1 + sizeof(UINT) + 1]; lpBuf[0] = lpBuf[nCount - 1] = 0; memcpy(&lpBuf[1], &m_nServerVersion, sizeof(UINT)); nDone = socket.Send(lpBuf, nCount); if (nDone == SOCKET_ERROR) goto sockerror; else if (nDone < nCount) goto error; delete[] lpBuf; lpBuf = NULL; // (3.a) Bestätigung vom Client abwarten int nLen = 3 + sizeof(UINT); if (!RequestData(socket, nLen, end)) { DEBUG_MSG("client timed out, disconnected"); SetExitCode(1); return; } // Bestätigung prüfen lpBuf = new BYTE[3]; nDone = socket.Receive(lpBuf, 3); if (nDone == SOCKET_ERROR) goto sockerror; else if (nDone < 3) goto error; if (memcmp(lpBuf, "OK\0", 3) != 0) { DEBUG_MSG("client did not confirm, disconnected"); delete[] lpBuf; SetExitCode(1); return; } delete[] lpBuf; // Länge des Benutzernamens ermitteln lpBuf = new BYTE[sizeof(UINT)]; nDone = socket.Receive(lpBuf, sizeof(UINT)); if (nDone == SOCKET_ERROR) goto sockerror; else if (nDone < sizeof(UINT)) goto error; UINT nStrLen = 0; memcpy(&nStrLen, lpBuf, sizeof(UINT)); delete[] lpBuf; // (3.b) Benutzername empfangen if (!RequestData(socket, nStrLen, end)) { DEBUG_MSG("client timed out, disconnected"); SetExitCode(1); return; } // Benutzername lesen lpBuf = new BYTE[nStrLen + 1]; nDone = socket.Receive(lpBuf, nStrLen); if (nDone == SOCKET_ERROR) goto sockerror; else if (nDone < nStrLen) goto error; { lpBuf[nStrLen] = 0; CString strUserName((char *)lpBuf); strUserName.Trim(); // dem Server einen neuen Client melden; verwenden kleinere Versionsnummer zur // Kommunikation server.OnNewClient(socket.Detach(), min(m_nServerVersion, nClientVersion), strUserName); } delete[] lpBuf; return; sockerror: server.OnSocketError(socket.GetLastError()); error: if (lpBuf) delete[] lpBuf; SetExitCode(1); }
// ctor wxEventLoopImpl() { SetExitCode(0); SetKeepLooping(true); }
// ctor wxEventLoopImpl() { SetExitCode(0); }
int FolderTree::ProcessKey(const Manager::Key& Key) { int LocalKey=Key.FarKey(); if (LocalKey>=KEY_ALT_BASE+0x01 && LocalKey<=KEY_ALT_BASE+65535) LocalKey=ToLower(LocalKey-KEY_ALT_BASE); else if (LocalKey>=KEY_RALT_BASE+0x01 && LocalKey<=KEY_RALT_BASE+65535) LocalKey=ToLower(LocalKey-KEY_RALT_BASE); switch (LocalKey) { case KEY_F1: { Help::create(L"FindFolder"); } break; case KEY_ESC: case KEY_F10: Global->WindowManager->DeleteWindow(); SetExitCode(XC_MODIFIED); break; case KEY_NUMENTER: case KEY_ENTER: strNewFolder = Tree->GetCurDir(); if (os::fs::exists(strNewFolder)) { Global->WindowManager->DeleteWindow(); SetExitCode(XC_MODIFIED); } else { Tree->ProcessKey(Manager::Key(KEY_ENTER)); DrawEdit(); } break; case KEY_F5: IsFullScreen=!IsFullScreen; ResizeConsole(); Show(); return TRUE; case KEY_CTRLR: case KEY_RCTRLR: case KEY_F2: Tree->ProcessKey(Manager::Key(KEY_CTRLR)); DrawEdit(); break; case KEY_CTRLNUMENTER: case KEY_RCTRLNUMENTER: case KEY_CTRLSHIFTNUMENTER: case KEY_RCTRLSHIFTNUMENTER: case KEY_CTRLENTER: case KEY_RCTRLENTER: case KEY_CTRLSHIFTENTER: case KEY_RCTRLSHIFTENTER: { string strName; FindEdit->GetString(strName); Tree->FindPartName(strName, TRUE, LocalKey == KEY_CTRLSHIFTENTER || LocalKey == KEY_RCTRLSHIFTENTER || LocalKey == KEY_CTRLSHIFTNUMENTER || LocalKey == KEY_RCTRLSHIFTNUMENTER? -1 : 1); DrawEdit(); } break; case KEY_UP: case KEY_NUMPAD8: case KEY_DOWN: case KEY_NUMPAD2: case KEY_PGUP: case KEY_NUMPAD9: case KEY_PGDN: case KEY_NUMPAD3: case KEY_HOME: case KEY_NUMPAD7: case KEY_END: case KEY_NUMPAD1: case KEY_MSWHEEL_UP: case(KEY_MSWHEEL_UP | KEY_ALT): case(KEY_MSWHEEL_UP | KEY_RALT): case KEY_MSWHEEL_DOWN: case(KEY_MSWHEEL_DOWN | KEY_ALT): case(KEY_MSWHEEL_DOWN | KEY_RALT): FindEdit->SetString(L""); Tree->ProcessKey(Key); DrawEdit(); break; default: if (LocalKey == KEY_ADD || LocalKey == KEY_SUBTRACT) // OFM: Gray+/Gray- navigation { Tree->ProcessKey(Key); DrawEdit(); break; } /* else { if((Key&(~KEY_CTRLMASK)) == KEY_ADD) Key='+'; else if((Key&(~KEY_CTRLMASK)) == KEY_SUBTRACT) Key='-'; } */ if (FindEdit->ProcessKey(Key)) { string strName; FindEdit->GetString(strName); if (Tree->FindPartName(strName, FALSE, 1)) strLastName = strName; else { FindEdit->SetString(strLastName.data()); strName = strLastName; } DrawEdit(); } break; } return TRUE; }