1/* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5#include "nsISupports.idl" 6 7interface nsICommandLine; 8 9/** 10 * Validates arguments on the command line of an XUL application. 11 * 12 * Each validator is registered in the category "command-line-validator". 13 * The entries in this category are read in alphabetical order, and each 14 * category value is treated as a service contractid implementing this 15 * interface. 16 * 17 * By convention, validator with ordinary priority should begin with "m". 18 * 19 * Example: 20 * Category Entry Value 21 * command-line-validator b-browser @mozilla.org/browser/clh;1 22 * command-line-validator m-edit @mozilla.org/composer/clh;1 23 * command-line-validator m-irc @mozilla.org/chatzilla/clh;1 24 * 25 */ 26 27[scriptable, uuid(5ecaa593-7660-4a3a-957a-92d5770671c7)] 28interface nsICommandLineValidator : nsISupports 29{ 30 /** 31 * Process the command-line validators in the proper order, calling 32 * "validate()" on each. 33 * 34 * @throws NS_ERROR_ABORT if any validator throws NS_ERROR_ABORT. All other 35 * errors thrown by validators will be silently ignored. 36 */ 37 void validate(in nsICommandLine aCommandLine); 38}; 39