Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "ECF Remote Services"
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 OSGI services API. | ||
− | + | ||
+ | Bslow are some ideas for an IRemoteServiceContainer...an adapter interface for registering, finding, and using remote service references. | ||
+ | |||
+ | See also the newly checked in (7/17/2006) org.eclipse.ecf.remoteservice plugin (see [[http://www.eclipse.org/ecf/resources.html ecf dev resources]] to get CVS access to the code (in plugins module). | ||
<pre> | <pre> |
Revision as of 14:05, 17 July 2006
Scott has been fooling around with designing a remote OSGI services API.
Bslow are some ideas for an IRemoteServiceContainer...an adapter interface for registering, finding, and using remote service references.
See also the newly checked in (7/17/2006) org.eclipse.ecf.remoteservice plugin (see [ecf dev resources] to get CVS access to the code (in plugins module).
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 { public IRemoteServiceReference getReference(); public void setProperties(Dictionary properties); public void unregister(); } public interface IRemoteServiceReference { public ID getRemoteID(); public Object getProperty(String key); public String [] getPropertyKeys(); } public interface IRemoteService { public Object callSynch(IRemoteCallable call) throws ECFException; public AsynchResult callAsynch(IRemoteCallable call) throws ECFException; public void fire(IRemoteCallable call) throws ECFException; } public interface IRemoteCallable { public String getMethod(); public Object [] getParameters(); public Dictionary getProperties(); public long getTimeout(); }