using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Windows.Markup; namespace Wox.Infrastructure.Storage { public class StoragePowerToysVersionInfo { // This detail is accessed by the storage items and is used to decide if the cache must be deleted or not public bool clearCache = false; private String currentPowerToysVersion = String.Empty; private String FilePath { get; set; } = String.Empty; // As of now this information is not pertinent but may be in the future // There may be cases when we want to delete only the .cache files and not the .json storage files private enum StorageType { BINARY_STORAGE = 0, JSON_STORAGE = 1 } // To compare the version numbers public static bool Lessthan(string version1, string version2) { string version = "v"; string period = "."; const int versionLength = 3; // If there is some error in populating/retrieving the version numbers, then the cache must be deleted // This case will not be hit, but is present as a fail safe if(String.IsNullOrEmpty(version1) || String.IsNullOrEmpty(version2)) { return true; } string[] split1 = version1.Split( new string[] { version, period }, StringSplitOptions.RemoveEmptyEntries); string[] split2 = version2.Split( new string[] { version, period }, StringSplitOptions.RemoveEmptyEntries); for(int i=0; i