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