diff options
author | slewis | 2007-07-23 23:29:54 +0000 |
---|---|---|
committer | slewis | 2007-07-23 23:29:54 +0000 |
commit | 093366bc02a0000ff97fca0e7f26eec707711689 (patch) | |
tree | 19ddb9f816fa9d65a7d57a7258dbae70fc322804 /providers/bundles/org.eclipse.ecf.provider.remoteservice/src | |
parent | 74c22026dde2d0a656e3041e997ac17d77055c6c (diff) | |
download | org.eclipse.ecf-093366bc02a0000ff97fca0e7f26eec707711689.tar.gz org.eclipse.ecf-093366bc02a0000ff97fca0e7f26eec707711689.tar.xz org.eclipse.ecf-093366bc02a0000ff97fca0e7f26eec707711689.zip |
Added OSGi remote service capability for XMPP provider. This allows remote services to be registered and called via XMPP. New test code in org.eclipse.ecf.tests.remoteservice bundle/org.eclipse.ecf.tests.remoteservice.presence package.
Diffstat (limited to 'providers/bundles/org.eclipse.ecf.provider.remoteservice/src')
-rw-r--r-- | providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RegistrySharedObject.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RegistrySharedObject.java b/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RegistrySharedObject.java index 5882b2b06..72118c62c 100644 --- a/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RegistrySharedObject.java +++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RegistrySharedObject.java @@ -129,6 +129,10 @@ public class RegistrySharedObject extends BaseSharedObject implements return result; } + protected ID[] getTargetsFromProperties(Dictionary properties) { + return null; + } + public IRemoteServiceRegistration registerRemoteService(String[] clazzes, Object service, Dictionary properties) { Trace.entering(Activator.PLUGIN_ID, @@ -159,7 +163,9 @@ public class RegistrySharedObject extends BaseSharedObject implements final RemoteServiceRegistrationImpl reg = new RemoteServiceRegistrationImpl(); reg.publish(this, localRegistry, service, clazzes, properties); - sendAddRegistration(null, reg); + ID [] targets = getTargetsFromProperties(properties); + if (targets == null) sendAddRegistration(null,reg); + else for(int i=0; i < targets.length; i++) sendAddRegistration(targets[i], reg); fireRemoteServiceListeners(createRegisteredEvent(reg)); Trace.exiting(Activator.PLUGIN_ID, @@ -538,7 +544,7 @@ public class RegistrySharedObject extends BaseSharedObject implements .getClass(), "sendAddRegistration", new Object[] { receiver, reg }); try { - sendSharedObjectMsgTo(null, SharedObjectMsg.createMsg(null, + sendSharedObjectMsgTo(receiver, SharedObjectMsg.createMsg(null, ADD_REGISTRATION, getLocalContainerID(), reg)); } catch (final IOException e) { log(ADD_REGISTRATION_ERROR_CODE, |