// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
using Microsoft.MixedReality.Toolkit.Utilities;
using System;
using UnityEngine;
namespace Microsoft.MixedReality.Toolkit.Input
{
[Serializable]
public struct MixedRealityInputDataProviderConfiguration : IMixedRealityServiceConfiguration
{
[SerializeField]
[Implements(typeof(IMixedRealityInputDeviceManager), TypeGrouping.ByNamespaceFlat)]
private SystemType componentType;
///
public SystemType ComponentType => componentType;
[SerializeField]
private string componentName;
///
public string ComponentName => componentName;
[SerializeField]
private uint priority;
///
public uint Priority => priority;
[SerializeField]
[EnumFlags]
private SupportedPlatforms runtimePlatform;
///
public SupportedPlatforms RuntimePlatform => runtimePlatform;
[SerializeField]
private BaseMixedRealityProfile deviceManagerProfile;
///
public BaseMixedRealityProfile Profile => deviceManagerProfile;
///
/// Device manager specific configuration profile.
///
[Obsolete("Use the Profile property instead.")]
public BaseMixedRealityProfile DeviceManagerProfile => deviceManagerProfile;
///
/// Constructor.
///
/// The of the data provider.
/// The friendly name of the data provider.
/// The load priority of the data provider.
/// The runtime platform(s) supported by the data provider.
/// The configuration profile for the data provider.
public MixedRealityInputDataProviderConfiguration(
SystemType componentType,
string componentName,
uint priority,
SupportedPlatforms runtimePlatform,
BaseMixedRealityProfile profile)
{
this.componentType = componentType;
this.componentName = componentName;
this.priority = priority;
this.runtimePlatform = runtimePlatform;
deviceManagerProfile = profile;
}
}
}