//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by xsd, Version=4.8.9037.0.
// 
namespace skyscraper8.DvbNip {
    using System.Xml.Serialization;
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:nativeip:2023")]
    [System.Xml.Serialization.XmlRootAttribute("ServiceInformationFile", Namespace="urn:dvb:metadata:nativeip:2023", IsNullable=false)]
    public partial class ServiceInformationFileType {
        
        private System.DateTime versionUpdateField;
        
        private string nIPNetworkProviderNameField;
        
        private BroadcastMediaStreamType[] broadcastMediaStreamField;
        
        /// <remarks/>
        public System.DateTime VersionUpdate {
            get {
                return this.versionUpdateField;
            }
            set {
                this.versionUpdateField = value;
            }
        }
        
        /// <remarks/>
        public string NIPNetworkProviderName {
            get {
                return this.nIPNetworkProviderNameField;
            }
            set {
                this.nIPNetworkProviderNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("BroadcastMediaStream")]
        public BroadcastMediaStreamType[] BroadcastMediaStream {
            get {
                return this.broadcastMediaStreamField;
            }
            set {
                this.broadcastMediaStreamField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:nativeip:2023")]
    public partial class BroadcastMediaStreamType {
        
        private ushort nIPNetworkIDField;
        
        private string nIPCarrierIDField;
        
        private string nIPLinkIDField;
        
        private ushort nIPServiceIDField;
        
        private BroadcastMediaStreamTypeBroadcastMedia broadcastMediaField;
        
        /// <remarks/>
        public ushort NIPNetworkID {
            get {
                return this.nIPNetworkIDField;
            }
            set {
                this.nIPNetworkIDField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="positiveInteger")]
        public string NIPCarrierID {
            get {
                return this.nIPCarrierIDField;
            }
            set {
                this.nIPCarrierIDField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="nonNegativeInteger")]
        public string NIPLinkID {
            get {
                return this.nIPLinkIDField;
            }
            set {
                this.nIPLinkIDField = value;
            }
        }
        
        /// <remarks/>
        public ushort NIPServiceID {
            get {
                return this.nIPServiceIDField;
            }
            set {
                this.nIPServiceIDField = value;
            }
        }
        
        /// <remarks/>
        public BroadcastMediaStreamTypeBroadcastMedia BroadcastMedia {
            get {
                return this.broadcastMediaField;
            }
            set {
                this.broadcastMediaField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:nativeip:2023")]
    public partial class BroadcastMediaStreamTypeBroadcastMedia {
        
        private string[] uRIField;
        
        private InteractiveApplicationsType[] interactiveApplicationsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("URI")]
        public string[] URI {
            get {
                return this.uRIField;
            }
            set {
                this.uRIField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("InteractiveApplications")]
        public InteractiveApplicationsType[] InteractiveApplications {
            get {
                return this.interactiveApplicationsField;
            }
            set {
                this.interactiveApplicationsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:dvb:metadata:nativeip:2023")]
    public partial class InteractiveApplicationsType {
        
        private InteractiveApplicationsTypeApplicationType applicationTypeField;
        
        private string applicationIDField;
        
        private string applicationURIField;
        
        /// <remarks/>
        public InteractiveApplicationsTypeApplicationType ApplicationType {
            get {
                return this.applicationTypeField;
            }
            set {
                this.applicationTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string ApplicationID {
            get {
                return this.applicationIDField;
            }
            set {
                this.applicationIDField = value;
            }
        }
        
        /// <remarks/>
        public string ApplicationURI {
            get {
                return this.applicationURIField;
            }
            set {
                this.applicationURIField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:nativeip:2023")]
    public enum InteractiveApplicationsTypeApplicationType {
        
        /// <remarks/>
        HbbTV,
        
        /// <remarks/>
        MHP,
        
        /// <remarks/>
        MHEG5,
        
        /// <remarks/>
        Proprietary,
    }
}
