Files
PowerShell/src/System.Management.Automation/help/UpdatableHelpModuleInfo.cs
T

90 lines
2.6 KiB
C#
Raw Normal View History

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
2016-07-29 13:02:49 -07:00
using System.Diagnostics;
2019-04-30 10:25:11 +05:00
using System.Globalization;
namespace System.Management.Automation.Help
{
/// <summary>
/// Updatable help system internal representation of the PSModuleInfo class.
/// </summary>
internal class UpdatableHelpModuleInfo
{
2016-10-12 13:06:10 -07:00
#if UNIX
internal static readonly string HelpContentZipName = "HelpContent.zip";
#else
internal static readonly string HelpContentZipName = "HelpContent.cab";
2016-10-12 13:06:10 -07:00
#endif
internal static readonly string HelpIntoXmlName = "HelpInfo.xml";
/// <summary>
/// Class constructor.
/// </summary>
/// <param name="name">Module name.</param>
/// <param name="guid">Module GUID.</param>
/// <param name="path">Module path.</param>
/// <param name="uri">HelpInfo URI.</param>
internal UpdatableHelpModuleInfo(string name, Guid guid, string path, string uri)
{
Debug.Assert(!string.IsNullOrEmpty(name));
Debug.Assert(guid != null);
Debug.Assert(!string.IsNullOrEmpty(path));
Debug.Assert(!string.IsNullOrEmpty(uri));
2016-08-02 13:29:09 -07:00
ModuleName = name;
_moduleGuid = guid;
2016-08-02 13:29:09 -07:00
ModuleBase = path;
HelpInfoUri = uri;
}
/// <summary>
/// Module name.
/// </summary>
2016-08-02 13:29:09 -07:00
internal string ModuleName { get; }
/// <summary>
/// Module GUID.
/// </summary>
internal Guid ModuleGuid
{
get
{
return _moduleGuid;
}
}
private Guid _moduleGuid;
/// <summary>
/// Module path.
/// </summary>
2016-08-02 13:29:09 -07:00
internal string ModuleBase { get; }
/// <summary>
/// HelpInfo URI.
/// </summary>
2016-08-02 13:29:09 -07:00
internal string HelpInfoUri { get; }
/// <summary>
/// Gets the combined HelpContent.zip name.
/// </summary>
/// <param name="culture">Current culture.</param>
/// <returns>HelpContent name.</returns>
internal string GetHelpContentName(CultureInfo culture)
{
Debug.Assert(culture != null);
2016-08-02 13:29:09 -07:00
return ModuleName + "_" + _moduleGuid.ToString() + "_" + culture.Name + "_" + HelpContentZipName;
}
/// <summary>
/// Gets the combined HelpInfo.xml name.
/// </summary>
/// <returns>HelpInfo name.</returns>
internal string GetHelpInfoName()
{
2016-08-02 13:29:09 -07:00
return ModuleName + "_" + _moduleGuid.ToString() + "_" + HelpIntoXmlName;
}
}
}