package org.limewire.ui.swing.shell;
/**
* A registration in the platform shell that sets a program as the default viewer for a protocol link or file type.
*/
public interface ShellAssociation {
/**
* @return true if we are currently handling this association
*/
public boolean isRegistered();
/**
* @return true if nobody is handling this association
*/
public boolean isAvailable();
/**
* Associates this running program with this protocol or file type in the shell.
*/
public void register();
/**
* Checks whether we can clear the shell association.
*/
public boolean canUnregister();
/**
* Clears this shell association, leaving another program or no program registered.
*/
public void unregister();
}