2012-07-27 00:40:00 +06:00
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Threading;
|
|
|
|
|
using Umbraco.Core;
|
2012-09-29 08:07:00 +07:00
|
|
|
using Umbraco.Core.Media;
|
2012-09-25 13:09:59 +07:00
|
|
|
using Umbraco.Web.Mvc;
|
2012-07-27 00:40:00 +06:00
|
|
|
using Umbraco.Web.Routing;
|
2013-07-30 13:29:05 +10:00
|
|
|
using Umbraco.Web.Trees;
|
2013-02-26 22:14:32 +06:00
|
|
|
using Umbraco.Web.WebApi;
|
2012-07-31 02:16:29 +06:00
|
|
|
using umbraco;
|
2012-07-31 01:56:03 +06:00
|
|
|
using umbraco.interfaces;
|
2012-07-27 00:40:00 +06:00
|
|
|
|
|
|
|
|
namespace Umbraco.Web
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Extension methods for the PluginTypeResolver
|
|
|
|
|
/// </summary>
|
2012-08-01 22:06:15 +06:00
|
|
|
public static class PluginManagerExtensions
|
2012-07-27 00:40:00 +06:00
|
|
|
{
|
2013-07-30 13:29:05 +10:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Returns all available TreeApiController's in application that are attribute with TreeAttribute
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="resolver"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
internal static IEnumerable<Type> ResolveAttributedTreeControllers(this PluginManager resolver)
|
|
|
|
|
{
|
2013-10-03 11:25:26 +10:00
|
|
|
return resolver.ResolveTypesWithAttribute<TreeController, TreeAttribute>();
|
2013-07-30 13:29:05 +10:00
|
|
|
}
|
|
|
|
|
|
2012-09-25 13:09:59 +07:00
|
|
|
internal static IEnumerable<Type> ResolveSurfaceControllers(this PluginManager resolver)
|
|
|
|
|
{
|
|
|
|
|
return resolver.ResolveTypes<SurfaceController>();
|
|
|
|
|
}
|
|
|
|
|
|
2013-02-26 03:45:39 +06:00
|
|
|
internal static IEnumerable<Type> ResolveUmbracoApiControllers(this PluginManager resolver)
|
|
|
|
|
{
|
|
|
|
|
return resolver.ResolveTypes<UmbracoApiController>();
|
|
|
|
|
}
|
|
|
|
|
|
2012-07-31 01:56:03 +06:00
|
|
|
/// <summary>
|
|
|
|
|
/// Returns all available ITrees in application
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="resolver"></param>
|
|
|
|
|
/// <returns></returns>
|
2012-08-01 22:06:15 +06:00
|
|
|
internal static IEnumerable<Type> ResolveTrees(this PluginManager resolver)
|
2012-07-31 01:56:03 +06:00
|
|
|
{
|
|
|
|
|
return resolver.ResolveTypes<ITree>();
|
|
|
|
|
}
|
2012-07-27 00:40:00 +06:00
|
|
|
|
2012-09-20 14:37:23 -02:00
|
|
|
/// <summary>
|
|
|
|
|
/// Returns all classes attributed with RestExtensionAttribute attribute
|
2012-07-31 01:56:03 +06:00
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="resolver"></param>
|
|
|
|
|
/// <returns></returns>
|
2012-08-01 22:06:15 +06:00
|
|
|
internal static IEnumerable<Type> ResolveRestExtensions(this PluginManager resolver)
|
2012-07-31 01:56:03 +06:00
|
|
|
{
|
2012-09-20 14:37:23 -02:00
|
|
|
return resolver.ResolveAttributedTypes<Umbraco.Web.BaseRest.RestExtensionAttribute>();
|
2012-07-31 01:56:03 +06:00
|
|
|
}
|
2012-07-31 02:16:29 +06:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Returns all classes attributed with XsltExtensionAttribute attribute
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="resolver"></param>
|
|
|
|
|
/// <returns></returns>
|
2012-08-01 22:06:15 +06:00
|
|
|
internal static IEnumerable<Type> ResolveXsltExtensions(this PluginManager resolver)
|
2012-07-31 02:16:29 +06:00
|
|
|
{
|
2013-08-29 17:14:34 +10:00
|
|
|
return resolver.ResolveAttributedTypes<Umbraco.Core.Macros.XsltExtensionAttribute>();
|
2012-07-31 02:16:29 +06:00
|
|
|
}
|
2012-08-01 11:24:39 +06:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Returns all IThumbnailProvider classes
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="resolver"></param>
|
|
|
|
|
/// <returns></returns>
|
2012-08-01 22:06:15 +06:00
|
|
|
internal static IEnumerable<Type> ResolveThumbnailProviders(this PluginManager resolver)
|
2012-08-01 11:24:39 +06:00
|
|
|
{
|
|
|
|
|
return resolver.ResolveTypes<IThumbnailProvider>();
|
|
|
|
|
}
|
2012-11-21 07:14:40 -01:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Returns all IImageUrlProvider classes
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="resolver"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
internal static IEnumerable<Type> ResolveImageUrlProviders(this PluginManager resolver)
|
|
|
|
|
{
|
|
|
|
|
return resolver.ResolveTypes<IImageUrlProvider>();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2012-07-27 00:40:00 +06:00
|
|
|
}
|