2012-08-01 09:49:10 +06:00
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
using umbraco.interfaces;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Umbraco.Core
|
|
|
|
|
|
{
|
2012-08-01 10:05:39 +06:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// A resolver to return all ICacheRefresher objects
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
internal sealed class CacheRefreshersResolver : LegacyTransientObjectsResolver<ICacheRefresher>
|
2012-08-01 09:49:10 +06:00
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
#region Singleton
|
|
|
|
|
|
|
|
|
|
|
|
private static readonly CacheRefreshersResolver Instance = new CacheRefreshersResolver(PluginTypeResolver.Current.ResolveCacheRefreshers());
|
|
|
|
|
|
|
|
|
|
|
|
public static CacheRefreshersResolver Current
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return Instance; }
|
|
|
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region Constructors
|
|
|
|
|
|
static CacheRefreshersResolver() { }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Constructor
|
|
|
|
|
|
/// </summary>
|
2012-08-01 10:05:39 +06:00
|
|
|
|
/// <param name="refreshers"></param>
|
2012-08-01 09:49:10 +06:00
|
|
|
|
internal CacheRefreshersResolver(IEnumerable<Type> refreshers)
|
2012-08-01 10:05:39 +06:00
|
|
|
|
: base(refreshers)
|
2012-08-01 09:49:10 +06:00
|
|
|
|
{
|
2012-08-01 10:05:39 +06:00
|
|
|
|
|
2012-08-01 09:49:10 +06:00
|
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Gets the <see cref="ICacheRefresher"/> implementations.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public IEnumerable<ICacheRefresher> CacheResolvers
|
|
|
|
|
|
{
|
|
|
|
|
|
get
|
|
|
|
|
|
{
|
|
|
|
|
|
EnsureRefreshersList();
|
|
|
|
|
|
return Values;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2012-08-01 10:05:39 +06:00
|
|
|
|
protected override Guid GetUniqueIdentifier(ICacheRefresher obj)
|
2012-08-01 09:49:10 +06:00
|
|
|
|
{
|
2012-08-01 10:05:39 +06:00
|
|
|
|
return obj.UniqueIdentifier;
|
2012-08-01 09:49:10 +06:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|