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.Gds.BrowseNames.CertificateGroups:
{
if (createOrReplace)
{
if (CertificateGroups == null)
{
if (replacement == null)
{
CertificateGroups = new CertificateGroupFolderState(this);
}
else
{
CertificateGroups = (CertificateGroupFolderState)replacement;
}
}
}
instance = CertificateGroups;
break;
}
case Opc.Ua.Gds.BrowseNames.StartSigningRequest:
{
if (createOrReplace)
{
if (StartSigningRequest == null)
{
if (replacement == null)
{
StartSigningRequest = new StartSigningRequestMethodState(this);
}
else
{
StartSigningRequest = (StartSigningRequestMethodState)replacement;
}
}
}
instance = StartSigningRequest;
break;
}
case Opc.Ua.Gds.BrowseNames.StartNewKeyPairRequest:
{
if (createOrReplace)
{
if (StartNewKeyPairRequest == null)
{
if (replacement == null)
{
StartNewKeyPairRequest = new StartNewKeyPairRequestMethodState(this);
}
else
{
StartNewKeyPairRequest = (StartNewKeyPairRequestMethodState)replacement;
}
}
}
instance = StartNewKeyPairRequest;
break;
}
case Opc.Ua.Gds.BrowseNames.FinishRequest:
{
if (createOrReplace)
{
if (FinishRequest == null)
{
if (replacement == null)
{
FinishRequest = new FinishRequestMethodState(this);
}
else
{
FinishRequest = (FinishRequestMethodState)replacement;
}
}
}
instance = FinishRequest;
break;
}
case Opc.Ua.Gds.BrowseNames.GetCertificateGroups:
{
if (createOrReplace)
{
if (GetCertificateGroups == null)
{
if (replacement == null)
{
GetCertificateGroups = new GetCertificateGroupsMethodState(this);
}
else
{
GetCertificateGroups = (GetCertificateGroupsMethodState)replacement;
}
}
}
instance = GetCertificateGroups;
break;
}
case Opc.Ua.Gds.BrowseNames.GetTrustList:
{
if (createOrReplace)
{
if (GetTrustList == null)
{
if (replacement == null)
{
GetTrustList = new GetTrustListMethodState(this);
}
else
{
GetTrustList = (GetTrustListMethodState)replacement;
}
}
}
instance = GetTrustList;
break;
}
case Opc.Ua.Gds.BrowseNames.GetCertificateStatus:
{
if (createOrReplace)
{
if (GetCertificateStatus == null)
{
if (replacement == null)
{
GetCertificateStatus = new GetCertificateStatusMethodState(this);
}
else
{
GetCertificateStatus = (GetCertificateStatusMethodState)replacement;
}
}
}
instance = GetCertificateStatus;
break;
}
}
if (instance != null)
{
return instance;
}
return base.FindChild(context, browseName, createOrReplace, replacement);
}