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.
ECF Remote Services
Revision as of 17:31, 10 July 2006 by Unnamed Poltroon (Talk)
Scott has been fooling around with designing a remote OSGI services API.
Here's some ideas for an IRemoteServiceContainer
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(); }