Winify
/trunk/Servers/Server.cs |
@@ -0,0 +1,143 @@ |
using System.ComponentModel; |
using System.Runtime.CompilerServices; |
using System.Xml.Serialization; |
using Servers.Annotations; |
|
namespace Servers |
{ |
[XmlRoot(ElementName = "Server")] |
public class Server : INotifyPropertyChanged |
{ |
#region Public Enums, Properties and Fields |
|
[XmlElement(ElementName = "Name")] |
public string Name |
{ |
get => _name; |
set |
{ |
if (value == _name) |
{ |
return; |
} |
|
_name = value; |
OnPropertyChanged(); |
} |
} |
|
[XmlElement(ElementName = "Host")] |
public string Host |
{ |
get => _host; |
set |
{ |
if (value == _host) |
{ |
return; |
} |
|
_host = value; |
OnPropertyChanged(); |
} |
} |
|
[XmlElement(ElementName = "Port")] |
public string Port |
{ |
get => _port; |
set |
{ |
if (value == _port) |
{ |
return; |
} |
|
_port = value; |
OnPropertyChanged(); |
} |
} |
|
[XmlElement(ElementName = "Username")] |
public string Username |
{ |
get => _username; |
set |
{ |
if (value == _username) |
{ |
return; |
} |
|
_username = value; |
OnPropertyChanged(); |
} |
} |
|
[XmlElement(ElementName = "Password")] |
public string Password |
{ |
get => _password; |
set |
{ |
if (value == _password) |
{ |
return; |
} |
|
_password = value; |
OnPropertyChanged(); |
} |
} |
|
#endregion |
|
#region Private Delegates, Events, Enums, Properties, Indexers and Fields |
|
private string _host; |
|
private string _name; |
|
private string _password; |
|
private string _port; |
|
private string _username; |
|
#endregion |
|
#region Constructors, Destructors and Finalizers |
|
[UsedImplicitly] |
public Server() |
{ |
} |
|
public Server(string name, string host, string port, string username, string password) |
{ |
Name = name; |
Host = host; |
Port = port; |
Username = username; |
Password = password; |
} |
|
#endregion |
|
#region Interface |
|
public event PropertyChangedEventHandler PropertyChanged; |
|
#endregion |
|
#region Private Methods |
|
[NotifyPropertyChangedInvocator] |
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) |
{ |
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); |
} |
|
#endregion |
} |
} |