using Microsoft.VisualStudio.RpcContracts.RemoteUI; using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Vector3VisualizerSource; namespace Vector3Visualizer; public class MyRemoteUserControl : IRemoteWpfUserControl, IRemoteProxiedUserControl, IRemoteUserControl, IDisposable, IRemoteProxiedUserControl2 { public Vector3Model? Model { get; } public MyRemoteUserControl(Vector3Model? model) => Model = model; private bool disposedValue; protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { // TODO: dispose managed state (managed objects) } // TODO: free unmanaged resources (unmanaged objects) and override finalizer // TODO: set large fields to null disposedValue = true; } } // // TODO: override finalizer only if 'Dispose(bool disposing)' has code to free unmanaged resources // ~MyRemoteUserControl() // { // // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method // Dispose(disposing: false); // } void IDisposable.Dispose() { // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method Dispose(disposing: true); GC.SuppressFinalize(this); } Task IRemoteWpfUserControl.InitializeAsync(IRemoteProxiedUserControlClient remoteUserControlClient, CancellationToken cancellationToken) { return Task.FromResult(new RemoteWpfUserControlDefinition()); } Task IRemoteWpfUserControl.ControlLoadedAsync(CancellationToken cancellationToken) { return Task.CompletedTask; } Task IRemoteProxiedUserControl.GetObjectAsync(ObjectId id, CancellationToken cancellationToken) { return Task.FromResult(false); } Task IRemoteProxiedUserControl.SetObjectPropertyAsync(ObjectId id, string propertyName, MessagePackFragment value, CancellationToken cancellationToken) { return Task.FromResult(false); } Task IRemoteProxiedUserControl.SetCollectionEntryAsync(ObjectId id, int index, MessagePackFragment value, ObjectVersion? version, CancellationToken cancellationToken) { return Task.FromResult(false); } Task IRemoteProxiedUserControl.InvokeAsync(ObjectId id, MessagePackFragment parameter, CancellationToken cancellationToken) { return Task.FromResult(false); } Task IRemoteProxiedUserControl2.InvokeAsync(ObjectId id, MessagePackFragment parameter, IReadOnlyDictionary context, CancellationToken cancellationToken) { return Task.FromResult(false); } }