Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2005-06-25 19:37:29 +0000
committerslewis2005-06-25 19:37:29 +0000
commitbe30ac508bd71e4afaa3a4b269556ceb9e78b29f (patch)
tree17a3e8600494430d6f967915bd647ab07e7edcfa
parent960c9c70dd8114481a58abfa18a35c7c74c3529e (diff)
downloadorg.eclipse.ecf-be30ac508bd71e4afaa3a4b269556ceb9e78b29f.tar.gz
org.eclipse.ecf-be30ac508bd71e4afaa3a4b269556ceb9e78b29f.tar.xz
org.eclipse.ecf-be30ac508bd71e4afaa3a4b269556ceb9e78b29f.zip
Cleanup of DiscoveryStartup and ServerStartup. Improvements to discovery user interface
-rw-r--r--examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/Client.java51
-rw-r--r--examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPlugin.java42
-rw-r--r--examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/DiscoveryStartup.java103
-rw-r--r--examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.java7
-rw-r--r--framework/bundles/org.eclipse.ecf.ui/src/org/eclipse/ecf/ui/views/DiscoveryView.java99
-rw-r--r--framework/bundles/org.eclipse.ecf.ui/src/org/eclipse/ecf/ui/views/IDiscoveryControlListener.java9
-rw-r--r--framework/bundles/org.eclipse.ecf.ui/src/org/eclipse/ecf/ui/views/IDiscoveryController.java14
7 files changed, 184 insertions, 141 deletions
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/Client.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/Client.java
index 165e80eaf..0c6278cd3 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/Client.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/Client.java
@@ -41,13 +41,8 @@ import org.eclipse.ecf.core.events.IContainerEvent;
import org.eclipse.ecf.core.events.ISharedObjectContainerDepartedEvent;
import org.eclipse.ecf.core.identity.ID;
import org.eclipse.ecf.core.identity.IDFactory;
-import org.eclipse.ecf.core.identity.ServiceID;
import org.eclipse.ecf.core.security.IJoinContext;
import org.eclipse.ecf.core.security.ObjectCallback;
-import org.eclipse.ecf.discovery.IDiscoveryContainer;
-import org.eclipse.ecf.discovery.IServiceEvent;
-import org.eclipse.ecf.discovery.IServiceListener;
-import org.eclipse.ecf.discovery.IServiceTypeListener;
import org.eclipse.ecf.example.collab.share.EclipseCollabSharedObject;
import org.eclipse.ecf.example.collab.share.SharedObjectEventListener;
import org.eclipse.ecf.example.collab.share.TreeItem;
@@ -64,7 +59,6 @@ import org.eclipse.ecf.presence.ISubscribeListener;
import org.eclipse.ecf.presence.impl.Presence;
import org.eclipse.ecf.ui.dialogs.AddBuddyDialog;
import org.eclipse.ecf.ui.dialogs.ReceiveAuthorizeRequestDialog;
-import org.eclipse.ecf.ui.views.DiscoveryView;
import org.eclipse.ecf.ui.views.ILocalInputHandler;
import org.eclipse.ecf.ui.views.RosterView;
import org.eclipse.jface.window.Window;
@@ -329,10 +323,7 @@ public class Client {
// Check for IPresenceContainer....if it is, setup
IPresenceContainer pc = (IPresenceContainer) client.getAdapter(IPresenceContainer.class);
if (pc != null) setupPresenceContainer(client,pc,groupID,username);
- // Check for discoverycontainer...if it is, setup
- IDiscoveryContainer dc = (IDiscoveryContainer) client.getAdapter(IDiscoveryContainer.class);
- if (dc != null) setupDiscoveryContainer(dc,client);
-
+
try {
client.joinGroup(groupID, getJoinContext(username,data));
} catch (SharedObjectContainerJoinException e) {
@@ -543,46 +534,6 @@ public class Client {
}
});
}
-
- protected DiscoveryView discoveryView = null;
-
- protected void setupDiscoveryContainer(final IDiscoveryContainer dc, final ISharedObjectContainer socontainer) {
- Display.getDefault().syncExec(new Runnable() {
- public void run() {
- try {
- IWorkbenchWindow ww = PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow();
- IWorkbenchPage wp = ww.getActivePage();
- IViewPart view = wp.showView("org.eclipse.ecf.ui.view.discoveryview");
- discoveryView = (DiscoveryView) view;
- discoveryView.setDiscoveryContainer(dc,socontainer);
- } catch (Exception e) {
- IStatus status = new Status(IStatus.ERROR,ClientPlugin.PLUGIN_ID,IStatus.OK,"Exception showing presence view",e);
- ClientPlugin.getDefault().getLog().log(status);
- }
- }
- });
- if (discoveryView != null) {
- dc.addServiceTypeListener(new IServiceTypeListener() {
- public void serviceTypeAdded(IServiceEvent event) {
- ServiceID svcID = event.getServiceInfo().getServiceID();
- discoveryView.addServiceTypeInfo(svcID.getServiceType());
- dc.addServiceListener(event.getServiceInfo().getServiceID(), new IServiceListener() {
- public void serviceAdded(IServiceEvent evt) {
- discoveryView.addServiceInfo(evt.getServiceInfo().getServiceID());
- dc.requestServiceInfo(evt.getServiceInfo().getServiceID(),3000);
- }
- public void serviceRemoved(IServiceEvent evt) {
- discoveryView.removeServiceInfo(evt.getServiceInfo());
- }
- public void serviceResolved(IServiceEvent evt) {
- discoveryView.addServiceInfo(evt.getServiceInfo());
- }});
- dc.registerServiceType(svcID);
- }});
- }
- }
-
public synchronized void disposeClient(IResource proj, ClientEntry entry) {
entry.dispose();
removeClientEntry(proj,entry.getType());
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPlugin.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPlugin.java
index f27f043f9..8d8fa8eef 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPlugin.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPlugin.java
@@ -88,10 +88,38 @@ public class ClientPlugin extends AbstractUIPlugin implements
public void start(BundleContext context) throws Exception {
super.start(context);
setPreferenceDefaults();
- discoveryStartup = new DiscoveryStartup();
- serverStartup = new ServerStartup();
+ initDiscovery();
+ initServer();
}
+ protected void initDiscovery() {
+ if (discoveryStartup == null) {
+ discoveryStartup = new DiscoveryStartup();
+ }
+ }
+
+ protected void initServer() {
+ if (serverStartup == null) {
+ serverStartup = new ServerStartup();
+ }
+ }
+
+ protected boolean isDiscoveryActive() {
+ if (discoveryStartup == null) return false;
+ else return true;
+ }
+ protected void disposeDiscovery() {
+ if (discoveryStartup != null) {
+ discoveryStartup.dispose();
+ discoveryStartup = null;
+ }
+ }
+ protected void disposeServer() {
+ if (serverStartup != null) {
+ serverStartup.dispose();
+ serverStartup = null;
+ }
+ }
/**
* This method is called when the plug-in is stopped
*/
@@ -99,14 +127,8 @@ public class ClientPlugin extends AbstractUIPlugin implements
super.stop(context);
plugin = null;
resourceBundle = null;
- if (serverStartup != null) {
- serverStartup.dispose();
- serverStartup = null;
- }
- if (discoveryStartup != null) {
- discoveryStartup.dispose();
- discoveryStartup = null;
- }
+ disposeServer();
+ disposeDiscovery();
}
public FontRegistry getFontRegistry() {
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/DiscoveryStartup.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/DiscoveryStartup.java
index ee305227c..78b5e1331 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/DiscoveryStartup.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/DiscoveryStartup.java
@@ -1,8 +1,8 @@
package org.eclipse.ecf.example.collab;
+import java.io.IOException;
import java.net.InetAddress;
import java.net.URI;
-import java.util.Hashtable;
import java.util.Map;
import java.util.Properties;
@@ -22,7 +22,7 @@ import org.eclipse.ecf.discovery.IServiceTypeListener;
import org.eclipse.ecf.discovery.ServiceInfo;
import org.eclipse.ecf.example.collab.actions.ClientConnectAction;
import org.eclipse.ecf.ui.views.DiscoveryView;
-import org.eclipse.ecf.ui.views.IDiscoveryControlListener;
+import org.eclipse.ecf.ui.views.IDiscoveryController;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IViewPart;
import org.eclipse.ui.IWorkbenchPage;
@@ -51,45 +51,48 @@ public class DiscoveryStartup {
static String serviceTypes[] = new String[] {
TCPSERVER_DISCOVERY_TYPE
- //,
- //"_http._tcp.local."
};
-
- public static IDiscoveryContainer getDefault() {
- return discovery;
- }
- public void showTypeDetails(boolean val) {
- if (discoveryView != null) {
- discoveryView.setShowTypeDetails(val);
- }
- }
public DiscoveryStartup() {
- if (ClientPlugin.getDefault().getPreferenceStore().getBoolean(ClientPlugin.PREF_REGISTER_SERVER)) {
- setupDiscovery();
- }
+ setupDiscovery();
}
public void dispose() {
- unregisterServerType();
+ if (socontainer != null) {
+ socontainer.dispose(1000);
+ socontainer = null;
+ }
+ discovery = null;
}
+
protected void setupDiscovery() {
- try {
- socontainer = SharedObjectContainerFactory
- .makeSharedObjectContainer(DISCOVERY_CONTAINER);
- discovery = (IDiscoveryContainer) socontainer
- .getAdapter(IDiscoveryContainer.class);
- if (discovery != null) {
- setupDiscoveryContainer(discovery);
- socontainer.joinGroup(null,null);
- registerServiceTypes();
- }
- else {
- ClientPlugin.log("No discovery container available");
+ if (discovery == null && ClientPlugin.getDefault().getPreferenceStore().getBoolean(ClientPlugin.PREF_REGISTER_SERVER)) {
+ try {
+ socontainer = SharedObjectContainerFactory
+ .makeSharedObjectContainer(DISCOVERY_CONTAINER);
+ discovery = (IDiscoveryContainer) socontainer
+ .getAdapter(IDiscoveryContainer.class);
+ if (discovery != null) {
+ setupDiscoveryContainer(discovery);
+ socontainer.joinGroup(null,null);
+ //registerServiceTypes();
+ }
+ else {
+ if (socontainer != null) {
+ socontainer.dispose(1000);
+ socontainer = null;
+ }
+ discovery = null;
+ ClientPlugin.log("No discovery container available");
+ }
+ } catch (Exception e) {
+ if (socontainer != null) {
+ socontainer.dispose(1000);
+ socontainer = null;
+ }
+ discovery = null;
+ ClientPlugin.log("Exception creating discovery container",e);
}
- } catch (Exception e) {
- ClientPlugin.log("Exception creating discovery container",e);
}
-
}
protected void connectToServiceFromInfo(IServiceInfo svcInfo) {
@@ -126,19 +129,32 @@ public class DiscoveryStartup {
IWorkbenchPage wp = ww.getActivePage();
IViewPart view = wp.showView("org.eclipse.ecf.ui.view.discoveryview");
discoveryView = (DiscoveryView) view;
- discoveryView.setDiscoveryContainer(dc,socontainer);
discoveryView.setShowTypeDetails(false);
- discoveryView.setServiceConnectListener(new IDiscoveryControlListener() {
+ discoveryView.setDiscoveryController(new IDiscoveryController() {
public void connectToService(IServiceInfo service) {
connectToServiceFromInfo(service);
}
- public void setupDiscoveryContainer(DiscoveryView view) {
- System.out.println("setupDiscoveryContainer");
+ public void setupDiscoveryContainer(DiscoveryView dview) {
+ System.out.println("setupDiscoveryContainer");
+ ClientPlugin.getDefault().initDiscovery();
}
- public void disposeDiscoveryContainer(DiscoveryView view) {
+ public void disposeDiscoveryContainer(DiscoveryView dview) {
System.out.println("disposeDiscoveryContainer");
+ ClientPlugin.getDefault().disposeDiscovery();
+ }
+
+ public IDiscoveryContainer getDiscoveryContainer() {
+ return discovery;
+ }
+
+ public ISharedObjectContainer getSharedObjectContainer() {
+ return socontainer;
+ }
+
+ public String[] getServiceTypes() {
+ return serviceTypes;
}
});
} catch (Exception e) {
@@ -173,12 +189,9 @@ public class DiscoveryStartup {
}
}
- static Hashtable registeredServices = new Hashtable();
-
- public static void registerServer(ID id) {
+ public static void registerService(URI uri) {
if (discovery != null) {
try {
- URI uri = id.toURI();
String path = uri.getPath();
Properties props = new Properties();
String protocol = uri.getScheme();
@@ -193,10 +206,12 @@ public class DiscoveryStartup {
ServiceInfo svcInfo = new ServiceInfo(host, new ServiceID(TCPSERVER_DISCOVERY_TYPE,svcName), port, SVC_DEF_PRIORITY,
SVC_DEF_WEIGHT, props);
discovery.registerService(svcInfo);
- } catch (Exception e) {
- ClientPlugin.log("Exception getting URI for ID"+id);
+ } catch (IOException e) {
+ ClientPlugin.log("Exception registering service "+uri);
}
- }
+ } else {
+ ClientPlugin.log("Cannot register service "+uri+" because no discovery service is available");
+ }
}
public static void unregisterServer(ISharedObjectContainer container) {
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.java
index a9dc0bf64..352f168ac 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.java
@@ -1,10 +1,12 @@
package org.eclipse.ecf.example.collab;
import java.io.InputStream;
+import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import org.eclipse.ecf.core.ISharedObjectContainer;
import org.eclipse.ecf.core.identity.ID;
import org.eclipse.ecf.core.identity.IDFactory;
import org.eclipse.ecf.core.identity.IDInstantiationException;
@@ -81,8 +83,8 @@ public class ServerStartup {
TCPServerSOContainer cont = makeServerContainer(group
.getIDForGroup(), serverGroups[j], group.getName(),
connect.getTimeout());
- DiscoveryStartup.registerServer(cont.getConfig().getID());
servers.add(cont);
+ registerServer(cont);
ClientPlugin.log("ECF group server created: "+cont.getConfig().getID().getName());
}
serverGroups[j].putOnTheAir();
@@ -92,6 +94,9 @@ public class ServerStartup {
}
+ protected void registerServer(ISharedObjectContainer cont) throws URISyntaxException {
+ DiscoveryStartup.registerService(cont.getConfig().getID().toURI());
+ }
protected TCPServerSOContainerGroup makeServerGroup(String name, int port) {
TCPServerSOContainerGroup group = new TCPServerSOContainerGroup(name,
port);
diff --git a/framework/bundles/org.eclipse.ecf.ui/src/org/eclipse/ecf/ui/views/DiscoveryView.java b/framework/bundles/org.eclipse.ecf.ui/src/org/eclipse/ecf/ui/views/DiscoveryView.java
index 7a36722f1..401c892cd 100644
--- a/framework/bundles/org.eclipse.ecf.ui/src/org/eclipse/ecf/ui/views/DiscoveryView.java
+++ b/framework/bundles/org.eclipse.ecf.ui/src/org/eclipse/ecf/ui/views/DiscoveryView.java
@@ -56,21 +56,45 @@ public class DiscoveryView extends ViewPart {
private Action disconnectContainerAction;
private Action connectContainerAction;
- IDiscoveryContainer container = null;
+ IDiscoveryContainer dcontainer = null;
ISharedObjectContainer socontainer = null;
- IDiscoveryControlListener serviceConnectListener = null;
-
+ IDiscoveryController controller = null;
+ String [] controllerServiceTypes = null;
+
protected boolean showTypeDetails = false;
public void setShowTypeDetails(boolean val) {
showTypeDetails = val;
refreshView();
}
- public synchronized void setDiscoveryContainer(IDiscoveryContainer container, ISharedObjectContainer socontainer) {
- this.container = container;
- this.socontainer = socontainer;
+ protected boolean isSupportedServiceType(String serviceType) {
+ if (controllerServiceTypes == null || serviceType == null) return false;
+ for(int i=0; i < controllerServiceTypes.length; i++) {
+ if (serviceType.equals(controllerServiceTypes[i])) {
+ return true;
+ }
+ }
+ return false;
+ }
+ public void setDiscoveryController(final IDiscoveryController controller) {
+ Display.getDefault().syncExec(new Runnable() {
+ public void run() {
+ DiscoveryView.this.controller = controller;
+ if (controller != null) {
+ setContainers(controller.getDiscoveryContainer(),controller.getSharedObjectContainer(),controller.getServiceTypes());
+ } else {
+ setContainers(null,null,null);
+ }
+ }
+ });
}
- public synchronized boolean isConnected() {
+
+ protected void setContainers(IDiscoveryContainer dcontainer, ISharedObjectContainer socont, String [] svcTypes) {
+ this.dcontainer = dcontainer;
+ this.socontainer = socont;
+ this.controllerServiceTypes = svcTypes;
+ }
+ protected boolean isConnected() {
if (socontainer == null) return false;
else {
return true;
@@ -129,6 +153,9 @@ public class DiscoveryView extends ViewPart {
public boolean hasChildren() {
return children.size()>0;
}
+ public void clearChildren() {
+ children.clear();
+ }
}
class ViewContentProvider implements IStructuredContentProvider,
@@ -169,6 +196,11 @@ public class DiscoveryView extends ViewPart {
root = new TreeParent(null,"Network Services",null);
invisibleRoot.addChild(root);
}
+ public void clear() {
+ if (root != null) {
+ root.clearChildren();
+ }
+ }
public boolean isRoot(TreeParent tp) {
if (tp != null && tp == root) return true;
else return false;
@@ -281,6 +313,7 @@ public class DiscoveryView extends ViewPart {
}
}
}
+
protected String cleanTypeName(String inputName) {
if (showTypeDetails) return inputName;
String res = inputName.trim();
@@ -293,6 +326,7 @@ public class DiscoveryView extends ViewPart {
}
return res;
}
+
class ViewLabelProvider extends LabelProvider {
public String getText(Object obj) {
@@ -323,8 +357,20 @@ public class DiscoveryView extends ViewPart {
public DiscoveryView() {
}
- public void setServiceConnectListener(IDiscoveryControlListener l) {
- this.serviceConnectListener = l;
+ public void clearAllServices() {
+ Display.getDefault().asyncExec(new Runnable() {
+ public void run() {
+ try {
+ ViewContentProvider vcp = (ViewContentProvider) viewer
+ .getContentProvider();
+ if (vcp != null) {
+ vcp.clear();
+ refreshView();
+ }
+ } catch (Exception e) {
+ }
+ }
+ });
}
public void addServiceTypeInfo(final String type) {
Display.getDefault().asyncExec(new Runnable() {
@@ -408,8 +454,8 @@ public class DiscoveryView extends ViewPart {
if (treeObject instanceof TreeParent) {
TreeParent p = (TreeParent) treeObject;
final ServiceID targetID = p.getID();
- if (container != null) {
- container.requestServiceInfo(targetID,3000);
+ if (dcontainer != null) {
+ dcontainer.requestServiceInfo(targetID,3000);
}
}
}
@@ -423,8 +469,8 @@ public class DiscoveryView extends ViewPart {
TreeObject treeObject = getSelectedTreeObject();
if (treeObject instanceof TreeParent) {
TreeParent p = (TreeParent) treeObject;
- if (container != null) {
- container.registerServiceType(p.getName());
+ if (dcontainer != null) {
+ dcontainer.registerServiceType(p.getName());
}
}
}
@@ -438,7 +484,7 @@ public class DiscoveryView extends ViewPart {
TreeObject treeObject = getSelectedTreeObject();
if (treeObject instanceof TreeParent) {
TreeParent p = (TreeParent) treeObject;
- connectToContainer(p.getServiceInfo());
+ connectToService(p.getServiceInfo());
}
}
};
@@ -451,7 +497,11 @@ public class DiscoveryView extends ViewPart {
ViewContentProvider vcp = (ViewContentProvider) viewer.getContentProvider();
if (vcp != null) {
if (isConnected()) {
- if (serviceConnectListener != null) serviceConnectListener.disposeDiscoveryContainer(DiscoveryView.this);
+ if (controller != null) {
+ controller.disposeDiscoveryContainer(DiscoveryView.this);
+ setContainers(null,null,null);
+ clearAllServices();
+ }
}
}
}
@@ -465,7 +515,7 @@ public class DiscoveryView extends ViewPart {
ViewContentProvider vcp = (ViewContentProvider) viewer.getContentProvider();
if (vcp != null) {
if (!isConnected()) {
- if (serviceConnectListener != null) serviceConnectListener.setupDiscoveryContainer(DiscoveryView.this);
+ if (controller != null) controller.setupDiscoveryContainer(DiscoveryView.this);
}
}
}
@@ -480,17 +530,12 @@ public class DiscoveryView extends ViewPart {
TreeParent tp = (TreeParent) treeObject;
ViewContentProvider vcp = (ViewContentProvider) viewer.getContentProvider();
if (vcp != null && vcp.isRoot(tp)) {
- // It's the root so let's setup the appropriate action and
- if (isConnected()) {
- if (serviceConnectListener != null) manager.add(disconnectContainerAction);
- } else {
- if (serviceConnectListener != null) manager.add(connectContainerAction);
- }
+ // If it's root, show nothing.
} else {
ServiceID svcID = tp.getID();
if (svcID != null) {
IServiceInfo svcInfo = tp.getServiceInfo();
- if (svcInfo != null && svcInfo.isResolved()) {
+ if (svcInfo != null && svcInfo.isResolved() && isSupportedServiceType(svcID.getServiceType())) {
try {
URI uri = svcInfo.getServiceURI();
if (uri != null) {
@@ -508,9 +553,9 @@ public class DiscoveryView extends ViewPart {
// Other plug-ins can contribute there actions here
manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
}
- protected void connectToContainer(IServiceInfo svcInfo) {
- if (serviceConnectListener != null) {
- serviceConnectListener.connectToService(svcInfo);
+ protected void connectToService(IServiceInfo svcInfo) {
+ if (controller != null) {
+ controller.connectToService(svcInfo);
} else {
System.out.println("No service connect listener to connect to "+svcInfo);
}
@@ -568,7 +613,7 @@ public class DiscoveryView extends ViewPart {
});
}
public void dispose() {
- container = null;
+ super.dispose();
}
/**
* Passing the focus request to the viewer's control.
diff --git a/framework/bundles/org.eclipse.ecf.ui/src/org/eclipse/ecf/ui/views/IDiscoveryControlListener.java b/framework/bundles/org.eclipse.ecf.ui/src/org/eclipse/ecf/ui/views/IDiscoveryControlListener.java
deleted file mode 100644
index cdb6cff3b..000000000
--- a/framework/bundles/org.eclipse.ecf.ui/src/org/eclipse/ecf/ui/views/IDiscoveryControlListener.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.eclipse.ecf.ui.views;
-
-import org.eclipse.ecf.discovery.IServiceInfo;
-
-public interface IDiscoveryControlListener {
- public void connectToService(IServiceInfo service);
- public void setupDiscoveryContainer(DiscoveryView view);
- public void disposeDiscoveryContainer(DiscoveryView view);
-}
diff --git a/framework/bundles/org.eclipse.ecf.ui/src/org/eclipse/ecf/ui/views/IDiscoveryController.java b/framework/bundles/org.eclipse.ecf.ui/src/org/eclipse/ecf/ui/views/IDiscoveryController.java
new file mode 100644
index 000000000..2edc2ce6e
--- /dev/null
+++ b/framework/bundles/org.eclipse.ecf.ui/src/org/eclipse/ecf/ui/views/IDiscoveryController.java
@@ -0,0 +1,14 @@
+package org.eclipse.ecf.ui.views;
+
+import org.eclipse.ecf.core.ISharedObjectContainer;
+import org.eclipse.ecf.discovery.IDiscoveryContainer;
+import org.eclipse.ecf.discovery.IServiceInfo;
+
+public interface IDiscoveryController {
+ public IDiscoveryContainer getDiscoveryContainer();
+ public ISharedObjectContainer getSharedObjectContainer();
+ public String [] getServiceTypes();
+ public void connectToService(IServiceInfo service);
+ public void setupDiscoveryContainer(DiscoveryView view);
+ public void disposeDiscoveryContainer(DiscoveryView view);
+}

Back to the top