12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- using System.Runtime.InteropServices;
- using UnityEngine.InputSystem.Utilities;
-
- namespace UnityEngine.InputSystem.LowLevel
- {
- /// <summary>
- /// Device command to instruct the underlying platform to pair a user account to the targeted device.
- /// </summary>
- /// <remarks>
- ///
- /// If successful, the platform should then send an <see cref="DeviceConfigurationEvent"/>
- /// to signal that the device configuration has been changed. In response, a <see cref="QueryUserIdCommand"/>
- /// may be sent to fetch the paired user ID from the device.
- /// </remarks>
- [StructLayout(LayoutKind.Explicit, Size = kSize)]
- public struct InitiateUserAccountPairingCommand : IInputDeviceCommandInfo
- {
- public static FourCC Type { get { return new FourCC('P', 'A', 'I', 'R'); } }
-
- internal const int kSize = InputDeviceCommand.kBaseCommandSize;
-
- [FieldOffset(0)]
- public InputDeviceCommand baseCommand;
-
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1008:EnumsShouldHaveZeroValue", Justification = "Enum values mandated by native code")]
- public enum Result
- {
- /// <summary>
- /// User pairing UI has been successfully opened.
- /// </summary>
- SuccessfullyInitiated = 1,
-
- /// <summary>
- /// System does not support application-invoked user pairing.
- /// </summary>
- ErrorNotSupported = (int)InputDeviceCommand.GenericFailure,
-
- /// <summary>
- /// There already is a pairing operation in progress and the system does not support
- /// pairing multiple devices at the same time.
- /// </summary>
- ErrorAlreadyInProgress = -2,
- }
-
- public FourCC typeStatic
- {
- get { return Type; }
- }
-
- public static InitiateUserAccountPairingCommand Create()
- {
- return new InitiateUserAccountPairingCommand
- {
- baseCommand = new InputDeviceCommand(Type, kSize),
- };
- }
- }
- }
|