//------------------------------------------------------------------------------
// <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:2024")]
    [System.Xml.Serialization.XmlRootAttribute("NetworkInformationFile", Namespace="urn:dvb:metadata:nativeip:2024", IsNullable=false)]
    public partial class NetworkInformationFileType {
        
        private System.DateTime versionUpdateField;
        
        private NetworkInformationFileTypeNIFType nIFTypeField;
        
        private BroadcastNetworkType actualBroadcastNetworkField;
        
        private BroadcastNetworkType[] otherBroadcastNetworkField;
        
        /// <remarks/>
        public System.DateTime VersionUpdate {
            get {
                return this.versionUpdateField;
            }
            set {
                this.versionUpdateField = value;
            }
        }
        
        /// <remarks/>
        public NetworkInformationFileTypeNIFType NIFType {
            get {
                return this.nIFTypeField;
            }
            set {
                this.nIFTypeField = value;
            }
        }
        
        /// <remarks/>
        public BroadcastNetworkType ActualBroadcastNetwork {
            get {
                return this.actualBroadcastNetworkField;
            }
            set {
                this.actualBroadcastNetworkField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("OtherBroadcastNetwork")]
        public BroadcastNetworkType[] OtherBroadcastNetwork {
            get {
                return this.otherBroadcastNetworkField;
            }
            set {
                this.otherBroadcastNetworkField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:nativeip:2024")]
    public enum NetworkInformationFileTypeNIFType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Physical Network")]
        PhysicalNetwork,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Commercial Operator")]
        CommercialOperator,
    }
    
    /// <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:2024")]
    public partial class BroadcastNetworkType {
        
        private BroadcastNetworkTypeNetworkType networkTypeField;
        
        private string networkNameField;
        
        private string nIPNetworkProviderNameField;
        
        private SatellitePositionType satellitePositionField;
        
        private ushort nIPNetworkIDField;
        
        private NIPStreamType[] nIPStreamField;
        
        /// <remarks/>
        public BroadcastNetworkTypeNetworkType NetworkType {
            get {
                return this.networkTypeField;
            }
            set {
                this.networkTypeField = value;
            }
        }
        
        /// <remarks/>
        public string NetworkName {
            get {
                return this.networkNameField;
            }
            set {
                this.networkNameField = value;
            }
        }
        
        /// <remarks/>
        public string NIPNetworkProviderName {
            get {
                return this.nIPNetworkProviderNameField;
            }
            set {
                this.nIPNetworkProviderNameField = value;
            }
        }
        
        /// <remarks/>
        public SatellitePositionType SatellitePosition {
            get {
                return this.satellitePositionField;
            }
            set {
                this.satellitePositionField = value;
            }
        }
        
        /// <remarks/>
        public ushort NIPNetworkID {
            get {
                return this.nIPNetworkIDField;
            }
            set {
                this.nIPNetworkIDField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("NIPStream")]
        public NIPStreamType[] NIPStream {
            get {
                return this.nIPStreamField;
            }
            set {
                this.nIPStreamField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:nativeip:2024")]
    public enum BroadcastNetworkTypeNetworkType {
        
        /// <remarks/>
        Satellite,
        
        /// <remarks/>
        Terrestrial,
    }
    
    /// <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:2024")]
    public partial class SatellitePositionType {
        
        private double orbitalPositionField;
        
        private SatellitePositionTypeWest_East_flag west_East_flagField;
        
        /// <remarks/>
        public double OrbitalPosition {
            get {
                return this.orbitalPositionField;
            }
            set {
                this.orbitalPositionField = value;
            }
        }
        
        /// <remarks/>
        public SatellitePositionTypeWest_East_flag West_East_flag {
            get {
                return this.west_East_flagField;
            }
            set {
                this.west_East_flagField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:nativeip:2024")]
    public enum SatellitePositionTypeWest_East_flag {
        
        /// <remarks/>
        West,
        
        /// <remarks/>
        East,
    }
    
    /// <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:2024")]
    public partial class NIPStreamType {
        
        private NIPStreamTypeLinkLayerFormat linkLayerFormatField;
        
        private string nIPStreamProviderNameField;
        
        private string nIPCarrierIDField;
        
        private string nIPLinkIDField;
        
        private ushort nIPServiceIDField;
        
        private NIPStreamTypeBootstrapStream bootstrapStreamField;
        
        /// <remarks/>
        public NIPStreamTypeLinkLayerFormat LinkLayerFormat {
            get {
                return this.linkLayerFormatField;
            }
            set {
                this.linkLayerFormatField = value;
            }
        }
        
        /// <remarks/>
        public string NIPStreamProviderName {
            get {
                return this.nIPStreamProviderNameField;
            }
            set {
                this.nIPStreamProviderNameField = 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 NIPStreamTypeBootstrapStream BootstrapStream {
            get {
                return this.bootstrapStreamField;
            }
            set {
                this.bootstrapStreamField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:nativeip:2024")]
    public enum NIPStreamTypeLinkLayerFormat {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("GSE-Lite")]
        GSELite,
        
        /// <remarks/>
        TS,
    }
    
    /// <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:2024")]
    public partial class NIPStreamTypeBootstrapStream {
        
        private NIPStreamTypeBootstrapStreamBootstrapType bootstrapTypeField;
        
        private NIPStreamTypeBootstrapStreamStatus statusField;
        
        /// <remarks/>
        public NIPStreamTypeBootstrapStreamBootstrapType BootstrapType {
            get {
                return this.bootstrapTypeField;
            }
            set {
                this.bootstrapTypeField = value;
            }
        }
        
        /// <remarks/>
        public NIPStreamTypeBootstrapStreamStatus Status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:nativeip:2024")]
    public enum NIPStreamTypeBootstrapStreamBootstrapType {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Physical Network")]
        PhysicalNetwork,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Commercial Operator")]
        CommercialOperator,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.9037.0")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:dvb:metadata:nativeip:2024")]
    public enum NIPStreamTypeBootstrapStreamStatus {
        
        /// <remarks/>
        Active,
        
        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute("Not Active")]
        NotActive,
        
        /// <remarks/>
        Deprecated,
    }
}
