summaryrefslogtreecommitdiffstats
path: root/src/libs/xpcom18a4/xpcom/threads/nsIProcess.idl
blob: 07769cb7514a42cccfa6fff6fa67d019504f1e63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include "nsIFile.idl"
#include "nsISupports.idl"

[scriptable, uuid(9da0b650-d07e-4617-a18a-250035572ac8)]

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;
};

%{C++

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