protected override BaseInstanceState FindChild(
ISystemContext context,
QualifiedName browseName,
bool createOrReplace,
BaseInstanceState replacement)
{
if (QualifiedName.IsNull(browseName))
{
return null;
}
BaseInstanceState instance = null;
switch (browseName.Name)
{
case Opc.Ua.Fdi7.BrowseNames.MAC:
{
if (createOrReplace)
{
if (MAC == null)
{
if (replacement == null)
{
MAC = new PropertyState<byte[]>(this);
}
else
{
MAC = (PropertyState<byte[]>)replacement;
}
}
}
instance = MAC;
break;
}
case Opc.Ua.Fdi7.BrowseNames.IPv4:
{
if (createOrReplace)
{
if (IPv4 == null)
{
if (replacement == null)
{
IPv4 = new PropertyState<byte[]>(this);
}
else
{
IPv4 = (PropertyState<byte[]>)replacement;
}
}
}
instance = IPv4;
break;
}
case Opc.Ua.Fdi7.BrowseNames.DNSNAME:
{
if (createOrReplace)
{
if (DNSNAME == null)
{
if (replacement == null)
{
DNSNAME = new PropertyState<string>(this);
}
else
{
DNSNAME = (PropertyState<string>)replacement;
}
}
}
instance = DNSNAME;
break;
}
case Opc.Ua.Fdi7.BrowseNames.VALID:
{
if (createOrReplace)
{
if (VALID == null)
{
if (replacement == null)
{
VALID = new PropertyState<bool>(this);
}
else
{
VALID = (PropertyState<bool>)replacement;
}
}
}
instance = VALID;
break;
}
}
if (instance != null)
{
return instance;
}
return base.FindChild(context, browseName, createOrReplace, replacement);
}