package org.eclipse.platform.discovery.destprefs.internal.prefpage.ui;

public interface IDestinationConfiguratorsPresenter {
    public void selectionChanged(final DestinationConfiguratorSelection selection);
    public void addDestination();
    public void editDestination();
    public void removeDestination();
    public void testDestination();
    public void setView(final IDestinationConfiguratorsView view);
}
