2018-02-13 09:23:53 -08:00
|
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
|
|
|
// Licensed under the MIT License.
|
2016-07-29 13:02:49 -07:00
|
|
|
|
2016-03-30 14:20:52 -07:00
|
|
|
using System.Globalization;
|
|
|
|
|
using System.Diagnostics;
|
|
|
|
|
|
|
|
|
|
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
|
2016-03-30 14:20:52 -07:00
|
|
|
internal static readonly string HelpContentZipName = "HelpContent.cab";
|
2016-10-12 13:06:10 -07:00
|
|
|
#endif
|
2016-03-30 14:20:52 -07:00
|
|
|
internal static readonly string HelpIntoXmlName = "HelpInfo.xml";
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Class constructor
|
|
|
|
|
/// </summary>
|
2018-12-29 08:25:49 +05:00
|
|
|
/// <param name="name">Module name.</param>
|
|
|
|
|
/// <param name="guid">Module GUID.</param>
|
|
|
|
|
/// <param name="path">Module path.</param>
|
2018-12-28 16:39:06 +05:00
|
|
|
/// <param name="uri">HelpInfo URI.</param>
|
2016-03-30 14:20:52 -07:00
|
|
|
internal UpdatableHelpModuleInfo(string name, Guid guid, string path, string uri)
|
|
|
|
|
{
|
2018-12-31 15:10:15 +05:00
|
|
|
Debug.Assert(!string.IsNullOrEmpty(name));
|
2016-03-30 14:20:52 -07:00
|
|
|
Debug.Assert(guid != null);
|
2018-12-31 15:10:15 +05:00
|
|
|
Debug.Assert(!string.IsNullOrEmpty(path));
|
|
|
|
|
Debug.Assert(!string.IsNullOrEmpty(uri));
|
2016-03-30 14:20:52 -07:00
|
|
|
|
2016-08-02 13:29:09 -07:00
|
|
|
ModuleName = name;
|
2016-03-30 14:20:52 -07:00
|
|
|
_moduleGuid = guid;
|
2016-08-02 13:29:09 -07:00
|
|
|
ModuleBase = path;
|
|
|
|
|
HelpInfoUri = uri;
|
2016-03-30 14:20:52 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Module name
|
|
|
|
|
/// </summary>
|
2016-08-02 13:29:09 -07:00
|
|
|
internal string ModuleName { get; }
|
2016-03-30 14:20:52 -07:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Module GUID
|
|
|
|
|
/// </summary>
|
|
|
|
|
internal Guid ModuleGuid
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return _moduleGuid;
|
|
|
|
|
}
|
|
|
|
|
}
|
2018-12-23 22:20:06 -08:00
|
|
|
|
2016-03-30 14:20:52 -07:00
|
|
|
private Guid _moduleGuid;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Module path
|
|
|
|
|
/// </summary>
|
2016-08-02 13:29:09 -07:00
|
|
|
internal string ModuleBase { get; }
|
2016-03-30 14:20:52 -07:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// HelpInfo URI
|
|
|
|
|
/// </summary>
|
2016-08-02 13:29:09 -07:00
|
|
|
internal string HelpInfoUri { get; }
|
2016-03-30 14:20:52 -07:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets the combined HelpContent.zip name
|
|
|
|
|
/// </summary>
|
2018-12-29 08:25:49 +05:00
|
|
|
/// <param name="culture">Current culture.</param>
|
2018-12-25 21:43:03 +05:00
|
|
|
/// <returns>HelpContent name.</returns>
|
2016-03-30 14:20:52 -07:00
|
|
|
internal string GetHelpContentName(CultureInfo culture)
|
|
|
|
|
{
|
|
|
|
|
Debug.Assert(culture != null);
|
|
|
|
|
|
2016-08-02 13:29:09 -07:00
|
|
|
return ModuleName + "_" + _moduleGuid.ToString() + "_" + culture.Name + "_" + HelpContentZipName;
|
2016-03-30 14:20:52 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets the combined HelpInfo.xml name
|
|
|
|
|
/// </summary>
|
2018-12-25 21:43:03 +05:00
|
|
|
/// <returns>HelpInfo name.</returns>
|
2016-03-30 14:20:52 -07:00
|
|
|
internal string GetHelpInfoName()
|
|
|
|
|
{
|
2016-08-02 13:29:09 -07:00
|
|
|
return ModuleName + "_" + _moduleGuid.ToString() + "_" + HelpIntoXmlName;
|
2016-03-30 14:20:52 -07:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|