1 | #include "nsIFile.idl"
|
---|
2 | #include "nsISupports.idl"
|
---|
3 |
|
---|
4 | [scriptable, uuid(9da0b650-d07e-4617-a18a-250035572ac8)]
|
---|
5 |
|
---|
6 | interface nsIProcess : nsISupports
|
---|
7 | {
|
---|
8 | void init(in nsIFile executable);
|
---|
9 | void initWithPid(in unsigned long pid);
|
---|
10 |
|
---|
11 | void kill();
|
---|
12 |
|
---|
13 | /** XXX what charset? **/
|
---|
14 | /** Executes the file this object was initialized with
|
---|
15 | * @param blocking Whether to wait until the process terminates before returning or not
|
---|
16 | * @param args An array of arguments to pass to the process
|
---|
17 | * @param count The length of the args array
|
---|
18 | * @return the PID of the newly spawned process */
|
---|
19 | unsigned long run(in boolean blocking, [array, size_is(count)] in string args, in unsigned long count);
|
---|
20 |
|
---|
21 | readonly attribute nsIFile location;
|
---|
22 | readonly attribute unsigned long pid;
|
---|
23 | readonly attribute string processName;
|
---|
24 | readonly attribute unsigned long processSignature;
|
---|
25 | readonly attribute long exitValue;
|
---|
26 | };
|
---|
27 |
|
---|
28 | %{C++
|
---|
29 |
|
---|
30 | #define NS_PROCESS_CONTRACTID "@mozilla.org/process/util;1"
|
---|
31 | #define NS_PROCESS_CLASSNAME "Process Specification"
|
---|
32 | %}
|
---|