31 lines
1.2 KiB
C#
31 lines
1.2 KiB
C#
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT License.
|
|
|
|
using System;
|
|
|
|
namespace Microsoft.MixedReality.Toolkit
|
|
{
|
|
/// <summary>
|
|
/// Attribute that defines which service a profile is meant to be consumed by.
|
|
/// Only applies to profiles that are consumed by types implementing IMixedRealityService.
|
|
/// A service must implement all required types and no excluded types to be considered compatible with the profile.
|
|
/// </summary>
|
|
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
|
|
public class MixedRealityServiceProfileAttribute : Attribute
|
|
{
|
|
public MixedRealityServiceProfileAttribute(Type requiredType, Type excludedType = null)
|
|
{
|
|
RequiredTypes = new Type[] { requiredType };
|
|
ExcludedTypes = excludedType != null ? new Type[] { excludedType } : new Type[0];
|
|
}
|
|
|
|
public MixedRealityServiceProfileAttribute(Type[] requiredTypes, Type[] excludedTypes = null)
|
|
{
|
|
RequiredTypes = requiredTypes;
|
|
ExcludedTypes = excludedTypes ?? (new Type[0]);
|
|
}
|
|
|
|
public Type[] RequiredTypes { get; private set; }
|
|
public Type[] ExcludedTypes { get; private set; }
|
|
}
|
|
} |