gecko-dev/xpcom/threads/nsIProcess.idl

44 lines
1.4 KiB
Plaintext

#include "nsIFile.idl"
#include "nsISupports.idl"
[scriptable, uuid(3ed86dbe-d084-11d4-ba7a-00c04fa0d26b)]
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;
/**
* Called to get the value of environment variable
* XXX what charset?
*
* @param aName The string enviroment variable name
* @exception NS_ERROR_OUT_OF_MEMORY
*
* @return The value of the requested string environment variable name
*/
string getEnvironment(in string aName);
};
%{C++
#define NS_PROCESS_CONTRACTID "@mozilla.org/process/util;1"
#define NS_PROCESS_CLASSNAME "Process Specification"
%}