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.
ECF Remote Services
Revision as of 17:31, 10 July 2006 by Slewis.composent.com (Talk | contribs)
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(); }