package com.limegroup.gnutella.gui; import java.io.File; import java.io.IOException; import com.limegroup.gnutella.util.PackagedMediaFileUtils; /** * Allow pmf files to be launched externally from LimeWire. * * If LimeWire is started with "-pmf filename" arguments, * then the file will be unpacked and a root level index.htm[l] * will be launched in the browser. Launching a ".pmf" file from * the Library will have the same effect. * * pmf files are really just zip files with top level index.html files. */ public class PackagedMediaFileLauncher { // Launch a pmf file directly public static void main(String args[]) { if ( args.length >= 1 ) { launchFile(args[0], false); } } /** * Take a full path name */ public static void launchFile(String fname, boolean isLimeRunning) { // Load libraries if running from command line if ( ! isLimeRunning ) ResourceManager.instance(); File lfile = PackagedMediaFileUtils.preparePMFFile(fname); // Don't launch an invalid file if ( lfile == null ) return; try { GUIMediator.launchFile(lfile); } catch(IOException ignored) {} } }