include: Add Windows.Gaming.Input.Custom.GameControllerFactoryManager runtimeclass definition.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
f68270e889
commit
fbfefb1533
|
@ -29,9 +29,37 @@ import "windows.gaming.input.idl";
|
||||||
import "windows.storage.streams.idl";
|
import "windows.storage.streams.idl";
|
||||||
|
|
||||||
namespace Windows.Gaming.Input.Custom {
|
namespace Windows.Gaming.Input.Custom {
|
||||||
|
typedef enum XusbDeviceSubtype XusbDeviceSubtype;
|
||||||
|
typedef enum XusbDeviceType XusbDeviceType;
|
||||||
typedef struct GameControllerVersionInfo GameControllerVersionInfo;
|
typedef struct GameControllerVersionInfo GameControllerVersionInfo;
|
||||||
interface IGameControllerProvider;
|
interface IGameControllerProvider;
|
||||||
interface ICustomGameControllerFactory;
|
interface ICustomGameControllerFactory;
|
||||||
|
interface IGameControllerFactoryManagerStatics;
|
||||||
|
interface IGameControllerFactoryManagerStatics2;
|
||||||
|
runtimeclass GameControllerFactoryManager;
|
||||||
|
|
||||||
|
[contract(Windows.Foundation.UniversalApiContract, 3.0)]
|
||||||
|
enum XusbDeviceSubtype
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
Gamepad = 1,
|
||||||
|
ArcadePad = 2,
|
||||||
|
ArcadeStick = 3,
|
||||||
|
FlightStick = 4,
|
||||||
|
Wheel = 5,
|
||||||
|
Guitar = 6,
|
||||||
|
GuitarAlternate = 7,
|
||||||
|
GuitarBass = 8,
|
||||||
|
DrumKit = 9,
|
||||||
|
DancePad = 10,
|
||||||
|
};
|
||||||
|
|
||||||
|
[contract(Windows.Foundation.UniversalApiContract, 3.0)]
|
||||||
|
enum XusbDeviceType
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
Gamepad = 1,
|
||||||
|
};
|
||||||
|
|
||||||
[contract(Windows.Foundation.UniversalApiContract, 3.0)]
|
[contract(Windows.Foundation.UniversalApiContract, 3.0)]
|
||||||
struct GameControllerVersionInfo
|
struct GameControllerVersionInfo
|
||||||
|
@ -66,4 +94,44 @@ namespace Windows.Gaming.Input.Custom {
|
||||||
HRESULT OnGameControllerAdded([in] Windows.Gaming.Input.IGameController *value);
|
HRESULT OnGameControllerAdded([in] Windows.Gaming.Input.IGameController *value);
|
||||||
HRESULT OnGameControllerRemoved([in] Windows.Gaming.Input.IGameController *value);
|
HRESULT OnGameControllerRemoved([in] Windows.Gaming.Input.IGameController *value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
contract(Windows.Foundation.UniversalApiContract, 3.0),
|
||||||
|
exclusiveto(Windows.Gaming.Input.Custom.GameControllerFactoryManager),
|
||||||
|
uuid(36cb66e3-d0a1-4986-a24c-40b137deba9e)
|
||||||
|
]
|
||||||
|
interface IGameControllerFactoryManagerStatics : IInspectable
|
||||||
|
{
|
||||||
|
HRESULT RegisterCustomFactoryForGipInterface([in] Windows.Gaming.Input.Custom.ICustomGameControllerFactory *factory,
|
||||||
|
[in] GUID interfaceId);
|
||||||
|
HRESULT RegisterCustomFactoryForHardwareId([in] Windows.Gaming.Input.Custom.ICustomGameControllerFactory *factory,
|
||||||
|
[in] UINT16 vendor_id, [in] UINT16 product_id);
|
||||||
|
HRESULT RegisterCustomFactoryForXusbType([in] Windows.Gaming.Input.Custom.ICustomGameControllerFactory *factory,
|
||||||
|
[in] Windows.Gaming.Input.Custom.XusbDeviceType type,
|
||||||
|
[in] Windows.Gaming.Input.Custom.XusbDeviceSubtype subtype);
|
||||||
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
contract(Windows.Foundation.UniversalApiContract, 4.0),
|
||||||
|
exclusiveto(Windows.Gaming.Input.Custom.GameControllerFactoryManager),
|
||||||
|
uuid(eace5644-19df-4115-b32a-2793e2aea3bb)
|
||||||
|
]
|
||||||
|
interface IGameControllerFactoryManagerStatics2 : IInspectable
|
||||||
|
requires Windows.Gaming.Input.Custom.IGameControllerFactoryManagerStatics
|
||||||
|
{
|
||||||
|
HRESULT TryGetFactoryControllerFromGameController([in] Windows.Gaming.Input.Custom.ICustomGameControllerFactory *factory,
|
||||||
|
[in] Windows.Gaming.Input.IGameController *controller,
|
||||||
|
[out, retval] Windows.Gaming.Input.IGameController **value);
|
||||||
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
contract(Windows.Foundation.UniversalApiContract, 3.0),
|
||||||
|
marshaling_behavior(agile),
|
||||||
|
static(Windows.Gaming.Input.Custom.IGameControllerFactoryManagerStatics, Windows.Foundation.UniversalApiContract, 3.0),
|
||||||
|
static(Windows.Gaming.Input.Custom.IGameControllerFactoryManagerStatics2, Windows.Foundation.UniversalApiContract, 4.0),
|
||||||
|
threading(both)
|
||||||
|
]
|
||||||
|
runtimeclass GameControllerFactoryManager
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue