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.IPAddress:
{
if (createOrReplace)
{
if (IPAddress == null)
{
if (replacement == null)
{
IPAddress = new PropertyState<byte[]>(this);
}
else
{
IPAddress = (PropertyState<byte[]>)replacement;
}
}
}
instance = IPAddress;
break;
}
case Opc.Ua.Fdi7.BrowseNames.DevMfg:
{
if (createOrReplace)
{
if (DevMfg == null)
{
if (replacement == null)
{
DevMfg = new PropertyState<uint>(this);
}
else
{
DevMfg = (PropertyState<uint>)replacement;
}
}
}
instance = DevMfg;
break;
}
case Opc.Ua.Fdi7.BrowseNames.DevType:
{
if (createOrReplace)
{
if (DevType == null)
{
if (replacement == null)
{
DevType = new PropertyState<ushort>(this);
}
else
{
DevType = (PropertyState<ushort>)replacement;
}
}
}
instance = DevType;
break;
}
case Opc.Ua.Fdi7.BrowseNames.DevRev:
{
if (createOrReplace)
{
if (DevRev == null)
{
if (replacement == null)
{
DevRev = new PropertyState<ushort>(this);
}
else
{
DevRev = (PropertyState<ushort>)replacement;
}
}
}
instance = DevRev;
break;
}
case Opc.Ua.Fdi7.BrowseNames.DevTag:
{
if (createOrReplace)
{
if (DevTag == null)
{
if (replacement == null)
{
DevTag = new PropertyState<string>(this);
}
else
{
DevTag = (PropertyState<string>)replacement;
}
}
}
instance = DevTag;
break;
}
case Opc.Ua.Fdi7.BrowseNames.DevPollAddr:
{
if (createOrReplace)
{
if (DevPollAddr == null)
{
if (replacement == null)
{
DevPollAddr = new PropertyState<byte>(this);
}
else
{
DevPollAddr = (PropertyState<byte>)replacement;
}
}
}
instance = DevPollAddr;
break;
}
}
if (instance != null)
{
return instance;
}
return base.FindChild(context, browseName, createOrReplace, replacement);
}