Package com.aelitis.azureus.ui.swt.browser.listener

Source Code of com.aelitis.azureus.ui.swt.browser.listener.VuzeListener

package com.aelitis.azureus.ui.swt.browser.listener;

import java.util.Map;

import org.gudy.azureus2.core3.util.Base32;
import org.gudy.azureus2.core3.util.SystemTime;

import com.aelitis.azureus.core.messenger.browser.BrowserMessage;
import com.aelitis.azureus.core.messenger.browser.listeners.AbstractBrowserMessageListener;
import com.aelitis.azureus.core.vuzefile.VuzeFile;
import com.aelitis.azureus.core.vuzefile.VuzeFileHandler;
import com.aelitis.azureus.ui.swt.feature.FeatureManagerUI;
import com.aelitis.azureus.ui.swt.feature.FeatureManagerUI.licenceDetails;
import com.aelitis.azureus.util.MapUtils;


public class VuzeListener
  extends AbstractBrowserMessageListener
{
  public static final String DEFAULT_LISTENER_ID = "vuze";

  public static final String OP_LOAD_VUZE_FILE = "load-vuze-file";

  public static final String OP_INSTALL_TRIAL = "install-trial";

  public static final String OP_GET_MODE = "get-mode";
 
  public static final String OP_GET_REMAINING = "get-plus-remaining";

  public
  VuzeListener()
  {
    super( DEFAULT_LISTENER_ID );
  }

  public void
  handleMessage(
    BrowserMessage message )
  {
    String opid = message.getOperationId();
   
    if ( OP_LOAD_VUZE_FILE.equals(opid)){
     
      Map decodedMap = message.getDecodedMap();
     
      String content = MapUtils.getMapString(decodedMap, "content", null);
 
      if ( content == null ){
     
        throw new IllegalArgumentException( "content missing" );
       
      }else{
       
        byte[] bytes = Base32.decode( content );
       
        VuzeFileHandler vfh = VuzeFileHandler.getSingleton();
       
        VuzeFile vf = vfh.loadVuzeFile( bytes );
       
        if ( vf == null ){
         
          throw new IllegalArgumentException( "content invalid" );
         
        }else{
         
          vfh.handleFiles( new VuzeFile[]{ vf }, 0 );
        }
      }
    }else if (OP_INSTALL_TRIAL.equals(opid)) {
      FeatureManagerUI.createTrial();

    }else if (OP_GET_MODE.equals(opid)) {
      Map decodedMap = message.getDecodedMap();

      String callback = MapUtils.getMapString(decodedMap, "callback", null);
     
      if (callback != null) {
       
        context.executeInBrowser(callback + "('" + FeatureManagerUI.getMode() + "')");
       
      } else {
       
        message.debug("bad or no callback param");
      }
    }else if (OP_GET_REMAINING.equals(opid)) {
      Map decodedMap = message.getDecodedMap();

      String callback = MapUtils.getMapString(decodedMap, "callback", null);
     
      if (callback != null) {

        licenceDetails fd = FeatureManagerUI.getFullFeatureDetails();
        if (fd == null || fd.expiry == 0) {
          context.executeInBrowser(callback + "()");
        } else {
          long ms1 = fd.expiry - SystemTime.getCurrentTime();
          long ms2 = fd.displayedExpiry - SystemTime.getCurrentTime();
          context.executeInBrowser(callback + "(" + ms1 + "," + ms2 + ")");
        }
       
      } else {
       
        message.debug("bad or no callback param");
      }
    }else{
     
      throw new IllegalArgumentException("Unknown operation: " + opid);
    }
  }
}
TOP

Related Classes of com.aelitis.azureus.ui.swt.browser.listener.VuzeListener

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.