Ticket #284 (closed task: fixed)

Opened 5 years ago

Last modified 5 years ago

Eraser.Util rewrite

Reported by: Joel Owned by: Joel
Priority: major Milestone: Eraser 6.1/6.2
Component: Core Version:
Keywords: Cc:
Processor Architecture: Blocked By: #90, #272, #316, #317
Blocking: #275 Operating System:

Description (last modified by Joel) (diff)

Other tasks:

Blocking

IdSummaryMilestone
#284Eraser.Util rewriteEraser 6.1/6.2
#275Code ReviewEraser 6.1/6.2
#262Localise the Util.Native and Util librariesEraser 6.1/6.2

Blocked by

IdSummaryMilestone
#284Eraser.Util rewriteEraser 6.1/6.2
#272Remove IsFat12 from Fat12Or16ApiEraser 6.1/6.2
#90Generic speed meterEraser 6.1/6.2
#316Eraser causes lag when runningEraser 6.0.7
#317Merge the BlackBox branchEraser 6.1/6.2

Change History

comment:1 Changed 5 years ago by Joel

Simultaneously, standardise the naming for the functions in Eraser.Util.

comment:2 Changed 5 years ago by Joel

  • Blocking 275 added

comment:3 Changed 5 years ago by Joel

And also group all the source files to folders, currently:

APIs
BlackBox?
FileSystem?
Unlocker

Each could have their own namespace (if large enough.)

comment:4 Changed 5 years ago by Joel

  • Owner set to Joel
  • Status changed from new to accepted

comment:5 Changed 5 years ago by Joel

  • Blocked By 272 added

comment:6 Changed 5 years ago by Joel

  • Description modified (diff)
  • Blocked By 90 added
  • Summary changed from Combine all three Eraser Util assemblies to one to Eraser.Util rewrite

comment:7 Changed 5 years ago by Joel

  • Description modified (diff)

Brought Util tasks over from #275

comment:8 Changed 5 years ago by Joel

  • Description modified (diff)

comment:9 Changed 5 years ago by Joel

  • Description modified (diff)

AllocHGlobal in the VolumeInfo? constructor has been removed and replaced with a StringBuilder? instance in r1530

comment:10 Changed 5 years ago by Joel

  • Description modified (diff)

It's just NOT possible to combine the native code to C# - the entire process becomes unstable especially with native threads needing termination when calling NtQueryObject)

comment:11 Changed 5 years ago by Joel

  • Description modified (diff)

The assemblies have been pretty much combined since r1549.

comment:12 Changed 5 years ago by Joel

  • Description modified (diff)

comment:13 Changed 5 years ago by Joel

  • Description modified (diff)

Fixed in r1551

comment:14 Changed 5 years ago by Joel

  • Description modified (diff)

Fixed in r1554.

comment:15 Changed 5 years ago by Joel

  • Description modified (diff)

Source files are now neatly grouped into folders.

comment:16 Changed 5 years ago by Joel

  • Description modified (diff)

comment:17 Changed 5 years ago by Joel

  • Description modified (diff)

Eraser.Util now adopts standard naming conventions.

  • Extension methods are in the Eraser.Util.ExtensionMethods namespace and in the ExtensionMethods folder
    • The extension methods are stored in files describing their function
  • API names (from their import DLLs) are moved to the NativeMethods folder and all imports are placed in the NativeMethods class.
    • Imports are grouped according to import DLL and the file name is the name of the import DLL (dropping the 32, if present)
  • Eraser.Util classes now adopt the purpose of the class over the name of the import library
    • UXThemeApi => Theming (r1558)
    • WinTrustApi, AdvApi, !MsCorEEApi => Security (r1552)
    • KernelApi (SetThreadExecutionState) => Power (r1562)
    • KernelApi (KernelApi.!GetHRForWin32Error and !GetExceptionForWin32Error) => Win32ErrorCode (r1566)
    • KernelApi (KernelApi.AllocConsole/KernelApi.FreeConsole) => ConsoleWindow? (also wraps the AllocConsole/FreeConsole functions) (r1567)
    • Rest of KernelApi => SystemInfo
    • ShellApi => RecycleBin (that was all that was left! r1563)
    • SystemRestoreApi => SystemRestore (r1565)

comment:18 Changed 5 years ago by Joel

  • Description modified (diff)

ProgressManager brought over in r1572

comment:19 Changed 5 years ago by Joel

  • Description modified (diff)

comment:20 Changed 5 years ago by Joel

  • Description modified (diff)

Win32 error => Exception handling improved in r1576

comment:21 Changed 5 years ago by Joel

  • Description modified (diff)

comment:22 Changed 5 years ago by Joel

  • Blocked By 316 added

comment:23 Changed 5 years ago by Joel

  • Blocked By 317 added

comment:24 Changed 5 years ago by Joel

  • Blocked By 308 added

comment:25 Changed 5 years ago by Joel

  • Blocked By 308 removed

comment:26 Changed 5 years ago by Joel

  • Description modified (diff)

NtApi? removed in r1710

comment:27 Changed 5 years ago by Joel

  • Description modified (diff)

Nt not NtfsApi?...

comment:28 Changed 5 years ago by Joel

  • Status changed from accepted to closed
  • Resolution set to fixed

I'll mark this closed and lump it with the Code Review task.

Note: See TracTickets for help on using tickets.