Get loading and saving of devices in Actions working. Lots of things needed to be "public" so reflection works.

This commit is contained in:
Tim Young 2018-05-16 09:14:18 -05:00
parent eab20232ca
commit 2df6c5c2f8
10 changed files with 608 additions and 33 deletions

View File

@ -20,12 +20,14 @@ namespace EduNetworkBuilder
public void RegisterNet(Network starting)
{
StartingState = Network.DeepClone(starting);
CurrentNetAction = FindAction(starting);
if(CurrentNetAction == null)
CurrentNetAction = new NetworkAction(starting);
}
public void Add(ActionClass What)
{
if(CurrentNetAction == null)
if(CurrentNetAction == null || CurrentNetAction.HasBeenStored == true)
{
Network start = NB.GetNetwork();
if (start == null) return;//Do nothing
@ -35,6 +37,19 @@ namespace EduNetworkBuilder
CurrentNetAction.Add(What);
}
public NetworkAction FindAction(Network Fitting)
{
return FindAction(NameFromNet(Fitting));
}
public NetworkAction FindAction(string Fitting)
{
foreach(NetworkAction one in NetActions)
{
if (one.NetworkName == Fitting)
return one;
}
return null;
}
public bool CurrentNeedsStoring
{ get {
if (CurrentNetAction == null) return false;
@ -161,6 +176,7 @@ namespace EduNetworkBuilder
if(ChangedComponent is NetworkDevice)
{
source.UpdateFromComponent(ChangedComponent); //Copy any changes across
source.SetImageFromType(); //The image was not saved. Re-make it
}
else
{ //It is a link. Delete the old, make the new. Mark as linked

View File

@ -15,16 +15,30 @@ namespace EduNetworkBuilder
public class NB_IPAddress
{
private UInt32 _ip;
private UInt32 _mask;
private UInt32 _gw;
private IPAddressType myType;
public UInt32 _ip;
public UInt32 _mask;
public UInt32 _gw;
public IPAddressType myType;
//Add in new values for the IP, Netmask, and gateway. Will start migrating to use these.
private IPAddress theIP;
private IPAddress theNetmask;
private IPAddress theGateway;
public NB_IPAddress() { } //used for reflection
/// <summary>
/// Duplicate an IP address structure
/// </summary>
/// <param name="Orig"></param>
public NB_IPAddress(NB_IPAddress Orig)
{
_ip = Orig._ip;
_mask = Orig._mask;
_gw = Orig._gw;
myType = Orig.myType;
theIP = Orig.theIP;
theNetmask = Orig.theNetmask;
theGateway = Orig.theGateway;
}
public NB_IPAddress(string ip, string mask, IPAddressType WhatType)
{
myType = WhatType;

View File

@ -1453,7 +1453,7 @@ namespace EduNetworkBuilder
ActionClass AC = new ActionClass();
AC.Action = NBAction.ping;
AC.SourceID = HostID;
AC.Destination = Destination;
AC.Destination = new NB_IPAddress(Destination);
RegisterAction(AC);

View File

@ -162,6 +162,10 @@ namespace EduNetworkBuilder
{
ReplayMode = true;
UserActions = NB.ReadFromXmlResource<ActionCollection>("EduNetworkReplay");
foreach(NetworkAction NetAction in UserActions.NetActions)
{
NetAction.HasBeenStored = true; //All of them start out stored
}
}
public bool CheckIfDone(string PuzzleName)

View File

@ -2862,14 +2862,17 @@ namespace EduNetworkBuilder
if (OurSettings != null && OurSettings.ReplayMode)
{
ActionCollection AC = OurSettings.GetUserActionCollection();
if(AC != null && AC.GetActionCount >0)
if (AC != null)
{
if (AC.GetActionCount > 0)
replayToolStripMenuItem.Visible = true; //Only visible if we have something to replay
if (AC.CurrentNeedsStoring)
if (AC.CurrentNeedsStoring && AC.GetActionCount > 0)
storeReplayToolStripMenuItem.Visible = true;
if (AC.HasUnsavedChanges)
saveReplayToolStripMenuItem.Visible = true;
}
}
}
void StoreReplay()
{

View File

@ -16,15 +16,15 @@ namespace EduNetworkBuilder
public class NetworkCard
{
public string MAC = NB.GenerateMACAddress(); //Technically we should make sure it is unique
List<NetworkInterface> interfaces = new List<NetworkInterface>();
public List<NetworkInterface> interfaces = new List<NetworkInterface>();
public bool UsesDHCP = false;
public bool CanUseDHCP = false;
public bool MustUseDHCP = false;
private NicType myNicType = NicType.eth;
public NicType myNicType = NicType.eth;
public HostNicID myID;
public int ConnectedLink=-1; //The link that is connected to this nic.
private int UniqueIdentifier = NB.GetUniqueIdentifier();
private string _nic_name="";
public int UniqueIdentifier = NB.GetUniqueIdentifier();
public string _nic_name="";
public NB_IPAddress TunnelEndpoint;
public string EncryptionKey;
public string SSID;

View File

@ -18,7 +18,7 @@ namespace EduNetworkBuilder
public class NetworkComponent
{
public bool IsDirty = true; //If something has changed and it needs to be re-drawn. It starts as "true"
protected int UniqueIdentifier = NB.GetUniqueIdentifier();
public int UniqueIdentifier = NB.GetUniqueIdentifier();
public string hostname = "";
/// <summary>
/// isInvisible is what happens when we have forgotton something exists. We can have a forgotton switch, WAP, DHCP server

View File

@ -14,19 +14,19 @@ namespace EduNetworkBuilder
[Serializable]
public class NetworkDevice : NetworkComponent
{
protected List<NetworkCard> NICs = new List<NetworkCard>();
protected NB_IPAddress DefaultGW = new NB_IPAddress(NB.ZeroIPString, NB.ZeroIPString, IPAddressType.gw);
public List<NetworkCard> NICs = new List<NetworkCard>();
public NB_IPAddress DefaultGW = new NB_IPAddress(NB.ZeroIPString, NB.ZeroIPString, IPAddressType.gw);
protected Image MyImage = null;
protected Point MyLocation;
public Point MyLocation;
public int Size;
protected List<ArpEntry> ArpTable = new List<ArpEntry>();
protected NetworkComponentType myType = NetworkComponentType.none;
protected List<NB_IPAddress> RouteTable = new List<NB_IPAddress>();
protected List<NB_IPAddress> DHCPRanges = new List<NB_IPAddress>();
public NetworkComponentType myType = NetworkComponentType.none;
public List<NB_IPAddress> RouteTable = new List<NB_IPAddress>();
public List<NB_IPAddress> DHCPRanges = new List<NB_IPAddress>();
protected List<ArpEntry> DHCPLeases = new List<ArpEntry>();
protected List<IPConnectionEntry> IPConnections = new List<IPConnectionEntry>();
protected bool isDNSServer = false;
protected bool isDHCPServer = false;
public bool isDNSServer = false;
public bool isDHCPServer = false;
public bool CanServeDHCP = false;
public bool CanUseDHCP = false;
public bool MustUseDHCP = false;
@ -688,7 +688,10 @@ namespace EduNetworkBuilder
}
return false;
}
public void SetImageFromType()
{
SetImageFromType(myType);
}
private void SetImageFromType(NetworkComponentType what)
{
switch (what)
@ -1515,7 +1518,10 @@ namespace EduNetworkBuilder
hostname = ndCopyFrom.hostname;
Size = ndCopyFrom.Size;
DefaultGW = ndCopyFrom.DefaultGW;
if (ndCopyFrom.MyImage != null)
MyImage = new Bitmap(ndCopyFrom.MyImage);
else
MyImage = null;
CanAddNics = ndCopyFrom.CanAddNics;
CanServeDHCP = ndCopyFrom.CanServeDHCP;
CanUseDHCP = ndCopyFrom.CanUseDHCP;

View File

@ -12,8 +12,8 @@ namespace EduNetworkBuilder
[Serializable]
public class NetworkLink : NetworkComponent
{
HostNicID SrcNic;
HostNicID DstNic;
public HostNicID SrcNic;
public HostNicID DstNic;
public LinkType theLinkType = LinkType.normal;
public bool isVisibleLink = true; //False for wireless. Skip drawing a line if it is there

View File

@ -16,14 +16,31 @@
<NicID>0</NicID>
</DestNic>
<Location>
<X>359</X>
<Y>229</Y>
<X>375</X>
<Y>186</Y>
</Location>
<newItemType>net_switch</newItemType>
<ChangedComponent xsi:type="NetworkDevice">
<IsDirty>false</IsDirty>
<UniqueIdentifier>117</UniqueIdentifier>
<hostname>net_switch0</hostname>
<NICs />
<DefaultGW>
<_ip>0</_ip>
<_mask>0</_mask>
<_gw>0</_gw>
<myType>ip</myType>
</DefaultGW>
<MyLocation>
<X>0</X>
<Y>0</Y>
</MyLocation>
<Size>100</Size>
<myType>none</myType>
<RouteTable />
<DHCPRanges />
<isDNSServer>false</isDNSServer>
<isDHCPServer>false</isDHCPServer>
<CanServeDHCP>false</CanServeDHCP>
<CanUseDHCP>true</CanUseDHCP>
<MustUseDHCP>false</MustUseDHCP>
@ -55,7 +72,20 @@
<newItemType>none</newItemType>
<ChangedComponent xsi:type="NetworkLink">
<IsDirty>false</IsDirty>
<UniqueIdentifier>127</UniqueIdentifier>
<hostname />
<SrcNic>
<HostID>100</HostID>
<NicID>102</NicID>
<HostName>pc0</HostName>
<NicName>eth0</NicName>
</SrcNic>
<DstNic>
<HostID>117</HostID>
<NicID>120</NicID>
<HostName>net_switch0</HostName>
<NicName>port1</NicName>
</DstNic>
<theLinkType>normal</theLinkType>
<isVisibleLink>true</isVisibleLink>
</ChangedComponent>
@ -78,7 +108,20 @@
<newItemType>none</newItemType>
<ChangedComponent xsi:type="NetworkLink">
<IsDirty>false</IsDirty>
<UniqueIdentifier>128</UniqueIdentifier>
<hostname />
<SrcNic>
<HostID>116</HostID>
<NicID>118</NicID>
<HostName>pc2</HostName>
<NicName>eth0</NicName>
</SrcNic>
<DstNic>
<HostID>117</HostID>
<NicID>121</NicID>
<HostName>net_switch0</HostName>
<NicName>port2</NicName>
</DstNic>
<theLinkType>normal</theLinkType>
<isVisibleLink>true</isVisibleLink>
</ChangedComponent>
@ -101,7 +144,20 @@
<newItemType>none</newItemType>
<ChangedComponent xsi:type="NetworkLink">
<IsDirty>false</IsDirty>
<UniqueIdentifier>129</UniqueIdentifier>
<hostname />
<SrcNic>
<HostID>103</HostID>
<NicID>105</NicID>
<HostName>pc1</HostName>
<NicName>eth0</NicName>
</SrcNic>
<DstNic>
<HostID>117</HostID>
<NicID>122</NicID>
<HostName>net_switch0</HostName>
<NicName>port3</NicName>
</DstNic>
<theLinkType>normal</theLinkType>
<isVisibleLink>true</isVisibleLink>
</ChangedComponent>
@ -109,6 +165,482 @@
</Actions>
<HasBeenStored>true</HasBeenStored>
</NetworkAction>
<NetworkAction>
<NetworkName>Level0_Power</NetworkName>
<Actions>
<ActionClass>
<Action>changecomponent</Action>
<SourceID>109</SourceID>
<SourceNIC>
<HostID>0</HostID>
<NicID>0</NicID>
</SourceNIC>
<DestNic>
<HostID>0</HostID>
<NicID>0</NicID>
</DestNic>
<Location>
<X>0</X>
<Y>0</Y>
</Location>
<newItemType>none</newItemType>
<ChangedComponent xsi:type="NetworkDevice">
<IsDirty>false</IsDirty>
<UniqueIdentifier>109</UniqueIdentifier>
<hostname>net_switch0</hostname>
<NICs>
<NetworkCard>
<MAC>70E4C079D244</MAC>
<interfaces>
<NetworkInterface>
<myIP>
<_ip>2130706433</_ip>
<_mask>4278190080</_mask>
<_gw>0</_gw>
<myType>ip</myType>
</myIP>
<nic_name>lo0</nic_name>
<AttachedToHostNic>
<HostID>109</HostID>
<NicID>110</NicID>
<HostName>net_switch0</HostName>
<NicName>lo0</NicName>
</AttachedToHostNic>
<VLANs>
<VLANInfo>
<_ID>1</_ID>
<_Tag>Untagged</_Tag>
<ID>1</ID>
<Tag>Untagged</Tag>
</VLANInfo>
</VLANs>
</NetworkInterface>
</interfaces>
<UsesDHCP>false</UsesDHCP>
<CanUseDHCP>false</CanUseDHCP>
<MustUseDHCP>false</MustUseDHCP>
<myNicType>lo</myNicType>
<myID>
<HostID>109</HostID>
<NicID>110</NicID>
<HostName>net_switch0</HostName>
<NicName>lo0</NicName>
</myID>
<ConnectedLink>-1</ConnectedLink>
<UniqueIdentifier>110</UniqueIdentifier>
<_nic_name>lo0</_nic_name>
<EncryptionKey />
<SSID />
<WirelessKey />
</NetworkCard>
<NetworkCard>
<MAC>B80FF42F3AFC</MAC>
<interfaces>
<NetworkInterface>
<myIP>
<_ip>3232235780</_ip>
<_mask>4294967040</_mask>
<_gw>0</_gw>
<myType>ip</myType>
</myIP>
<nic_name>management_interface0</nic_name>
<AttachedToHostNic>
<HostID>109</HostID>
<NicID>111</NicID>
<HostName>net_switch0</HostName>
<NicName>management_interface0</NicName>
</AttachedToHostNic>
<VLANs>
<VLANInfo>
<_ID>1</_ID>
<_Tag>Untagged</_Tag>
<ID>1</ID>
<Tag>Untagged</Tag>
</VLANInfo>
</VLANs>
</NetworkInterface>
</interfaces>
<UsesDHCP>false</UsesDHCP>
<CanUseDHCP>true</CanUseDHCP>
<MustUseDHCP>false</MustUseDHCP>
<myNicType>management_interface</myNicType>
<myID>
<HostID>109</HostID>
<NicID>111</NicID>
<HostName>net_switch0</HostName>
<NicName>management_interface0</NicName>
</myID>
<ConnectedLink>-1</ConnectedLink>
<UniqueIdentifier>111</UniqueIdentifier>
<_nic_name>management_interface0</_nic_name>
<EncryptionKey />
<SSID />
<WirelessKey />
</NetworkCard>
<NetworkCard>
<MAC>7BADA9ED1527</MAC>
<interfaces>
<NetworkInterface>
<myIP>
<_ip>0</_ip>
<_mask>0</_mask>
<_gw>0</_gw>
<myType>ip</myType>
</myIP>
<nic_name>port1</nic_name>
<AttachedToHostNic>
<HostID>109</HostID>
<NicID>112</NicID>
<HostName>net_switch0</HostName>
<NicName>port1</NicName>
</AttachedToHostNic>
<VLANs>
<VLANInfo>
<_ID>1</_ID>
<_Tag>Untagged</_Tag>
<ID>1</ID>
<Tag>Untagged</Tag>
</VLANInfo>
</VLANs>
</NetworkInterface>
</interfaces>
<UsesDHCP>false</UsesDHCP>
<CanUseDHCP>false</CanUseDHCP>
<MustUseDHCP>false</MustUseDHCP>
<myNicType>port</myNicType>
<myID>
<HostID>109</HostID>
<NicID>112</NicID>
<HostName>net_switch0</HostName>
<NicName>port1</NicName>
</myID>
<ConnectedLink>126</ConnectedLink>
<UniqueIdentifier>112</UniqueIdentifier>
<_nic_name>port1</_nic_name>
<EncryptionKey />
<SSID />
<WirelessKey />
</NetworkCard>
<NetworkCard>
<MAC>0299327A45F8</MAC>
<interfaces>
<NetworkInterface>
<myIP>
<_ip>0</_ip>
<_mask>0</_mask>
<_gw>0</_gw>
<myType>ip</myType>
</myIP>
<nic_name>port2</nic_name>
<AttachedToHostNic>
<HostID>109</HostID>
<NicID>113</NicID>
<HostName>net_switch0</HostName>
<NicName>port2</NicName>
</AttachedToHostNic>
<VLANs>
<VLANInfo>
<_ID>1</_ID>
<_Tag>Untagged</_Tag>
<ID>1</ID>
<Tag>Untagged</Tag>
</VLANInfo>
</VLANs>
</NetworkInterface>
</interfaces>
<UsesDHCP>false</UsesDHCP>
<CanUseDHCP>false</CanUseDHCP>
<MustUseDHCP>false</MustUseDHCP>
<myNicType>port</myNicType>
<myID>
<HostID>109</HostID>
<NicID>113</NicID>
<HostName>net_switch0</HostName>
<NicName>port2</NicName>
</myID>
<ConnectedLink>127</ConnectedLink>
<UniqueIdentifier>113</UniqueIdentifier>
<_nic_name>port2</_nic_name>
<EncryptionKey />
<SSID />
<WirelessKey />
</NetworkCard>
<NetworkCard>
<MAC>3DC0D221DD41</MAC>
<interfaces>
<NetworkInterface>
<myIP>
<_ip>0</_ip>
<_mask>0</_mask>
<_gw>0</_gw>
<myType>ip</myType>
</myIP>
<nic_name>port3</nic_name>
<AttachedToHostNic>
<HostID>109</HostID>
<NicID>114</NicID>
<HostName>net_switch0</HostName>
<NicName>port3</NicName>
</AttachedToHostNic>
<VLANs>
<VLANInfo>
<_ID>1</_ID>
<_Tag>Untagged</_Tag>
<ID>1</ID>
<Tag>Untagged</Tag>
</VLANInfo>
</VLANs>
</NetworkInterface>
</interfaces>
<UsesDHCP>false</UsesDHCP>
<CanUseDHCP>false</CanUseDHCP>
<MustUseDHCP>false</MustUseDHCP>
<myNicType>port</myNicType>
<myID>
<HostID>109</HostID>
<NicID>114</NicID>
<HostName>net_switch0</HostName>
<NicName>port3</NicName>
</myID>
<ConnectedLink>128</ConnectedLink>
<UniqueIdentifier>114</UniqueIdentifier>
<_nic_name>port3</_nic_name>
<EncryptionKey />
<SSID />
<WirelessKey />
</NetworkCard>
<NetworkCard>
<MAC>8F9FB28FE232</MAC>
<interfaces>
<NetworkInterface>
<myIP>
<_ip>0</_ip>
<_mask>0</_mask>
<_gw>0</_gw>
<myType>ip</myType>
</myIP>
<nic_name>port4</nic_name>
<AttachedToHostNic>
<HostID>109</HostID>
<NicID>115</NicID>
<HostName>net_switch0</HostName>
<NicName>port4</NicName>
</AttachedToHostNic>
<VLANs>
<VLANInfo>
<_ID>1</_ID>
<_Tag>Untagged</_Tag>
<ID>1</ID>
<Tag>Untagged</Tag>
</VLANInfo>
</VLANs>
</NetworkInterface>
</interfaces>
<UsesDHCP>false</UsesDHCP>
<CanUseDHCP>false</CanUseDHCP>
<MustUseDHCP>false</MustUseDHCP>
<myNicType>port</myNicType>
<myID>
<HostID>109</HostID>
<NicID>115</NicID>
<HostName>net_switch0</HostName>
<NicName>port4</NicName>
</myID>
<ConnectedLink>-1</ConnectedLink>
<UniqueIdentifier>115</UniqueIdentifier>
<_nic_name>port4</_nic_name>
<EncryptionKey />
<SSID />
<WirelessKey />
</NetworkCard>
<NetworkCard>
<MAC>8E3CA30D9C6A</MAC>
<interfaces>
<NetworkInterface>
<myIP>
<_ip>0</_ip>
<_mask>0</_mask>
<_gw>0</_gw>
<myType>ip</myType>
</myIP>
<nic_name>port5</nic_name>
<AttachedToHostNic>
<HostID>109</HostID>
<NicID>116</NicID>
<HostName>net_switch0</HostName>
<NicName>port5</NicName>
</AttachedToHostNic>
<VLANs>
<VLANInfo>
<_ID>1</_ID>
<_Tag>Untagged</_Tag>
<ID>1</ID>
<Tag>Untagged</Tag>
</VLANInfo>
</VLANs>
</NetworkInterface>
</interfaces>
<UsesDHCP>false</UsesDHCP>
<CanUseDHCP>false</CanUseDHCP>
<MustUseDHCP>false</MustUseDHCP>
<myNicType>port</myNicType>
<myID>
<HostID>109</HostID>
<NicID>116</NicID>
<HostName>net_switch0</HostName>
<NicName>port5</NicName>
</myID>
<ConnectedLink>-1</ConnectedLink>
<UniqueIdentifier>116</UniqueIdentifier>
<_nic_name>port5</_nic_name>
<EncryptionKey />
<SSID />
<WirelessKey />
</NetworkCard>
<NetworkCard>
<MAC>7D531A8783CB</MAC>
<interfaces>
<NetworkInterface>
<myIP>
<_ip>0</_ip>
<_mask>0</_mask>
<_gw>0</_gw>
<myType>ip</myType>
</myIP>
<nic_name>port6</nic_name>
<AttachedToHostNic>
<HostID>109</HostID>
<NicID>117</NicID>
<HostName>net_switch0</HostName>
<NicName>port6</NicName>
</AttachedToHostNic>
<VLANs>
<VLANInfo>
<_ID>1</_ID>
<_Tag>Untagged</_Tag>
<ID>1</ID>
<Tag>Untagged</Tag>
</VLANInfo>
</VLANs>
</NetworkInterface>
</interfaces>
<UsesDHCP>false</UsesDHCP>
<CanUseDHCP>false</CanUseDHCP>
<MustUseDHCP>false</MustUseDHCP>
<myNicType>port</myNicType>
<myID>
<HostID>109</HostID>
<NicID>117</NicID>
<HostName>net_switch0</HostName>
<NicName>port6</NicName>
</myID>
<ConnectedLink>-1</ConnectedLink>
<UniqueIdentifier>117</UniqueIdentifier>
<_nic_name>port6</_nic_name>
<EncryptionKey />
<SSID />
<WirelessKey />
</NetworkCard>
<NetworkCard>
<MAC>57A834AA16A4</MAC>
<interfaces>
<NetworkInterface>
<myIP>
<_ip>0</_ip>
<_mask>0</_mask>
<_gw>0</_gw>
<myType>ip</myType>
</myIP>
<nic_name>port7</nic_name>
<AttachedToHostNic>
<HostID>109</HostID>
<NicID>118</NicID>
<HostName>net_switch0</HostName>
<NicName>port7</NicName>
</AttachedToHostNic>
<VLANs>
<VLANInfo>
<_ID>1</_ID>
<_Tag>Untagged</_Tag>
<ID>1</ID>
<Tag>Untagged</Tag>
</VLANInfo>
</VLANs>
</NetworkInterface>
</interfaces>
<UsesDHCP>false</UsesDHCP>
<CanUseDHCP>false</CanUseDHCP>
<MustUseDHCP>false</MustUseDHCP>
<myNicType>port</myNicType>
<myID>
<HostID>109</HostID>
<NicID>118</NicID>
<HostName>net_switch0</HostName>
<NicName>port7</NicName>
</myID>
<ConnectedLink>-1</ConnectedLink>
<UniqueIdentifier>118</UniqueIdentifier>
<_nic_name>port7</_nic_name>
<EncryptionKey />
<SSID />
<WirelessKey />
</NetworkCard>
</NICs>
<DefaultGW>
<_ip>3232235777</_ip>
<_mask>4294967040</_mask>
<_gw>0</_gw>
<myType>gw</myType>
</DefaultGW>
<MyLocation>
<X>410</X>
<Y>340</Y>
</MyLocation>
<Size>100</Size>
<myType>net_switch</myType>
<RouteTable />
<DHCPRanges />
<isDNSServer>false</isDNSServer>
<isDHCPServer>false</isDHCPServer>
<CanServeDHCP>false</CanServeDHCP>
<CanUseDHCP>true</CanUseDHCP>
<MustUseDHCP>false</MustUseDHCP>
<CanAddNics>false</CanAddNics>
<HasAdvFirewall>false</HasAdvFirewall>
<IsBurned>false</IsBurned>
<BackgroundColor />
<FirewallRules />
<PowerOff>false</PowerOff>
<BadSprayCount>0</BadSprayCount>
<PacketIDsPassedThrough />
</ChangedComponent>
</ActionClass>
<ActionClass>
<Action>ping</Action>
<SourceID>100</SourceID>
<Destination>
<_ip>3232236034</_ip>
<_mask>4294967040</_mask>
<_gw>0</_gw>
<myType>ip</myType>
</Destination>
<SourceNIC>
<HostID>0</HostID>
<NicID>0</NicID>
</SourceNIC>
<DestNic>
<HostID>0</HostID>
<NicID>0</NicID>
</DestNic>
<Location>
<X>0</X>
<Y>0</Y>
</Location>
<newItemType>none</newItemType>
</ActionClass>
</Actions>
<HasBeenStored>true</HasBeenStored>
</NetworkAction>
</NetActions>
<HasUnsavedChanges>true</HasUnsavedChanges>
</ActionCollection>