/* ========================================================================
* Copyright (c) 2005-2025 The OPC Foundation, Inc. All rights reserved.
*
* OPC Foundation MIT License 1.00
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* The complete license agreement can be found here:
* http://opcfoundation.org/License/MIT/1.00/
* ======================================================================*/
namespace Opc.Ua.Server.AliasNames
{
///
/// Tunables for an .
///
public sealed class AliasNameNodeManagerOptions
{
///
/// The namespace URI the manager registers and exposes its own
/// category nodes under. Defaults to
/// http://opcfoundation.org/UA/AliasName/.
///
public string NamespaceUri { get; set; }
= "http://opcfoundation.org/UA/AliasName/";
///
/// When true (default), the manager publishes
/// Organizes external references from the well-known
/// Aliases (i=23470) object (Part 17 ยง9.2) into each of its
/// root categories. Disable when the store is already serving
/// standard well-known categories such as TagVariables /
/// Topics (which are already organised under
/// Aliases).
///
public bool LinkToStandardAliasesObject { get; set; } = true;
///
/// When true (default), the manager requires the calling
/// user to have the SecurityAdmin well-known role on a
/// SignAndEncrypt channel before allowing
/// AddAliasesToCategory or
/// DeleteAliasesFromCategory to succeed. Read methods
/// (FindAlias / FindAliasVerbose) are not affected.
///
public bool RequireSecurityAdminForMutations { get; set; } = true;
///
/// When true (default), the manager registers its
/// with the server-wide
/// resolved through
/// . This is what
/// enables DiagnosticsNodeManager's late binder to wire the
/// standard well-known Aliases.FindAlias /
/// TagVariables.FindAlias / Topics.FindAlias methods
/// through this manager's store. Disable when an alternate
/// registration mechanism is in use.
///
public bool RegisterWithServerRegistry { get; set; } = true;
}
}