// Copyright (c) 2009 by Doug Kearns // // This work is licensed for reuse under an MIT license. Details are // given in the LICENSE.txt file included with this file. "use strict"; Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); function CommandLineHandler() { this.wrappedJSObject = this; } CommandLineHandler.prototype = { classDescription: "Dactyl Command-line Handler", classID: Components.ID("{16dc34f7-6d22-4aa4-a67f-2921fb5dcb69}"), contractID: "@mozilla.org/commandlinehandler/general-startup;1?type=dactyl", _xpcom_categories: [{ category: "command-line-handler", entry: "m-dactyl" }], QueryInterface: XPCOMUtils.generateQI([Components.interfaces.nsICommandLineHandler]), handle: function (commandLine) { let name = Components.classes["@dactyl.googlecode.com/base/dactyl"] .getService().wrappedJSObject.name; // TODO: handle remote launches differently? try { this.optionValue = commandLine.handleFlagWithParam(name, false); } catch (e) { dump(name + ": option '-" + name + "' requires an argument\n"); } } }; if (XPCOMUtils.generateNSGetFactory) const NSGetFactory = XPCOMUtils.generateNSGetFactory([CommandLineHandler]); else const NSGetModule = XPCOMUtils.generateNSGetModule([CommandLineHandler]); // vim: set ft=javascript fdm=marker sw=4 ts=4 et: