1+ using System . Collections . Generic ;
12using BinaryObjectScanner . Interfaces ;
3+ using SabreTools . Matching ;
4+ using SabreTools . Matching . Paths ;
25using SabreTools . Serialization . Wrappers ;
36
47namespace BinaryObjectScanner . Packer
58{
69 /// <summary>
710 /// Reflexive Arcade Installer
811 /// </summary>
9- public class ReflexiveArcadeInstaller : IExecutableCheck < PortableExecutable >
12+ public class ReflexiveArcadeInstaller : IExecutableCheck < PortableExecutable > , IPathCheck
1013 {
1114 /// <inheritdoc/>
1215 public string ? CheckExecutable ( string file , PortableExecutable exe , bool includeDebug )
@@ -26,5 +29,27 @@ public class ReflexiveArcadeInstaller : IExecutableCheck<PortableExecutable>
2629
2730 return null ;
2831 }
32+
33+ /// <inheritdoc/>
34+ public List < string > CheckDirectoryPath ( string path , List < string > ? files )
35+ {
36+ var matchers = new List < PathMatchSet >
37+ {
38+ new ( new FilePathMatch ( "ReflexiveArcade.dll" ) , "Reflexive Arcade Installer" ) ,
39+ } ;
40+
41+ return MatchUtil . GetAllMatches ( files , matchers , any : true ) ;
42+ }
43+
44+ /// <inheritdoc/>
45+ public string ? CheckFilePath ( string path )
46+ {
47+ var matchers = new List < PathMatchSet >
48+ {
49+ new ( new FilePathMatch ( "ReflexiveArcade.dll" ) , "Reflexive Arcade Installer" ) ,
50+ } ;
51+
52+ return MatchUtil . GetFirstMatch ( path , matchers , any : true ) ;
53+ }
2954 }
3055}
0 commit comments