QuickImage – Rev 1
?pathlinks?
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.CompilerServices;
using System.Xml.Serialization;
using static System.Net.Mime.MediaTypeNames;
namespace Configuration
{
[XmlRoot(ElementName = "Videos")]
public class Videos : INotifyPropertyChanged
{
private List<string> _video = new List<string> { };
[XmlElement(ElementName = "Video")]
public List<string> Video
{
get => _video;
set
{
if (Equals(value, _video))
{
return;
}
_video = value;
OnPropertyChanged();
}
}
public Videos(IEnumerable<string> mimeTypes) : this()
{
Add(mimeTypes);
}
public Videos()
{
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
protected bool SetField<T>(ref T field, T value, [CallerMemberName] string propertyName = null)
{
if (EqualityComparer<T>.Default.Equals(field, value)) return false;
field = value;
OnPropertyChanged(propertyName);
return true;
}
public void Add(IEnumerable<string> mimeTypes)
{
foreach (var mimeType in mimeTypes)
{
if (!_video.Contains(mimeType))
{
_video.Add(mimeType);
}
}
}
}
}