using System;
using System.Collections.Generic;
using System.Threading;
using Umbraco.Core;
using Umbraco.Core.Media;
using Umbraco.Web.Mvc;
using Umbraco.Web.Routing;
using Umbraco.Web.Trees;
using Umbraco.Web.WebApi;
using umbraco;
using umbraco.cms.presentation.Trees;
using Umbraco.Core.Plugins;
using Umbraco.Web.Models.Trees;
using Umbraco.Web._Legacy.Actions;
namespace Umbraco.Web
{
///
/// Extension methods for the PluginTypeResolver
///
public static class PluginManagerExtensions
{
///
/// Returns all available IAction in application
///
///
internal static IEnumerable ResolveActions(this PluginManager resolver)
{
return resolver.ResolveTypes();
}
///
/// Returns all available TreeApiController's in application that are attribute with TreeAttribute
///
///
///
internal static IEnumerable ResolveAttributedTreeControllers(this PluginManager resolver)
{
return resolver.ResolveTypesWithAttribute();
}
internal static IEnumerable ResolveSurfaceControllers(this PluginManager resolver)
{
return resolver.ResolveTypes();
}
internal static IEnumerable ResolveUmbracoApiControllers(this PluginManager resolver)
{
return resolver.ResolveTypes();
}
///
/// Returns all available ITrees in application
///
///
///
internal static IEnumerable ResolveTrees(this PluginManager resolver)
{
return resolver.ResolveTypes();
}
///
/// Returns all classes attributed with XsltExtensionAttribute attribute
///
///
///
internal static IEnumerable ResolveXsltExtensions(this PluginManager resolver)
{
return resolver.ResolveAttributedTypes();
}
///
/// Returns all IThumbnailProvider classes
///
///
///
internal static IEnumerable ResolveThumbnailProviders(this PluginManager resolver)
{
return resolver.ResolveTypes();
}
///
/// Returns all IImageUrlProvider classes
///
///
///
internal static IEnumerable ResolveImageUrlProviders(this PluginManager resolver)
{
return resolver.ResolveTypes();
}
}
}