Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2007-07-23 23:29:54 +0000
committerslewis2007-07-23 23:29:54 +0000
commit093366bc02a0000ff97fca0e7f26eec707711689 (patch)
tree19ddb9f816fa9d65a7d57a7258dbae70fc322804 /providers/bundles/org.eclipse.ecf.provider.remoteservice/src
parent74c22026dde2d0a656e3041e997ac17d77055c6c (diff)
downloadorg.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.java10
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,

Back to the top