1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-03 15:15:25 +02:00

Multicast address using URI notation

This commit is contained in:
Javier Montalvo Orus 2007-05-11 10:48:49 +00:00
parent 72a0e2e522
commit c64ccfc513
4 changed files with 22 additions and 8 deletions

View file

@ -64,7 +64,9 @@
<attribute name="multicast" type="string">
<annotation>
<documentation>
Allows specifying multicast addresses to be used with different transports in the format &quot;transportName1#address1;transportName2#address2&quot;
Allows specifying semicolon separated multicast addresses to be used with specific transports in the format &lt;transport&gt;:&lt;address&gt;
An example would be:
&lt;code&gt;&quot;transportName1:address1;transportName2:address2;UDP:224.0.0.251&quot;&lt;code/&gt;
</documentation>
</annotation>
</attribute>

View file

@ -10,6 +10,8 @@
package org.eclipse.tm.discovery.protocol;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Vector;
import org.eclipse.core.runtime.CoreException;
@ -142,15 +144,21 @@ public class ProtocolFactory {
String[] pairs = multicastAddresses.split(";"); //$NON-NLS-1$
for (int j = 0; j < pairs.length; j++) {
String[] pair = pairs[j].split("#"); //$NON-NLS-1$
if(pair[0].equals(transportName))
URI uri=null;
try {
uri = new URI(pairs[j]);
} catch (URISyntaxException e) {}
if(uri!=null)
{
multiCastAddress = pair[1];
break;
if(uri.getScheme().equals(transportName))
{
multiCastAddress = uri.getSchemeSpecificPart();
break;
}
}
}
}
}
return multiCastAddress;

View file

@ -15,7 +15,7 @@ Contributors:
<extension point="org.eclipse.tm.discovery.engine.discoveryProtocol">
<protocol
class="org.eclipse.tm.internal.discovery.protocol.dnssd.DNSSDProtocol"
multicast="UDP#224.0.0.251"
multicast="UDP:224.0.0.251"
name="DNS-SD"/>
</extension>
</plugin>

View file

@ -133,6 +133,10 @@ public class ServiceDiscoveryWizardMainPage extends WizardPage {
tempAddress = addressText.getText();
addressText.setText(multicastAddress);
}
else
{
((Button)src).setSelection(false);
}
}
else
{