Auto status change to "Under Review"
@@ -0,0 +1,12 | |||||
|
1 | using System.Collections.Generic; | |||
|
2 | ||||
|
3 | namespace Implab.ServiceHost.Unity | |||
|
4 | { | |||
|
5 | public interface IArrayInjectionParameter { | |||
|
6 | ||||
|
7 | string TypeName { get; } | |||
|
8 | ||||
|
9 | IEnumerable<IInjectionParameter> Items { get; } | |||
|
10 | ||||
|
11 | } | |||
|
12 | } No newline at end of file |
@@ -0,0 +1,5 | |||||
|
1 | namespace Implab.ServiceHost.Unity { | |||
|
2 | public interface IInjectionParameter { | |||
|
3 | void Visit(InjectionValueBuilder builder); | |||
|
4 | } | |||
|
5 | } No newline at end of file |
@@ -1,12 +1,12 | |||||
1 | namespace Implab.ServiceHost.Unity |
|
1 | namespace Implab.ServiceHost.Unity | |
2 | { |
|
2 | { | |
3 | public class DefaultParameterElement : InjectionParameterElement, ITextValue { |
|
3 | public class DefaultParameterElement : InjectionParameterElement, ITextValue { | |
4 | public string Value { |
|
4 | public string Value { | |
5 | get { return null; } |
|
5 | get { return null; } | |
6 | } |
|
6 | } | |
7 |
|
7 | |||
8 |
|
|
8 | public override void Visit(InjectionValueBuilder builder) { | |
9 | builder.Visit(this); |
|
9 | builder.Visit(this); | |
10 | } |
|
10 | } | |
11 | } |
|
11 | } | |
12 | } No newline at end of file |
|
12 | } |
@@ -1,16 +1,16 | |||||
1 | using System.Xml.Serialization; |
|
1 | using System.Xml.Serialization; | |
2 |
|
2 | |||
3 | namespace Implab.ServiceHost.Unity { |
|
3 | namespace Implab.ServiceHost.Unity { | |
4 | public class DependencyParameterElement : InjectionParameterElement, IDependencyReference { |
|
4 | public class DependencyParameterElement : InjectionParameterElement, IDependencyReference { | |
5 |
|
5 | |||
6 | [XmlAttribute("name")] |
|
6 | [XmlAttribute("name")] | |
7 | public string DependencyName { get; set; } |
|
7 | public string DependencyName { get; set; } | |
8 |
|
8 | |||
9 | [XmlAttribute("optional")] |
|
9 | [XmlAttribute("optional")] | |
10 | public bool Optional { get; set; } |
|
10 | public bool Optional { get; set; } | |
11 |
|
11 | |||
12 |
|
|
12 | public override void Visit(InjectionValueBuilder builder) { | |
13 | builder.Visit(this); |
|
13 | builder.Visit(this); | |
14 | } |
|
14 | } | |
15 | } |
|
15 | } | |
16 | } No newline at end of file |
|
16 | } |
@@ -1,8 +1,10 | |||||
1 | namespace Implab.ServiceHost.Unity { |
|
1 | namespace Implab.ServiceHost.Unity { | |
2 | public interface IDependencyReference { |
|
2 | public interface IDependencyReference { | |
3 |
|
3 | |||
4 |
string TypeName { get; |
|
4 | string TypeName { get; } | |
|
5 | ||||
|
6 | bool Optional { get; } | |||
5 |
|
7 | |||
6 |
string DependencyName { get; |
|
8 | string DependencyName { get; } | |
7 | } |
|
9 | } | |
8 | } No newline at end of file |
|
10 | } |
@@ -1,8 +1,9 | |||||
1 | namespace Implab.ServiceHost.Unity { |
|
1 | namespace Implab.ServiceHost.Unity { | |
2 | public interface ITextValue { |
|
2 | public interface ITextValue { | |
|
3 | ||||
3 | string TypeName { get; } |
|
4 | string TypeName { get; } | |
4 |
|
5 | |||
5 | string Value { get; } |
|
6 | string Value { get; } | |
6 |
|
7 | |||
7 | } |
|
8 | } | |
8 | } No newline at end of file |
|
9 | } |
@@ -1,12 +1,12 | |||||
1 | using System; |
|
1 | using System; | |
2 | using System.Xml.Serialization; |
|
2 | using System.Xml.Serialization; | |
3 |
|
3 | |||
4 | namespace Implab.ServiceHost.Unity { |
|
4 | namespace Implab.ServiceHost.Unity { | |
5 | public abstract class InjectionParameterElement { |
|
5 | public abstract class InjectionParameterElement : IInjectionParameter { | |
6 |
|
6 | |||
7 | [XmlAttribute("type")] |
|
7 | [XmlAttribute("type")] | |
8 | public string TypeName { get; set; } |
|
8 | public string TypeName { get; set; } | |
9 |
|
9 | |||
10 |
|
|
10 | public abstract void Visit(InjectionValueBuilder builder); | |
11 | } |
|
11 | } | |
12 | } No newline at end of file |
|
12 | } |
@@ -1,37 +1,43 | |||||
1 | using System; |
|
1 | using System; | |
2 | using System.Xml; |
|
2 | using System.Xml; | |
3 | using System.Xml.Serialization; |
|
3 | using System.Xml.Serialization; | |
4 |
|
4 | |||
5 | namespace Implab.ServiceHost.Unity |
|
5 | namespace Implab.ServiceHost.Unity | |
6 | { |
|
6 | { | |
7 | public class SerializedElement : AbstractRegistration, ISerializedValue { |
|
7 | public class SerializedElement : AbstractRegistration, ISerializedValue { | |
8 | [XmlAttribute("href")] |
|
8 | [XmlAttribute("href")] | |
9 | public string Location { get; set; } |
|
9 | public string Location { get; set; } | |
10 |
|
10 | |||
11 | [XmlAttribute("serializedType")] |
|
11 | [XmlAttribute("serializedType")] | |
12 | public string SerializedType { get; set; } |
|
12 | public string SerializedType { get; set; } | |
13 |
|
13 | |||
14 |
|
14 | |||
15 | [XmlAnyElement] |
|
15 | [XmlAnyElement] | |
16 | public XmlElement[] Content { get; set; } |
|
16 | public XmlElement[] Content { get; set; } | |
17 |
|
17 | |||
18 | string ISerializedValue.TypeName { |
|
18 | string ISerializedValue.TypeName { | |
19 | get { |
|
19 | get { | |
20 | return string.IsNullOrEmpty(SerializedType) ? RegistrationType : SerializedType; |
|
20 | return string.IsNullOrEmpty(SerializedType) ? RegistrationType : SerializedType; | |
21 | } |
|
21 | } | |
22 | } |
|
22 | } | |
23 |
|
23 | |||
|
24 | public string TypeName => throw new NotImplementedException(); | |||
|
25 | ||||
24 | public override void Visit(ContainerBuilder context) { |
|
26 | public override void Visit(ContainerBuilder context) { | |
25 | context.Visit(this); |
|
27 | context.Visit(this); | |
26 | } |
|
28 | } | |
27 |
|
29 | |||
28 | public XmlReader GetReader() { |
|
30 | public XmlReader GetReader() { | |
29 | if (!string.IsNullOrEmpty(Location)) |
|
31 | if (!string.IsNullOrEmpty(Location)) | |
30 | return XmlReader.Create(Location); |
|
32 | return XmlReader.Create(Location); | |
31 | if (Content != null && Content.Length > 0) |
|
33 | if (Content != null && Content.Length > 0) | |
32 | return Content[0].CreateNavigator().ReadSubtree(); |
|
34 | return Content[0].CreateNavigator().ReadSubtree(); | |
33 |
|
35 | |||
34 | throw new Exception("No content found, expected XML document"); |
|
36 | throw new Exception("No content found, expected XML document"); | |
35 | } |
|
37 | } | |
|
38 | ||||
|
39 | public void Visit(InjectionValueBuilder builder) { | |||
|
40 | throw new NotImplementedException(); | |||
|
41 | } | |||
36 | } |
|
42 | } | |
37 | } No newline at end of file |
|
43 | } |
@@ -1,28 +1,28 | |||||
1 | using System; |
|
1 | using System; | |
2 | using System.Xml; |
|
2 | using System.Xml; | |
3 | using System.Xml.Schema; |
|
3 | using System.Xml.Schema; | |
4 | using System.Xml.Serialization; |
|
4 | using System.Xml.Serialization; | |
5 |
|
5 | |||
6 | namespace Implab.ServiceHost.Unity |
|
6 | namespace Implab.ServiceHost.Unity | |
7 | { |
|
7 | { | |
8 | public class SerializedParameterElement : InjectionParameterElement, ISerializedValue { |
|
8 | public class SerializedParameterElement : InjectionParameterElement, ISerializedValue { | |
9 | [XmlAttribute("href")] |
|
9 | [XmlAttribute("href")] | |
10 | public string Location { get; set; } |
|
10 | public string Location { get; set; } | |
11 |
|
11 | |||
12 | [XmlAnyElement] |
|
12 | [XmlAnyElement] | |
13 | public XmlElement[] Content { get; set; } |
|
13 | public XmlElement[] Content { get; set; } | |
14 |
|
14 | |||
15 | public XmlReader GetReader() { |
|
15 | public XmlReader GetReader() { | |
16 | if (!string.IsNullOrEmpty(Location)) |
|
16 | if (!string.IsNullOrEmpty(Location)) | |
17 | return XmlReader.Create(Location); |
|
17 | return XmlReader.Create(Location); | |
18 | if (Content != null && Content.Length > 0) |
|
18 | if (Content != null && Content.Length > 0) | |
19 | return Content[0].CreateNavigator().ReadSubtree(); |
|
19 | return Content[0].CreateNavigator().ReadSubtree(); | |
20 |
|
20 | |||
21 | throw new Exception("No content found, expected XML document"); |
|
21 | throw new Exception("No content found, expected XML document"); | |
22 | } |
|
22 | } | |
23 |
|
23 | |||
24 |
|
|
24 | public override void Visit(InjectionValueBuilder builder) { | |
25 | builder.Visit(this); |
|
25 | builder.Visit(this); | |
26 | } |
|
26 | } | |
27 | } |
|
27 | } | |
28 | } No newline at end of file |
|
28 | } |
@@ -1,13 +1,13 | |||||
1 | using System.Xml.Serialization; |
|
1 | using System.Xml.Serialization; | |
2 |
|
2 | |||
3 | namespace Implab.ServiceHost.Unity { |
|
3 | namespace Implab.ServiceHost.Unity { | |
4 | public class ValueParameterElement : InjectionParameterElement, ITextValue { |
|
4 | public class ValueParameterElement : InjectionParameterElement, ITextValue { | |
5 | [XmlText] |
|
5 | [XmlText] | |
6 | [XmlAttribute("value")] |
|
6 | [XmlAttribute("value")] | |
7 | public string Value { get; set; } |
|
7 | public string Value { get; set; } | |
8 |
|
8 | |||
9 |
|
|
9 | public override void Visit(InjectionValueBuilder builder) { | |
10 | builder.Visit(this); |
|
10 | builder.Visit(this); | |
11 | } |
|
11 | } | |
12 | } |
|
12 | } | |
13 | } No newline at end of file |
|
13 | } |
General Comments 3
ok, latest stable version should be in default
You need to be logged in to leave comments.
Login now