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;
}