Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Alexander Kuppe2010-06-24 11:13:06 +0000
committerMarkus Alexander Kuppe2010-06-24 11:13:06 +0000
commitdb01090c46df1584c915d0ed87e0674bd13e4e41 (patch)
tree70ce02952324ccefee9681ab0142907c72f51e67 /providers
parentac57f2cfc63837ae5f7bdc420cb77cacbc1fffa4 (diff)
downloadorg.eclipse.ecf-db01090c46df1584c915d0ed87e0674bd13e4e41.tar.gz
org.eclipse.ecf-db01090c46df1584c915d0ed87e0674bd13e4e41.tar.xz
org.eclipse.ecf-db01090c46df1584c915d0ed87e0674bd13e4e41.zip
NEW - bug 317798: [Discovery][DNS-SD] Create/register IDiscoveryAdvertiser container/service
https://bugs.eclipse.org/bugs/show_bug.cgi?id=317798
Diffstat (limited to 'providers')
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.dnssd/plugin.xml8
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/Activator.java4
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/ContainerInstantiator.java8
3 files changed, 18 insertions, 2 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.dnssd/plugin.xml b/providers/bundles/org.eclipse.ecf.provider.dnssd/plugin.xml
index c406d316f..a93033e6b 100644
--- a/providers/bundles/org.eclipse.ecf.provider.dnssd/plugin.xml
+++ b/providers/bundles/org.eclipse.ecf.provider.dnssd/plugin.xml
@@ -10,6 +10,14 @@
</containerFactory>
</extension>
<extension
+ point="org.eclipse.ecf.containerFactory">
+ <containerFactory
+ class="org.eclipse.ecf.provider.dnssd.ContainerInstantiator"
+ description="Discovery Advertiser Container "
+ name="ecf.discovery.dnssd.advertiser">
+ </containerFactory>
+ </extension>
+ <extension
point="org.eclipse.ecf.identity.namespace">
<namespace
class="org.eclipse.ecf.provider.dnssd.DnsSdNamespace"
diff --git a/providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/Activator.java b/providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/Activator.java
index d2698baa7..89b6b8587 100644
--- a/providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/Activator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/Activator.java
@@ -18,6 +18,7 @@ import java.util.Properties;
import org.eclipse.ecf.core.ContainerConnectException;
import org.eclipse.ecf.core.IContainer;
+import org.eclipse.ecf.discovery.IDiscoveryAdvertiser;
import org.eclipse.ecf.discovery.IDiscoveryLocator;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleActivator;
@@ -51,7 +52,8 @@ public class Activator implements BundleActivator, ManagedServiceFactory {
final Properties props = new Properties();
props.put("org.eclipse.ecf.discovery.containerName", NAME);
props.put(Constants.SERVICE_RANKING, new Integer(750));
- serviceRegistrations.put(null, context.registerService(IDiscoveryLocator.class.getName(), new ServiceFactory() {
+ String[] clazzes = new String[]{IDiscoveryLocator.class.getName(), IDiscoveryAdvertiser.class.getName()};
+ serviceRegistrations.put(null, context.registerService(clazzes, new ServiceFactory() {
private volatile DnsSdDisocoveryLocator locator;
/* (non-Javadoc)
diff --git a/providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/ContainerInstantiator.java b/providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/ContainerInstantiator.java
index 968e64889..f7cb617a4 100644
--- a/providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/ContainerInstantiator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/ContainerInstantiator.java
@@ -22,7 +22,13 @@ public class ContainerInstantiator implements IContainerInstantiator {
*/
public IContainer createInstance(ContainerTypeDescription description,
Object[] parameters) throws ContainerCreateException {
- return new DnsSdDisocoveryLocator();
+// For the moment advertiser and locator are served by the same class/instance
+// if(description != null && "ecf.discovery.dnssd.advertiser".equals(description.getName())) {
+// return new DnsSdDisocoveryLocator();
+// } else if(description != null && "ecf.discovery.dnssd.locator".equals(description.getName())) {
+ return new DnsSdDisocoveryLocator();
+// }
+// return null;
}
/* (non-Javadoc)

Back to the top