michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "nsISupports.idl" michael@0: michael@0: interface nsICommandLine; michael@0: michael@0: /** michael@0: * Validates arguments on the command line of an XUL application. michael@0: * michael@0: * Each validator is registered in the category "command-line-validator". michael@0: * The entries in this category are read in alphabetical order, and each michael@0: * category value is treated as a service contractid implementing this michael@0: * interface. michael@0: * michael@0: * By convention, validator with ordinary priority should begin with "m". michael@0: * michael@0: * Example: michael@0: * Category Entry Value michael@0: * command-line-validator b-browser @mozilla.org/browser/clh;1 michael@0: * command-line-validator m-edit @mozilla.org/composer/clh;1 michael@0: * command-line-validator m-irc @mozilla.org/chatzilla/clh;1 michael@0: * michael@0: */ michael@0: michael@0: [scriptable, uuid(5ecaa593-7660-4a3a-957a-92d5770671c7)] michael@0: interface nsICommandLineValidator : nsISupports michael@0: { michael@0: /** michael@0: * Process the command-line validators in the proper order, calling michael@0: * "validate()" on each. michael@0: * michael@0: * @throws NS_ERROR_ABORT if any validator throws NS_ERROR_ABORT. All other michael@0: * errors thrown by validators will be silently ignored. michael@0: */ michael@0: void validate(in nsICommandLine aCommandLine); michael@0: };