namespace IntegrationGateway.Core.Abstractions; public interface IAcceptsMetadataPush : IIntegrationAdapter { Task PushMetadataAsync(string sourceDeviceId, MetadataChangeSet changes); } public class MetadataChangeSet { public string? Name { get; set; } public string? IpAddress { get; set; } public int? Port { get; set; } public int? StreamMode { get; set; } } public class MetadataPushResult { public bool Success { get; set; } public List RejectedFields { get; set; } = new(); public string? Reason { get; set; } }