author James Boston <jamesboston@gmail.com>
Fri, 06 Mar 2009 16:19:09 -0600
changeset 25817 a632978b885f1c1ceb80cf6c4a115107b869dc27
parent 1 9b2a99adc05e53cd4010de512f50118594756650
child 25818 2b9ed1c47f4640984390f517acd2054ad9418bc1
permissions -rw-r--r--
Improve nsIProcess, fix nsIProcess.kill(). b=442393 r=bsmedberg

#include "nsIFile.idl"
#include "nsISupports.idl"

[scriptable, uuid(d573f1f3-fcdd-4dbe-980b-4ba79e6718dc)]

interface nsIProcess : nsISupports
	void init(in nsIFile executable);
	void initWithPid(in unsigned long pid);
	void kill();

    /** XXX what charset? **/
        /** Executes the file this object was initialized with
         * @param blocking Whether to wait until the process terminates before returning or not
         * @param args An array of arguments to pass to the process
         * @param count The length of the args array
         * @return the PID of the newly spawned process */
        unsigned long run(in boolean blocking, [array, size_is(count)] in string args, in unsigned long count);

	readonly attribute nsIFile location;
	readonly attribute unsigned long pid;
	readonly attribute string processName;
	readonly attribute unsigned long processSignature;
	readonly attribute long exitValue;
	readonly attribute unsigned long isRunning;


#define NS_PROCESS_CONTRACTID "@mozilla.org/process/util;1"
#define NS_PROCESS_CLASSNAME "Process Specification"