Table of Contents

Interface IMessageManager

Namespace
Xabbo.Messages
Assembly
Xabbo.Common.dll

Represents a service that manages client specific message & header information.

public interface IMessageManager

Properties

Available

Gets whether message information is available.

bool Available { get; }

Property Value

bool

Methods

InitializeAsync(CancellationToken)

Initializes the message manager.

Task InitializeAsync(CancellationToken cancellationToken)

Parameters

cancellationToken CancellationToken

Returns

Task

Is(Header, ReadOnlySpan<Identifier>)

Gets whether the header matches any of the specified identifiers.

bool Is(Header header, ReadOnlySpan<Identifier> identifiers)

Parameters

header Header
identifiers ReadOnlySpan<Identifier>

Returns

bool

LoadMessages(IEnumerable<ClientMessage>)

Loads the specified client messages.

void LoadMessages(IEnumerable<ClientMessage> messages)

Parameters

messages IEnumerable<ClientMessage>

Resolve(ReadOnlySpan<Identifier>)

Resolves the specified identifiers to an array of headers.

Headers Resolve(ReadOnlySpan<Identifier> identifiers)

Parameters

identifiers ReadOnlySpan<Identifier>

Returns

Headers

Exceptions

ArgumentException

If no identifiers were specified.

UnresolvedIdentifiersException

If any of the identifiers could not be resolved.

Resolve(Identifier)

Resolves the specified identifier to a header.

Header Resolve(Identifier identifier)

Parameters

identifier Identifier

Returns

Header

Exceptions

UnresolvedIdentifiersException

If the identifier could not be resolved.

TryGetHeader(Identifier, out Header)

Attempts to get a header by its identifier.

bool TryGetHeader(Identifier identifier, out Header header)

Parameters

identifier Identifier
header Header

Returns

bool

TryGetNames(Header, out MessageNames)

Attempts to get the associated message names for the specified header.

bool TryGetNames(Header header, out MessageNames names)

Parameters

header Header
names MessageNames

Returns

bool

TryGetNames(Identifier, out MessageNames)

Attempts to get the associated message names for the specified identifier.

bool TryGetNames(Identifier identifier, out MessageNames names)

Parameters

identifier Identifier
names MessageNames

Returns

bool

TryResolve(ReadOnlySpan<Identifier>, out Headers?, out Identifiers?)

Attempts to resolve the specified identifiers to an array of headers.

bool TryResolve(ReadOnlySpan<Identifier> identifiers, out Headers? headers, out Identifiers? unresolved)

Parameters

identifiers ReadOnlySpan<Identifier>
headers Headers
unresolved Identifiers

Returns

bool

Exceptions

ArgumentException

If no identifiers were specified.

Events

Loaded

Notifies listeners when messages have been loaded.

event Action? Loaded

Event Type

Action