public override void DoIt() { var dlgFactory = Services.RequireService <IDialogFactory>(); var uiSvc = Services.RequireService <IDecompilerShellUiService>(); Procedure_v1 sProc; if (!program.User.Procedures.TryGetValue(address, out sProc)) { sProc = new Procedure_v1 { Name = procedure.Name } } ; //$REVIEW: use dialog factory. var i = new ProcedureDialogInteractor(program, sProc); using (ProcedureDialog dlg = i.CreateDialog()) { if (DialogResult.OK == uiSvc.ShowModalDialog(dlg)) { i.ApplyChanges(); program.User.Procedures[address] = sProc; procedure.Name = sProc.Name; } } } }
public void Setup() { proc = new Procedure_v1(); var arch = new X86ArchitectureFlat32("x86-protected-32"); var platform = new Win32Platform(null, arch); var program = new Program { Architecture = arch, Platform = platform }; interactor = new ProcedureDialogInteractor(program, proc); }
public void Setup() { proc = new Procedure_v1(); var sc = new ServiceContainer(); var arch = new X86ArchitectureFlat32(sc, "x86-protected-32", new Dictionary <string, object>()); var platform = new Win32Platform(sc, arch); var program = new Program { Architecture = arch, Platform = platform }; interactor = new ProcedureDialogInteractor(program, proc); }
public override void DoIt() { var dlgFactory = Services.RequireService <IDialogFactory>(); var uiSvc = Services.RequireService <IDecompilerShellUiService>(); var platform = program.Platform; var ser = platform.CreateProcedureSerializer(new TypeLibraryLoader(platform, true), "stdapi"); var sProc = ser.Serialize(procedure, address); //$REVIEW: use dialog factory. var i = new ProcedureDialogInteractor(platform.Architecture, sProc); using (ProcedureDialog dlg = i.CreateDialog()) { if (DialogResult.OK == uiSvc.ShowModalDialog(dlg)) { program.UserProcedures[address] = i.SerializedProcedure; ser = platform.CreateProcedureSerializer(new TypeLibraryLoader(platform, true), "stdapi"); procedure.Signature = ser.Deserialize(i.SerializedProcedure.Signature, procedure.Frame); // canAdvance = false; } } }
public IProcedureDialog CreateProcedureDialog(Program program, Core.Serialization.Procedure_v1 sProc) { var i = new ProcedureDialogInteractor(program, sProc); return(i.CreateDialog()); }
public IProcedureDialog CreateProcedureDialog(Program program, Core.UserProcedure proc) { var i = new ProcedureDialogInteractor(program, proc); return(i.CreateDialog()); }