package org.gudy.azureus2.ui.console.commands;
import java.io.PrintStream;
import java.util.*;
import org.gudy.azureus2.core3.util.Debug;
import org.gudy.azureus2.ui.console.ConsoleInput;
import com.aelitis.azureus.core.pairing.*;
public class Pairing extends IConsoleCommand {
public Pairing()
{
super("pairing", "pair");
}
public String getCommandDescriptions()
{
return("pairing\t\tpair\tShows and modified the current Vuze remote pairing state.");
}
public void printHelpExtra(PrintStream out, List args) {
out.println("> -----");
out.println("Subcommands:");
out.println("enable\tEnable remote pairing");
out.println("disable\tDisable remote pairing");
out.println("> -----");
}
public void
execute(
String commandName, ConsoleInput ci, List<String> args) {
PairingManager pm = PairingManagerFactory.getSingleton();
if ( args.size() > 0 ){
String sub = args.get(0);
if ( sub.equals( "enable" )){
pm.setEnabled( true );
}else if ( sub.equals( "disable" )){
pm.setEnabled( false );
}else{
ci.out.println( "Unsupported sub-command: " + sub );
return;
}
}
ci.out.println( "Current pairing state:" );
if ( pm.isEnabled()){
ci.out.println( "\tStatus: " + pm.getStatus());
try{
ci.out.println( "\tAccess code: " + pm.getAccessCode());
}catch( Throwable e ){
ci.out.println( "Failed to get access code: " + Debug.getNestedExceptionMessage( e ));
}
}else{
ci.out.println( "\tdisabled" );
}
}
}