// Copyright (c) Arlo Godfrey. All Rights Reserved.
// Licensed under the GNU Lesser General Public License, Version 3.0 with additional terms.
// See the LICENSE, LICENSE.LESSER and LICENSE.ADDITIONAL files in the project root for more information.
using System;
namespace StrixMusic.Sdk.Plugins.Model
{
///
/// Contains metadata for a plugin. Used to identify a plugin before instantiation.
///
public sealed class ModelPluginMetadata
{
///
/// Creates a new instance of .
///
/// A unique identifier for this plugin, including all instances.
/// The user-friendly name of the plugin.
/// Briefly describes this plugin.
/// This plugin's version number.
public ModelPluginMetadata(string id, string displayName, string description, Version pluginVersion)
{
Id = id;
DisplayName = displayName;
Description = description;
SdkVersion = typeof(ModelPluginMetadata).Assembly.GetName().Version;
PluginVersion = pluginVersion;
}
///
/// A unique identifier for this plugin, across all instances.
///
public string Id { get; }
///
/// A path pointing to an SVG file containing the logo for this plugin.
///
public Uri? LogoUri { get; set; }
///
/// The user-friendly name for the plugin.
///
public string DisplayName { get; }
///
/// Briefly describes this plugin.
///
public string Description { get; }
///
/// The version of the Strix Music SDK that this plugin was built against.
///
public Version SdkVersion { get; }
///
/// This plugin's version number.
///
public Version PluginVersion { get; set; }
}
}