// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using osu.Framework.Platform; namespace osu.Desktop.LegacyIpc { /// /// An that can be used to communicate to and from legacy clients. /// /// /// Synchronise any changes with osu-stable. /// public class LegacyIpcMessage : IpcMessage { public LegacyIpcMessage() { // Types/assemblies are not inter-compatible, so always serialise/deserialise into objects. base.Type = typeof(object).FullName; } public new string Type => base.Type; // Hide setter. public new object Value { set => base.Value = new Data { MessageType = value.GetType().Name, MessageData = value }; } public class Data { public string MessageType { get; set; } public object MessageData { get; set; } } } }