From 52005c7e6917f9866dd0b0de6993def16a72ed4b Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Wed, 1 Aug 2018 03:02:34 -0700 Subject: Major reduction in public surface area of WixToolset.Core --- src/WixToolset.Core/Localizer.cs | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) (limited to 'src/WixToolset.Core/Localizer.cs') diff --git a/src/WixToolset.Core/Localizer.cs b/src/WixToolset.Core/Localizer.cs index cb9a4406..a545f844 100644 --- a/src/WixToolset.Core/Localizer.cs +++ b/src/WixToolset.Core/Localizer.cs @@ -11,31 +11,25 @@ namespace WixToolset.Core using WixToolset.Extensibility; using WixToolset.Extensibility.Services; - /// - /// Parses localization files and localizes database values. - /// - public sealed class Localizer + internal class Localizer : ILocalizer { public static readonly XNamespace WxlNamespace = "http://wixtoolset.org/schemas/v4/wxl"; private static string XmlElementName = "WixLocalization"; - /// - /// Loads a localization file from a path on disk. - /// - /// Path to localization file saved on disk. - /// Returns the loaded localization file. - public static Localization ParseLocalizationFile(IMessaging messaging, string path) + internal Localizer(IServiceProvider serviceProvider) + { + this.Messaging = serviceProvider.GetService(); + } + + private IMessaging Messaging { get; } + + public Localization ParseLocalizationFile(string path) { var document = XDocument.Load(path); - return ParseLocalizationFile(messaging, document); + return ParseLocalizationFile(document); } - /// - /// Loads a localization file from memory. - /// - /// Document to parse as localization file. - /// Returns the loaded localization file. - public static Localization ParseLocalizationFile(IMessaging messaging, XDocument document) + public Localization ParseLocalizationFile(XDocument document) { XElement root = document.Root; Localization localization = null; @@ -45,23 +39,23 @@ namespace WixToolset.Core { if (Localizer.WxlNamespace == root.Name.Namespace) { - localization = ParseWixLocalizationElement(messaging, root); + localization = ParseWixLocalizationElement(this.Messaging, root); } else // invalid or missing namespace { if (null == root.Name.Namespace) { - messaging.Write(ErrorMessages.InvalidWixXmlNamespace(sourceLineNumbers, Localizer.XmlElementName, Localizer.WxlNamespace.NamespaceName)); + this.Messaging.Write(ErrorMessages.InvalidWixXmlNamespace(sourceLineNumbers, Localizer.XmlElementName, Localizer.WxlNamespace.NamespaceName)); } else { - messaging.Write(ErrorMessages.InvalidWixXmlNamespace(sourceLineNumbers, Localizer.XmlElementName, root.Name.LocalName, Localizer.WxlNamespace.NamespaceName)); + this.Messaging.Write(ErrorMessages.InvalidWixXmlNamespace(sourceLineNumbers, Localizer.XmlElementName, root.Name.LocalName, Localizer.WxlNamespace.NamespaceName)); } } } else { - messaging.Write(ErrorMessages.InvalidDocumentElement(sourceLineNumbers, root.Name.LocalName, "localization", Localizer.XmlElementName)); + this.Messaging.Write(ErrorMessages.InvalidDocumentElement(sourceLineNumbers, root.Name.LocalName, "localization", Localizer.XmlElementName)); } return localization; -- cgit v1.2.3-55-g6feb