Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "ECF Remote Services"

m
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Scott has been fooling around with designing a remote OSGI services API.
+
Scott has been fooling around with designing a remote services API, similar to but not the same as the OSGI services API.
  
Here's some ideas for an IRemoteServiceContainer
+
See the newly checked in (8//4/2006) org.eclipse.ecf.remoteservice plugin, provider implementation and test code.  See below for project set with the API, provider, and test plugins, or see [http://www.eclipse.org/ecf/resources.html ecf dev resources].
  
<pre>
+
See also the appropriate project set below.
public interface IRemoteServiceContainer {
+
+
public void addRemoteServiceListener(IRemoteServiceListener listener);
+
public void removeRemoteServiceListener(IRemoteServiceListener listener);
+
+
public IRemoteServiceRegistration registerRemoteService(String [] clazzes, Object service, Dictionary properties) throws ECFException;
+
public IRemoteServiceReference[] getRemoteServiceReferences(ID [] idFilter, String clazz, String filter) throws ECFException;
+
public IRemoteService getRemoteService(IRemoteServiceReference ref) throws ECFException;
+
public boolean ungetRemoteService(IRemoteServiceReference ref);
+
+
}
+
  
public interface IRemoteServiceRegistration {
+
Project set file for ECF committers:
public IRemoteServiceReference getReference();
+
public void setProperties(Dictionary properties);
+
public void unregister();
+
}
+
  
public interface IRemoteServiceReference {
+
<pre>
public ID getRemoteID();
+
<?xml version="1.0" encoding="UTF-8"?>
public Object getProperty(String key);
+
<psf version="2.0">
public String [] getPropertyKeys();
+
<provider id="org.eclipse.team.cvs.core.cvsnature">
}
+
<project reference="1.0,:extssh:dev.eclipse.org:/home/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.provider.remoteservice,org.eclipse.ecf.provider.remoteservice"/>
 +
<project reference="1.0,:extssh:dev.eclipse.org:/home/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.remoteservice,org.eclipse.ecf.remoteservice"/>
 +
<project reference="1.0,:extssh:dev.eclipse.org:/home/technology,org.eclipse.ecf/tests/org.eclipse.ecf.test.remoteservice,org.eclipse.ecf.test.remoteservice"/>
 +
</provider>
 +
</psf>
  
public interface IRemoteService {
+
</pre>
public Object callSynch(IRemoteCallable call) throws ECFException;
+
public AsynchResult callAsynch(IRemoteCallable call) throws ECFException;
+
public void fire(IRemoteCallable call) throws ECFException;
+
}
+
  
public interface IRemoteCallable {
+
Project set file for anonymous CVS access
public String getMethod();
+
public Object [] getParameters();
+
public Dictionary getProperties();
+
public long getTimeout();
+
}
+
  
 +
<pre>
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<psf version="2.0">
 +
<provider id="org.eclipse.team.cvs.core.cvsnature">
 +
<project reference="1.0,:pserver:dev.eclipse.org:/home/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.provider.remoteservice,org.eclipse.ecf.provider.remoteservice"/>
 +
<project reference="1.0,:pserver:dev.eclipse.org:/home/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.remoteservice,org.eclipse.ecf.remoteservice"/>
 +
<project reference="1.0,:pserver:dev.eclipse.org:/home/technology,org.eclipse.ecf/tests/org.eclipse.ecf.test.remoteservice,org.eclipse.ecf.test.remoteservice"/>
 +
</provider>
 +
</psf>
 
</pre>
 
</pre>
 +
 +
[[Category:Eclipse Communication Framework|Remote Services]]

Latest revision as of 22:44, 14 November 2006

Scott has been fooling around with designing a remote services API, similar to but not the same as the OSGI services API.

See the newly checked in (8//4/2006) org.eclipse.ecf.remoteservice plugin, provider implementation and test code. See below for project set with the API, provider, and test plugins, or see ecf dev resources.

See also the appropriate project set below.

Project set file for ECF committers:

<?xml version="1.0" encoding="UTF-8"?>
<psf version="2.0">
	<provider id="org.eclipse.team.cvs.core.cvsnature">
		<project reference="1.0,:extssh:dev.eclipse.org:/home/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.provider.remoteservice,org.eclipse.ecf.provider.remoteservice"/>
		<project reference="1.0,:extssh:dev.eclipse.org:/home/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.remoteservice,org.eclipse.ecf.remoteservice"/>
		<project reference="1.0,:extssh:dev.eclipse.org:/home/technology,org.eclipse.ecf/tests/org.eclipse.ecf.test.remoteservice,org.eclipse.ecf.test.remoteservice"/>
	</provider>
</psf>

Project set file for anonymous CVS access

<?xml version="1.0" encoding="UTF-8"?>
<psf version="2.0">
	<provider id="org.eclipse.team.cvs.core.cvsnature">
		<project reference="1.0,:pserver:dev.eclipse.org:/home/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.provider.remoteservice,org.eclipse.ecf.provider.remoteservice"/>
		<project reference="1.0,:pserver:dev.eclipse.org:/home/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.remoteservice,org.eclipse.ecf.remoteservice"/>
		<project reference="1.0,:pserver:dev.eclipse.org:/home/technology,org.eclipse.ecf/tests/org.eclipse.ecf.test.remoteservice,org.eclipse.ecf.test.remoteservice"/>
	</provider>
</psf>

Back to the top