Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "ECF Remote Services"

 
Line 15: Line 15:
 
 
 
}
 
}
 +
 +
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();
 +
}
 +
 
</pre>
 
</pre>

Revision as of 17:31, 10 July 2006

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();
}

Back to the top