microsoft/TypeAgent

Public

mirrored fromhttps://github.com/microsoft/TypeAgentAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
copilot/review-tests-to-test-live

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

dotnet/autoShell/Services/ISystemParametersService.cs

54lines · modecode

1// Copyright (c) Microsoft Corporation.
2// Licensed under the MIT License.
3
4using System;
5
6namespace autoShell.Services;
7
8/// <summary>
9/// Abstracts SystemParametersInfo and related Win32 system parameter calls for testability.
10/// </summary>
11internal interface ISystemParametersService
12{
13 /// <summary>
14 /// Sets a system parameter via SystemParametersInfo with an IntPtr value.
15 /// </summary>
16 /// <param name="action">The system parameter action constant (SPI_SET*).</param>
17 /// <param name="param">Additional parameter whose meaning depends on the action.</param>
18 /// <param name="vparam">Pointer to the value to set.</param>
19 /// <param name="flags">Flags controlling persistence and notification (SPIF_*).</param>
20 bool SetParameter(int action, int param, IntPtr vparam, int flags);
21
22 /// <summary>
23 /// Sets a system parameter via SystemParametersInfo with a string value.
24 /// </summary>
25 /// <param name="action">The system parameter action constant (SPI_SET*).</param>
26 /// <param name="param">Additional parameter whose meaning depends on the action.</param>
27 /// <param name="vparam">The string value to set.</param>
28 /// <param name="flags">Flags controlling persistence and notification (SPIF_*).</param>
29 bool SetParameter(int action, int param, string vparam, int flags);
30
31 /// <summary>
32 /// Sets a system parameter via SystemParametersInfo with an int array value.
33 /// </summary>
34 /// <param name="action">The system parameter action constant (SPI_SET*).</param>
35 /// <param name="param">Additional parameter whose meaning depends on the action.</param>
36 /// <param name="vparam">Array containing the value to set.</param>
37 /// <param name="flags">Flags controlling persistence and notification (SPIF_*).</param>
38 bool SetParameter(int action, int param, int[] vparam, int flags);
39
40 /// <summary>
41 /// Gets a system parameter via SystemParametersInfo into an int array.
42 /// </summary>
43 /// <param name="action">The system parameter action constant (SPI_GET*).</param>
44 /// <param name="param">Additional parameter whose meaning depends on the action.</param>
45 /// <param name="vparam">Array to receive the value.</param>
46 /// <param name="flags">Flags (typically 0 for get operations).</param>
47 bool GetParameter(int action, int param, int[] vparam, int flags);
48
49 /// <summary>
50 /// Swaps the primary and secondary mouse buttons.
51 /// </summary>
52 /// <param name="swap">If true, swaps the buttons; if false, restores default.</param>
53 bool SwapMouseButton(bool swap);
54}
55