2020-07-14 11:44:50 -07:00
|
|
|
|
using Microsoft.Plugin.Program.Logger;
|
2020-07-21 10:26:37 -07:00
|
|
|
|
using System;
|
2020-07-14 11:44:50 -07:00
|
|
|
|
using System.IO;
|
|
|
|
|
|
using Package = Windows.ApplicationModel.Package;
|
2020-07-10 13:43:02 -07:00
|
|
|
|
|
|
|
|
|
|
namespace Microsoft.Plugin.Program.Programs
|
|
|
|
|
|
{
|
|
|
|
|
|
public class PackageWrapper : IPackage
|
|
|
|
|
|
{
|
2020-07-14 11:44:50 -07:00
|
|
|
|
public string Name { get; } = string.Empty;
|
2020-07-10 13:43:02 -07:00
|
|
|
|
|
2020-07-14 11:44:50 -07:00
|
|
|
|
public string FullName { get; } = string.Empty;
|
2020-07-10 13:43:02 -07:00
|
|
|
|
|
2020-07-14 11:44:50 -07:00
|
|
|
|
public string FamilyName { get; } = string.Empty;
|
2020-07-10 13:43:02 -07:00
|
|
|
|
|
2020-07-14 11:44:50 -07:00
|
|
|
|
public bool IsFramework { get; } = false;
|
2020-07-10 13:43:02 -07:00
|
|
|
|
|
2020-07-14 11:44:50 -07:00
|
|
|
|
public bool IsDevelopmentMode { get; } = false;
|
2020-07-10 13:43:02 -07:00
|
|
|
|
|
2020-07-14 11:44:50 -07:00
|
|
|
|
public string InstalledLocation { get; } = string.Empty;
|
|
|
|
|
|
|
|
|
|
|
|
public PackageWrapper() { }
|
2020-07-10 13:43:02 -07:00
|
|
|
|
|
|
|
|
|
|
public PackageWrapper(string Name, string FullName, string FamilyName, bool IsFramework, bool IsDevelopmentMode, string InstalledLocation)
|
|
|
|
|
|
{
|
|
|
|
|
|
this.Name = Name;
|
|
|
|
|
|
this.FullName = FullName;
|
|
|
|
|
|
this.FamilyName = FamilyName;
|
|
|
|
|
|
this.IsFramework = IsFramework;
|
|
|
|
|
|
this.IsDevelopmentMode = IsDevelopmentMode;
|
|
|
|
|
|
this.InstalledLocation = InstalledLocation;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public static PackageWrapper GetWrapperFromPackage(Package package)
|
|
|
|
|
|
{
|
2020-07-21 10:26:37 -07:00
|
|
|
|
string path;
|
2020-07-14 11:44:50 -07:00
|
|
|
|
try
|
|
|
|
|
|
{
|
2020-07-21 10:26:37 -07:00
|
|
|
|
path = package.InstalledLocation.Path;
|
2020-07-14 11:44:50 -07:00
|
|
|
|
}
|
2020-07-21 10:26:37 -07:00
|
|
|
|
catch (Exception e) when (e is ArgumentException || e is FileNotFoundException)
|
2020-07-14 11:44:50 -07:00
|
|
|
|
{
|
2020-07-21 10:26:37 -07:00
|
|
|
|
ProgramLogger.LogException($"PackageWrapper", "GetWrapperFromPackage", "package.InstalledLocation.Path", $"Exception {package.Id.Name}", e);
|
2020-07-14 11:44:50 -07:00
|
|
|
|
return new PackageWrapper();
|
|
|
|
|
|
}
|
2020-07-21 10:26:37 -07:00
|
|
|
|
|
|
|
|
|
|
return new PackageWrapper(
|
|
|
|
|
|
package.Id.Name,
|
|
|
|
|
|
package.Id.FullName,
|
|
|
|
|
|
package.Id.FamilyName,
|
|
|
|
|
|
package.IsFramework,
|
|
|
|
|
|
package.IsDevelopmentMode,
|
|
|
|
|
|
path
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2020-07-10 13:43:02 -07:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|