// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using System; namespace autoShell.Services; /// /// Abstracts Windows virtual desktop COM operations for testability. /// internal interface IVirtualDesktopService { /// /// Creates one or more virtual desktops from a JSON array of names. /// void CreateDesktops(string jsonDesktopNames); /// /// Moves a window to the specified desktop by index (1-based) or name. /// void MoveWindowToDesktop(IntPtr hWnd, string desktopIdentifier); /// /// Switches to the next virtual desktop. /// void NextDesktop(); /// /// Pins a window (by handle) to all desktops. /// void PinWindow(IntPtr hWnd); /// /// Switches to the previous virtual desktop. /// void PreviousDesktop(); /// /// Switches to a virtual desktop by index or name. /// void SwitchDesktop(string desktopIdentifier); }