public static XElement ToXml(this LocalizedResourceSet resourceSet) { if (resourceSet.Strings.Count == 0) { return(null); } return(new XElement( EventManifestSchema.Namespace + "resources", new XAttribute("culture", resourceSet.Culture.Name), new XElement(EventManifestSchema.Namespace + "stringTable", resourceSet.Strings.Select(ToXml)))); }
private EventManifest ReadCrimBlock(BinaryReader r) { objectMap.Clear(); strings.Clear(); ReadMagic(r, CrimsonTags.CRIM); uint length = r.ReadUInt32(); ushort major = r.ReadUInt16(); ushort minor = r.ReadUInt16(); uint providerCount = r.ReadUInt32(); var providerEntries = new List <Tuple <Guid, uint> >(); for (uint i = 0; i < providerCount; ++i) { var providerGuid = r.ReadGuid(); var wevtOffset = r.ReadUInt32(); providerEntries.Add(Tuple.Create(providerGuid, wevtOffset)); } var manifest = new EventManifest(); foreach (var offset in providerEntries) { r.BaseStream.Position = offset.Item2; var provider = ReadWevtBlock(offset.Item1, r); manifest.Providers.Add(provider); } var resourceSet = new LocalizedResourceSet(CultureInfo.GetCultureInfo("en-US")); resourceSet.Strings.AddRange(strings.Values); manifest.AddResourceSet(resourceSet); return(manifest); }
private static Tuple <int, int> ResourceSortKey(LocalizedResourceSet resourceSet) { CultureInfo culture = resourceSet.Culture; return(Tuple.Create(culture.GetPrimaryLangId(), culture.GetSubLangId())); }
/// <summary> /// Returns <see cref="Hashtable" /> containing culture-specific resources. /// </summary> /// <returns> /// A <see cref="Hashtable" /> containing culture-specific resources. /// </returns> /// <remarks> /// The key of the <see cref="Hashtable" /> is <see cref="CultureInfo" /> /// and the value is an <see cref="LocalizedResourceSet" /> instance /// for that culture. /// </remarks> private Hashtable GetLocalizedResources() { Hashtable localizedResourceSets = new Hashtable(); foreach (Resource resource in _localizedResources) { CultureInfo resourceCulture = resource.Culture; LocalizedResourceSet resourceSet = (LocalizedResourceSet) localizedResourceSets[resourceCulture]; if (resourceSet == null) { resourceSet = new LocalizedResourceSet(resourceCulture); localizedResourceSets.Add(resourceCulture, resourceSet); } resourceSet.Resources.Add(resource); } return localizedResourceSets; }