From a89b2ca45023bd16264ed903d6b4ad61d6f91ef3 Mon Sep 17 00:00:00 2001 From: Amir Tepper Date: Mon, 14 Oct 2019 14:22:20 +0300 Subject: [PATCH] remove the need for windows SDK --- Plugins/Wox.Plugin.Program/Main.cs | 28 ++++++++++++++++++---- Plugins/Wox.Plugin.Program/Programs/UWP.cs | 6 +++-- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/Plugins/Wox.Plugin.Program/Main.cs b/Plugins/Wox.Plugin.Program/Main.cs index a6a891265a..9fb69bf7fb 100644 --- a/Plugins/Wox.Plugin.Program/Main.cs +++ b/Plugins/Wox.Plugin.Program/Main.cs @@ -17,12 +17,15 @@ namespace Wox.Plugin.Program { private static readonly object IndexLock = new object(); private static Win32[] _win32s; +#if SDK private static UWP.Application[] _uwps; + private static BinaryStorage _uwpStorage; +#endif private static PluginInitContext _context; private static BinaryStorage _win32Storage; - private static BinaryStorage _uwpStorage; + private static Settings _settings; private readonly PluginJsonStorage _settingsStorage; @@ -35,11 +38,15 @@ namespace Wox.Plugin.Program { _win32Storage = new BinaryStorage("Win32"); _win32s = _win32Storage.TryLoad(new Win32[] { }); +#if SDK _uwpStorage = new BinaryStorage("UWP"); _uwps = _uwpStorage.TryLoad(new UWP.Application[] { }); +#endif }); Log.Info($"|Wox.Plugin.Program.Main|Number of preload win32 programs <{_win32s.Length}>"); +#if SDK Log.Info($"|Wox.Plugin.Program.Main|Number of preload uwps <{_uwps.Length}>"); +#endif Task.Run(() => { Stopwatch.Normal("|Wox.Plugin.Program.Main|Program index cost", IndexPrograms); @@ -50,7 +57,9 @@ namespace Wox.Plugin.Program { _settingsStorage.Save(); _win32Storage.Save(_win32s); +#if SDK _uwpStorage.Save(_uwps); +#endif } public List Query(Query query) @@ -58,8 +67,14 @@ namespace Wox.Plugin.Program lock (IndexLock) { var results1 = _win32s.AsParallel().Select(p => p.Result(query.Search, _context.API)); +#if SDK var results2 = _uwps.AsParallel().Select(p => p.Result(query.Search, _context.API)); - var result = results1.Concat(results2).Where(r => r.Score > 0).ToList(); +#endif + var result = results1 +#if SDK + .Concat(results2) +#endif + .Where(r => r.Score > 0).ToList(); return result; } } @@ -72,10 +87,13 @@ namespace Wox.Plugin.Program public static void IndexPrograms() { Win32[] w = { }; +#if SDK UWP.Application[] u = { }; var t1 = Task.Run(() => { - w = Win32.All(_settings); +#endif + w = Win32.All(_settings); +#if SDK }); var t2 = Task.Run(() => { @@ -91,11 +109,13 @@ namespace Wox.Plugin.Program } }); Task.WaitAll(t1, t2); - +#endif lock (IndexLock) { _win32s = w; +#if SDK _uwps = u; +#endif } } diff --git a/Plugins/Wox.Plugin.Program/Programs/UWP.cs b/Plugins/Wox.Plugin.Program/Programs/UWP.cs index d5f72683f0..82b15738f5 100644 --- a/Plugins/Wox.Plugin.Program/Programs/UWP.cs +++ b/Plugins/Wox.Plugin.Program/Programs/UWP.cs @@ -1,4 +1,5 @@ -using System; +#if SDK +using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; @@ -583,4 +584,5 @@ namespace Wox.Plugin.Program.Programs private static extern Hresult SHLoadIndirectString(string pszSource, StringBuilder pszOutBuf, uint cchOutBuf, IntPtr ppvReserved); } -} \ No newline at end of file +} +#endif \ No newline at end of file