/// /// Copyright (c) 2017 Sensus Metering Systems /// using System.Net; using log4net; namespace TBF.Rig.Network.Adapter { public class Netadapter : ComponentBase, GenericDevices.INetworkAdapter { private static readonly ILog log = LogManager.GetLogger(typeof(Netadapter)); public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); } readonly NetadapterCfg netadapterCfg; IPAddress ipAddress; IPAddress netMask; IPAddress broadcastAddress; public IPAddress IPAddress { get { return ipAddress; } } public IPAddress NetMask { get { return netMask; } } public IPAddress BroadcastAddress { get { return broadcastAddress; } } public Netadapter() { } public Netadapter(Generic.IComponentCfg cfg) : base(cfg) { netadapterCfg = cfg as NetadapterCfg; log.Warn(this.ToString()); } public override void Initialize() { AdapterInfo.RefreshNetAdaptersInfo(); AdapterInfo netadapter = AdapterInfo.GetNetAdapter(netadapterCfg.Description); ipAddress = netadapter.IPAddress; netMask = netadapter.NetMask; broadcastAddress = netadapter.GetBroadcastAddress(); } } }