// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using System.Collections.Generic; namespace Microsoft.MixedReality.Toolkit { /// /// Allows systems to provide access to their managed data providers. /// public interface IMixedRealityDataProviderAccess { /// /// Gets the collection of registered data providers. /// /// /// Read only copy of the list of registered data providers. /// IReadOnlyList GetDataProviders(); /// /// Get the collection of registered observers of the specified type. /// /// The desired data provider type /// /// Read-only copy of the list of registered data providers that implement the specified type. /// IReadOnlyList GetDataProviders() where T : IMixedRealityDataProvider; /// /// Get the data provider that is registered under the specified name. /// /// The friendly name of the data provider. /// /// The requested data provider, or null if one cannot be found. /// /// /// If more than one data provider is registered under the specified name, the first will be returned. /// IMixedRealityDataProvider GetDataProvider(string name); /// /// Get the data provider that is registered under the specified name (optional) and matching the specified type. /// /// The desired data provider type. /// The friendly name of the data provider. /// /// The requested data provider, or null if one cannot be found. /// /// /// If more than one data provider is registered under the specified name, the first will be returned. /// T GetDataProvider(string name = null) where T : IMixedRealityDataProvider; } }