diff options
author | Markus Alexander Kuppe | 2010-06-24 11:13:06 +0000 |
---|---|---|
committer | Markus Alexander Kuppe | 2010-06-24 11:13:06 +0000 |
commit | db01090c46df1584c915d0ed87e0674bd13e4e41 (patch) | |
tree | 70ce02952324ccefee9681ab0142907c72f51e67 /providers | |
parent | ac57f2cfc63837ae5f7bdc420cb77cacbc1fffa4 (diff) | |
download | org.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')
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) |