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"

Line 4: Line 4:
 
Bslow are some ideas for an IRemoteServiceContainer...an adapter interface for registering, finding, and using remote service references.
 
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).
+
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();
}

Back to the top