chore: make SigScanner public, have separate service TargetSigScanner that resolves via ISigScanner (closes #1426)

This commit is contained in:
goat 2023-09-24 01:40:56 +02:00
parent 1d0b61e32b
commit ebabb7bd04
No known key found for this signature in database
GPG key ID: 49E2AA8C6A76498B
26 changed files with 55 additions and 41 deletions

View file

@ -0,0 +1,28 @@
using System.Diagnostics;
using System.IO;
using Dalamud.IoC;
using Dalamud.IoC.Internal;
namespace Dalamud.Game;
/// <summary>
/// A SigScanner facilitates searching for memory signatures in a given ProcessModule.
/// </summary>
[PluginInterface]
[InterfaceVersion("1.0")]
#pragma warning disable SA1015
[ResolveVia<ISigScanner>]
#pragma warning restore SA1015
internal class TargetSigScanner : SigScanner, IServiceType
{
/// <summary>
/// Initializes a new instance of the <see cref="TargetSigScanner"/> class.
/// </summary>
/// <param name="doCopy">Whether or not to copy the module upon initialization for search operations to use, as to not get disturbed by possible hooks.</param>
/// <param name="cacheFile">File used to cached signatures.</param>
public TargetSigScanner(bool doCopy = false, FileInfo? cacheFile = null)
: base(Process.GetCurrentProcess().MainModule!, doCopy, cacheFile)
{
}
}