private void ProcessCapabilitites( Capabilities capabilities )
{
if (capabilities != null)
{
var g = new ListViewGroup( "Capabilities", "Capabilities" );
lvNetworkPaths.Groups.Add( g );
if (capabilities.Items != null )
{
foreach (object item in capabilities.Items)
{
var capability = item as Capability;
if (capability != null)
{
Interface capabilityInterface = capability.Interface;
if (capabilityInterface != null)
{
List<Port> ports = capabilityInterface.Ports;
if (ports != null)
{
foreach (Port port in ports)
{
var xpath = new StringBuilder( "//" );
xpath.Append( XPathManager.DeterminePathName( _hardwareItemDescription ) );
xpath.Append( "/" ).Append( XPathManager.DeterminePathName( capabilities ) );
xpath.Append( "/" ).Append( XPathManager.DeterminePathName( capability ) );
xpath.Append( "[@name=\"" )
.Append( capability.name )
.Append( "\"]" );
xpath.Append( "/" )
.Append( XPathManager.DeterminePathName( capabilityInterface ) );
xpath.Append( "/" ).Append( XPathManager.DeterminePathName( ports ) );
xpath.Append( "/" )
.Append( XPathManager.DeterminePathName( port ) );
xpath.Append( "[@name=\"" ).Append( port.name ).Append( "\"]" );
string pathValues = NetworkNode.ExtractPathValues( xpath.ToString() );
var lvi = new ListViewItem( pathValues );
lvi.Tag = xpath.ToString();
lvi.Group = g;
lvNetworkPaths.Items.Add( lvi );
}
}
}
}
}
}
}
}