Table of Contents

Class ExtensionInfo

Namespace
RDCore.SDK.Extensibility
Assembly
RDCore.SDK.dll

The information contained in an extension manifest.

public record ExtensionInfo : IEquatable<ExtensionInfo>
Inheritance
ExtensionInfo
Implements
Inherited Members

Remarks

🧩 This is how RDCore recognizes an extension as such. This file should be marked as read-only at the OS level.

Constructors

ExtensionInfo(string, string, Version, string, string, string, string, PlatformExtensionServerCapability[])

The information contained in an extension manifest.

public ExtensionInfo(string Name, string Title, Version Version, string Publisher, string PublisherWebUrl, string Description, string Signature, PlatformExtensionServerCapability[] Capabilities)

Parameters

Name string

The name of the extension executable (.exe).

Title string

The friendly name / title of the extension. This should also be the name of the folder.

Version Version

The version of the extension.

Publisher string

The name of the publisher.

PublisherWebUrl string

The publisher's web URL.

Description string

A short description of the extension.

Signature string

The binary signature of the extension executable.

Capabilities PlatformExtensionServerCapability[]

The advertised capabilities of the extension.

Remarks

🧩 This is how RDCore recognizes an extension as such. This file should be marked as read-only at the OS level.

Properties

Capabilities

The advertised capabilities of the extension.

public PlatformExtensionServerCapability[] Capabilities { get; init; }

Property Value

PlatformExtensionServerCapability[]

Description

A short description of the extension.

public string Description { get; init; }

Property Value

string

Name

The name of the extension executable (.exe).

public string Name { get; init; }

Property Value

string

Publisher

The name of the publisher.

public string Publisher { get; init; }

Property Value

string

PublisherWebUrl

The publisher's web URL.

public string PublisherWebUrl { get; init; }

Property Value

string

SettingDescriptions

The description of each setting of Settings, by its key, in each language of the platform, by its two-letter name (Languages).

public Dictionary<string, Dictionary<string, string>> SettingDescriptions { get; init; }

Property Value

Dictionary<string, Dictionary<string, string>>

Settings

The settings the extension is configured with (ExtensionSettingsAttribute), without their descriptions, which are in SettingDescriptions; none for an extension that has none.

public SettingDescriptor[] Settings { get; init; }

Property Value

SettingDescriptor[]

Signature

The binary signature of the extension executable.

public string Signature { get; init; }

Property Value

string

Title

The friendly name / title of the extension. This should also be the name of the folder.

public string Title { get; init; }

Property Value

string

Version

The version of the extension.

public Version Version { get; init; }

Property Value

Version

Methods

SettingsIn(CultureInfo)

The settings of the extension, described in a language: culture's, or the platform's first when it has no description in it.

public SettingsSchema SettingsIn(CultureInfo culture)

Parameters

culture CultureInfo

The language of the user interface.

Returns

SettingsSchema

WithSettingsOf(Assembly)

The manifest, with the settings the extension's assembly says it is configured with (ExtensionSettingsAttribute) and their descriptions in each language of the platform; a description the extension has none of in a language is the one its resources fall back on.

public ExtensionInfo WithSettingsOf(Assembly assembly)

Parameters

assembly Assembly

The extension's assembly.

Returns

ExtensionInfo

The manifest as it is, for an assembly that says nothing of its settings.