//------------------------------------------------------------------------------
// <auto-generated>
//     Dieser Code wurde von einem Tool generiert.
//     Laufzeitversion:4.0.30319.42000
//
//     Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
//     der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------

using NMF.Collections.Generic;
using NMF.Collections.ObjectModel;
using NMF.Expressions;
using NMF.Expressions.Linq;
using NMF.Models;
using NMF.Models.Collections;
using NMF.Models.Expressions;
using NMF.Models.Meta;
using NMF.Models.Repository;
using NMF.Serialization;
using NMF.Utilities;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using TTC2017.SmartGrids.SubstationStandard.Enumerations;

namespace TTC2017.SmartGrids.SubstationStandard.Dataclasses
{
    
    
    /// <summary>
    /// The public interface for DPL
    /// </summary>
    [DefaultImplementationTypeAttribute(typeof(DPL))]
    [XmlDefaultImplementationTypeAttribute(typeof(DPL))]
    public interface IDPL : IModelElement
    {
        
        /// <summary>
        /// The vendor property
        /// </summary>
        string Vendor
        {
            get;
            set;
        }
        
        /// <summary>
        /// The hwRev property
        /// </summary>
        string HwRev
        {
            get;
            set;
        }
        
        /// <summary>
        /// The swRev property
        /// </summary>
        string SwRev
        {
            get;
            set;
        }
        
        /// <summary>
        /// The serNum property
        /// </summary>
        string SerNum
        {
            get;
            set;
        }
        
        /// <summary>
        /// The model property
        /// </summary>
        string Model
        {
            get;
            set;
        }
        
        /// <summary>
        /// The location property
        /// </summary>
        string Location
        {
            get;
            set;
        }
        
        /// <summary>
        /// Gets fired before the Vendor property changes its value
        /// </summary>
        event System.EventHandler<ValueChangedEventArgs> VendorChanging;
        
        /// <summary>
        /// Gets fired when the Vendor property changed its value
        /// </summary>
        event System.EventHandler<ValueChangedEventArgs> VendorChanged;
        
        /// <summary>
        /// Gets fired before the HwRev property changes its value
        /// </summary>
        event System.EventHandler<ValueChangedEventArgs> HwRevChanging;
        
        /// <summary>
        /// Gets fired when the HwRev property changed its value
        /// </summary>
        event System.EventHandler<ValueChangedEventArgs> HwRevChanged;
        
        /// <summary>
        /// Gets fired before the SwRev property changes its value
        /// </summary>
        event System.EventHandler<ValueChangedEventArgs> SwRevChanging;
        
        /// <summary>
        /// Gets fired when the SwRev property changed its value
        /// </summary>
        event System.EventHandler<ValueChangedEventArgs> SwRevChanged;
        
        /// <summary>
        /// Gets fired before the SerNum property changes its value
        /// </summary>
        event System.EventHandler<ValueChangedEventArgs> SerNumChanging;
        
        /// <summary>
        /// Gets fired when the SerNum property changed its value
        /// </summary>
        event System.EventHandler<ValueChangedEventArgs> SerNumChanged;
        
        /// <summary>
        /// Gets fired before the Model property changes its value
        /// </summary>
        event System.EventHandler<ValueChangedEventArgs> ModelChanging;
        
        /// <summary>
        /// Gets fired when the Model property changed its value
        /// </summary>
        event System.EventHandler<ValueChangedEventArgs> ModelChanged;
        
        /// <summary>
        /// Gets fired before the Location property changes its value
        /// </summary>
        event System.EventHandler<ValueChangedEventArgs> LocationChanging;
        
        /// <summary>
        /// Gets fired when the Location property changed its value
        /// </summary>
        event System.EventHandler<ValueChangedEventArgs> LocationChanged;
    }
}

