Fix components
This commit is contained in:
14
src/Umbraco.Core/Components/IComponent.cs
Normal file
14
src/Umbraco.Core/Components/IComponent.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
namespace Umbraco.Core.Components
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a component.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// <para>All components which are also disposable, will be disposed in reverse
|
||||
/// order, when Umbraco terminates.</para>
|
||||
/// <para>The Dispose method may be invoked more than once, and components
|
||||
/// should ensure they support this.</para>
|
||||
/// </remarks>
|
||||
public interface IComponent
|
||||
{ }
|
||||
}
|
||||
16
src/Umbraco.Core/Components/IComposer.cs
Normal file
16
src/Umbraco.Core/Components/IComposer.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using Umbraco.Core.Composing;
|
||||
|
||||
namespace Umbraco.Core.Components
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a composer.
|
||||
/// </summary>
|
||||
public interface IComposer : IDiscoverable
|
||||
{
|
||||
/// <summary>
|
||||
/// Compose.
|
||||
/// </summary>
|
||||
/// <param name="composition"></param>
|
||||
void Compose(Composition composition);
|
||||
}
|
||||
}
|
||||
13
src/Umbraco.Core/Components/ICoreComposer.cs
Normal file
13
src/Umbraco.Core/Components/ICoreComposer.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
namespace Umbraco.Core.Components
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a core <see cref="IComposer"/>.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// <para>All core composers are required by (compose before) all user composers,
|
||||
/// and require (compose after) all runtime composers.</para>
|
||||
/// </remarks>
|
||||
[Require(typeof(IRuntimeComposer))]
|
||||
public interface ICoreComposer : IComposer
|
||||
{ }
|
||||
}
|
||||
11
src/Umbraco.Core/Components/IRuntimeComposer.cs
Normal file
11
src/Umbraco.Core/Components/IRuntimeComposer.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
namespace Umbraco.Core.Components
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a runtime <see cref="IComposer"/>.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// <para>All runtime composers are required by (compose before) all core composers</para>
|
||||
/// </remarks>
|
||||
public interface IRuntimeComposer : IComposer
|
||||
{ }
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
using Umbraco.Core.Composing;
|
||||
|
||||
namespace Umbraco.Core.Components
|
||||
{
|
||||
// FIXME BREAK THIS!
|
||||
|
||||
public interface IComposer : IDiscoverable
|
||||
{
|
||||
void Compose(Composition composition);
|
||||
}
|
||||
|
||||
public interface IRuntimeComposer : IComposer
|
||||
{ }
|
||||
|
||||
[Require(typeof(IRuntimeComposer))]
|
||||
public interface ICoreComposer : IComposer
|
||||
{ }
|
||||
|
||||
[Require(typeof(ICoreComposer))]
|
||||
public interface IUserComposer : IComposer
|
||||
{ }
|
||||
|
||||
// will be disposed if disposable, CANT be disposed multiple times, beware!
|
||||
public interface IComponent
|
||||
{ }
|
||||
}
|
||||
12
src/Umbraco.Core/Components/IUserComposer.cs
Normal file
12
src/Umbraco.Core/Components/IUserComposer.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
namespace Umbraco.Core.Components
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a user <see cref="IComposer"/>.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// <para>All user composers require (compose after) all core composers.</para>
|
||||
/// </remarks>
|
||||
[Require(typeof(ICoreComposer))]
|
||||
public interface IUserComposer : IComposer
|
||||
{ }
|
||||
}
|
||||
@@ -160,7 +160,11 @@
|
||||
<Compile Include="Components\CompositionExtensions.cs" />
|
||||
<Compile Include="Components\DisableAttribute.cs" />
|
||||
<Compile Include="Components\EnableAttribute.cs" />
|
||||
<Compile Include="Components\IUmbracoComponent.cs" />
|
||||
<Compile Include="Components\IComposer.cs" />
|
||||
<Compile Include="Components\ICoreComposer.cs" />
|
||||
<Compile Include="Components\IRuntimeComposer.cs" />
|
||||
<Compile Include="Components\IComponent.cs" />
|
||||
<Compile Include="Components\IUserComposer.cs" />
|
||||
<Compile Include="Components\ManifestWatcherComposer.cs" />
|
||||
<Compile Include="Components\RelateOnCopyComposer.cs" />
|
||||
<Compile Include="Components\RelateOnTrashComposer.cs" />
|
||||
|
||||
Reference in New Issue
Block a user