Opc.Ua.ServerBase.TranslateApplicationDescription C# (CSharp) Method

TranslateApplicationDescription() protected method

Translates the discovery URLs based on the client url and returns an updated ApplicationDescription.
protected TranslateApplicationDescription ( Uri clientUrl, ApplicationDescription description, IList baseAddresses, Opc.Ua.LocalizedText applicationName ) : ApplicationDescription
clientUrl System.Uri The client URL.
description ApplicationDescription The application description.
baseAddresses IList The base addresses.
applicationName Opc.Ua.LocalizedText The localized application name.
return ApplicationDescription
        protected ApplicationDescription TranslateApplicationDescription(
            Uri clientUrl,
            ApplicationDescription description,
            IList<BaseAddress> baseAddresses,
            LocalizedText applicationName)
        {
            // get the discovery urls.
            StringCollection discoveryUrls = new StringCollection();

            foreach (BaseAddress baseAddress in baseAddresses)
            {
                discoveryUrls.Add(GetBestDiscoveryUrl(clientUrl, baseAddress));
            }

            // copy the description.
            ApplicationDescription copy = new ApplicationDescription();

            copy.ApplicationName = description.ApplicationName;
            copy.ApplicationUri = description.ApplicationUri;
            copy.ApplicationType = description.ApplicationType;
            copy.ProductUri = description.ProductUri;
            copy.GatewayServerUri = description.DiscoveryProfileUri;
            copy.DiscoveryUrls = discoveryUrls;

            if (!LocalizedText.IsNullOrEmpty(applicationName))
            {
                copy.ApplicationName = applicationName;
            }

            // return the copy.
            return copy;
        }