Added wxProcess_Open and etc.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16159 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -769,6 +769,16 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
enum wxKillError
|
||||||
|
{
|
||||||
|
wxKILL_OK, // no error
|
||||||
|
wxKILL_BAD_SIGNAL, // no such signal
|
||||||
|
wxKILL_ACCESS_DENIED, // permission denied
|
||||||
|
wxKILL_NO_PROCESS, // no such process
|
||||||
|
wxKILL_ERROR // another, unspecified error
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
class wxProcessEvent : public wxEvent {
|
class wxProcessEvent : public wxEvent {
|
||||||
public:
|
public:
|
||||||
wxProcessEvent(int id = 0, int pid = 0, int exitcode = 0);
|
wxProcessEvent(int id = 0, int pid = 0, int exitcode = 0);
|
||||||
@@ -800,6 +810,23 @@ IMP_PYCALLBACK_VOID_INTINT( wxPyProcess, wxProcess, OnTerminate);
|
|||||||
|
|
||||||
%name(wxProcess)class wxPyProcess : public wxEvtHandler {
|
%name(wxProcess)class wxPyProcess : public wxEvtHandler {
|
||||||
public:
|
public:
|
||||||
|
// kill the process with the given PID
|
||||||
|
static wxKillError Kill(int pid, wxSignal sig = wxSIGTERM);
|
||||||
|
|
||||||
|
// test if the given process exists
|
||||||
|
static bool Exists(int pid);
|
||||||
|
|
||||||
|
// this function replaces the standard popen() one: it launches a process
|
||||||
|
// asynchronously and allows the caller to get the streams connected to its
|
||||||
|
// std{in|out|err}
|
||||||
|
//
|
||||||
|
// on error NULL is returned, in any case the process object will be
|
||||||
|
// deleted automatically when the process terminates and should *not* be
|
||||||
|
// deleted by the caller
|
||||||
|
static wxPyProcess *Open(const wxString& cmd);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
wxPyProcess(wxEvtHandler *parent = NULL, int id = -1);
|
wxPyProcess(wxEvtHandler *parent = NULL, int id = -1);
|
||||||
%addmethods { void Destroy() { delete self; } }
|
%addmethods { void Destroy() { delete self; } }
|
||||||
|
|
||||||
|
@@ -6104,6 +6104,89 @@ static void *SwigwxPyProcessTowxObject(void *ptr) {
|
|||||||
return (void *) dest;
|
return (void *) dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static PyObject *_wrap_wxProcess_Kill(PyObject *self, PyObject *args, PyObject *kwargs) {
|
||||||
|
PyObject * _resultobj;
|
||||||
|
wxKillError _result;
|
||||||
|
int _arg0;
|
||||||
|
wxSignal * _arg1 = (wxSignal *) &wxSIGTERM;
|
||||||
|
PyObject * _argo1 = 0;
|
||||||
|
char *_kwnames[] = { "pid","sig", NULL };
|
||||||
|
|
||||||
|
self = self;
|
||||||
|
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i|O:wxProcess_Kill",_kwnames,&_arg0,&_argo1))
|
||||||
|
return NULL;
|
||||||
|
if (_argo1) {
|
||||||
|
if (_argo1 == Py_None) { _arg1 = NULL; }
|
||||||
|
else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxSignal_p")) {
|
||||||
|
PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxProcess_Kill. Expected _wxSignal_p.");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
PyThreadState* __tstate = wxPyBeginAllowThreads();
|
||||||
|
_result = (wxKillError )wxPyProcess::Kill(_arg0,*_arg1);
|
||||||
|
|
||||||
|
wxPyEndAllowThreads(__tstate);
|
||||||
|
if (PyErr_Occurred()) return NULL;
|
||||||
|
} _resultobj = Py_BuildValue("i",_result);
|
||||||
|
return _resultobj;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject *_wrap_wxProcess_Exists(PyObject *self, PyObject *args, PyObject *kwargs) {
|
||||||
|
PyObject * _resultobj;
|
||||||
|
bool _result;
|
||||||
|
int _arg0;
|
||||||
|
char *_kwnames[] = { "pid", NULL };
|
||||||
|
|
||||||
|
self = self;
|
||||||
|
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:wxProcess_Exists",_kwnames,&_arg0))
|
||||||
|
return NULL;
|
||||||
|
{
|
||||||
|
PyThreadState* __tstate = wxPyBeginAllowThreads();
|
||||||
|
_result = (bool )wxPyProcess::Exists(_arg0);
|
||||||
|
|
||||||
|
wxPyEndAllowThreads(__tstate);
|
||||||
|
if (PyErr_Occurred()) return NULL;
|
||||||
|
} _resultobj = Py_BuildValue("i",_result);
|
||||||
|
return _resultobj;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject *_wrap_wxProcess_Open(PyObject *self, PyObject *args, PyObject *kwargs) {
|
||||||
|
PyObject * _resultobj;
|
||||||
|
wxPyProcess * _result;
|
||||||
|
wxString * _arg0;
|
||||||
|
PyObject * _obj0 = 0;
|
||||||
|
char *_kwnames[] = { "cmd", NULL };
|
||||||
|
char _ptemp[128];
|
||||||
|
|
||||||
|
self = self;
|
||||||
|
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxProcess_Open",_kwnames,&_obj0))
|
||||||
|
return NULL;
|
||||||
|
{
|
||||||
|
_arg0 = wxString_in_helper(_obj0);
|
||||||
|
if (_arg0 == NULL)
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
PyThreadState* __tstate = wxPyBeginAllowThreads();
|
||||||
|
_result = (wxPyProcess *)wxPyProcess::Open(*_arg0);
|
||||||
|
|
||||||
|
wxPyEndAllowThreads(__tstate);
|
||||||
|
if (PyErr_Occurred()) return NULL;
|
||||||
|
} if (_result) {
|
||||||
|
SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyProcess_p");
|
||||||
|
_resultobj = Py_BuildValue("s",_ptemp);
|
||||||
|
} else {
|
||||||
|
Py_INCREF(Py_None);
|
||||||
|
_resultobj = Py_None;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
if (_obj0)
|
||||||
|
delete _arg0;
|
||||||
|
}
|
||||||
|
return _resultobj;
|
||||||
|
}
|
||||||
|
|
||||||
#define new_wxProcess(_swigarg0,_swigarg1) (new wxPyProcess(_swigarg0,_swigarg1))
|
#define new_wxProcess(_swigarg0,_swigarg1) (new wxPyProcess(_swigarg0,_swigarg1))
|
||||||
static PyObject *_wrap_new_wxProcess(PyObject *self, PyObject *args, PyObject *kwargs) {
|
static PyObject *_wrap_new_wxProcess(PyObject *self, PyObject *args, PyObject *kwargs) {
|
||||||
PyObject * _resultobj;
|
PyObject * _resultobj;
|
||||||
@@ -10380,6 +10463,9 @@ static PyMethodDef misc2cMethods[] = {
|
|||||||
{ "wxProcess__setCallbackInfo", (PyCFunction) _wrap_wxProcess__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
|
{ "wxProcess__setCallbackInfo", (PyCFunction) _wrap_wxProcess__setCallbackInfo, METH_VARARGS | METH_KEYWORDS },
|
||||||
{ "wxProcess_Destroy", (PyCFunction) _wrap_wxProcess_Destroy, METH_VARARGS | METH_KEYWORDS },
|
{ "wxProcess_Destroy", (PyCFunction) _wrap_wxProcess_Destroy, METH_VARARGS | METH_KEYWORDS },
|
||||||
{ "new_wxProcess", (PyCFunction) _wrap_new_wxProcess, METH_VARARGS | METH_KEYWORDS },
|
{ "new_wxProcess", (PyCFunction) _wrap_new_wxProcess, METH_VARARGS | METH_KEYWORDS },
|
||||||
|
{ "wxProcess_Open", (PyCFunction) _wrap_wxProcess_Open, METH_VARARGS | METH_KEYWORDS },
|
||||||
|
{ "wxProcess_Exists", (PyCFunction) _wrap_wxProcess_Exists, METH_VARARGS | METH_KEYWORDS },
|
||||||
|
{ "wxProcess_Kill", (PyCFunction) _wrap_wxProcess_Kill, METH_VARARGS | METH_KEYWORDS },
|
||||||
{ "wxProcessEvent_m_exitcode_get", (PyCFunction) _wrap_wxProcessEvent_m_exitcode_get, METH_VARARGS | METH_KEYWORDS },
|
{ "wxProcessEvent_m_exitcode_get", (PyCFunction) _wrap_wxProcessEvent_m_exitcode_get, METH_VARARGS | METH_KEYWORDS },
|
||||||
{ "wxProcessEvent_m_exitcode_set", (PyCFunction) _wrap_wxProcessEvent_m_exitcode_set, METH_VARARGS | METH_KEYWORDS },
|
{ "wxProcessEvent_m_exitcode_set", (PyCFunction) _wrap_wxProcessEvent_m_exitcode_set, METH_VARARGS | METH_KEYWORDS },
|
||||||
{ "wxProcessEvent_m_pid_get", (PyCFunction) _wrap_wxProcessEvent_m_pid_get, METH_VARARGS | METH_KEYWORDS },
|
{ "wxProcessEvent_m_pid_get", (PyCFunction) _wrap_wxProcessEvent_m_pid_get, METH_VARARGS | METH_KEYWORDS },
|
||||||
@@ -10808,6 +10894,11 @@ SWIGEXPORT(void) initmisc2c() {
|
|||||||
PyDict_SetItemString(d,"wxTraceRefCount", PyInt_FromLong((long) wxTraceRefCount));
|
PyDict_SetItemString(d,"wxTraceRefCount", PyInt_FromLong((long) wxTraceRefCount));
|
||||||
PyDict_SetItemString(d,"wxTraceOleCalls", PyInt_FromLong((long) wxTraceOleCalls));
|
PyDict_SetItemString(d,"wxTraceOleCalls", PyInt_FromLong((long) wxTraceOleCalls));
|
||||||
PyDict_SetItemString(d,"wxEVT_END_PROCESS", PyInt_FromLong((long) wxEVT_END_PROCESS));
|
PyDict_SetItemString(d,"wxEVT_END_PROCESS", PyInt_FromLong((long) wxEVT_END_PROCESS));
|
||||||
|
PyDict_SetItemString(d,"wxKILL_OK", PyInt_FromLong((long) wxKILL_OK));
|
||||||
|
PyDict_SetItemString(d,"wxKILL_BAD_SIGNAL", PyInt_FromLong((long) wxKILL_BAD_SIGNAL));
|
||||||
|
PyDict_SetItemString(d,"wxKILL_ACCESS_DENIED", PyInt_FromLong((long) wxKILL_ACCESS_DENIED));
|
||||||
|
PyDict_SetItemString(d,"wxKILL_NO_PROCESS", PyInt_FromLong((long) wxKILL_NO_PROCESS));
|
||||||
|
PyDict_SetItemString(d,"wxKILL_ERROR", PyInt_FromLong((long) wxKILL_ERROR));
|
||||||
PyDict_SetItemString(d,"wxEXEC_ASYNC", PyInt_FromLong((long) wxEXEC_ASYNC));
|
PyDict_SetItemString(d,"wxEXEC_ASYNC", PyInt_FromLong((long) wxEXEC_ASYNC));
|
||||||
PyDict_SetItemString(d,"wxEXEC_SYNC", PyInt_FromLong((long) wxEXEC_SYNC));
|
PyDict_SetItemString(d,"wxEXEC_SYNC", PyInt_FromLong((long) wxEXEC_SYNC));
|
||||||
PyDict_SetItemString(d,"wxEXEC_NOHIDE", PyInt_FromLong((long) wxEXEC_NOHIDE));
|
PyDict_SetItemString(d,"wxEXEC_NOHIDE", PyInt_FromLong((long) wxEXEC_NOHIDE));
|
||||||
|
@@ -1198,6 +1198,15 @@ wxLog_GetTraceMask = misc2c.wxLog_GetTraceMask
|
|||||||
|
|
||||||
wxLog_IsAllowedTraceMask = misc2c.wxLog_IsAllowedTraceMask
|
wxLog_IsAllowedTraceMask = misc2c.wxLog_IsAllowedTraceMask
|
||||||
|
|
||||||
|
wxProcess_Kill = misc2c.wxProcess_Kill
|
||||||
|
|
||||||
|
wxProcess_Exists = misc2c.wxProcess_Exists
|
||||||
|
|
||||||
|
def wxProcess_Open(*_args, **_kwargs):
|
||||||
|
val = apply(misc2c.wxProcess_Open,_args,_kwargs)
|
||||||
|
if val: val = wxProcessPtr(val)
|
||||||
|
return val
|
||||||
|
|
||||||
wxFileType_ExpandCommand = misc2c.wxFileType_ExpandCommand
|
wxFileType_ExpandCommand = misc2c.wxFileType_ExpandCommand
|
||||||
|
|
||||||
wxMimeTypesManager_IsOfType = misc2c.wxMimeTypesManager_IsOfType
|
wxMimeTypesManager_IsOfType = misc2c.wxMimeTypesManager_IsOfType
|
||||||
@@ -1335,6 +1344,11 @@ wxTraceResAlloc = misc2c.wxTraceResAlloc
|
|||||||
wxTraceRefCount = misc2c.wxTraceRefCount
|
wxTraceRefCount = misc2c.wxTraceRefCount
|
||||||
wxTraceOleCalls = misc2c.wxTraceOleCalls
|
wxTraceOleCalls = misc2c.wxTraceOleCalls
|
||||||
wxEVT_END_PROCESS = misc2c.wxEVT_END_PROCESS
|
wxEVT_END_PROCESS = misc2c.wxEVT_END_PROCESS
|
||||||
|
wxKILL_OK = misc2c.wxKILL_OK
|
||||||
|
wxKILL_BAD_SIGNAL = misc2c.wxKILL_BAD_SIGNAL
|
||||||
|
wxKILL_ACCESS_DENIED = misc2c.wxKILL_ACCESS_DENIED
|
||||||
|
wxKILL_NO_PROCESS = misc2c.wxKILL_NO_PROCESS
|
||||||
|
wxKILL_ERROR = misc2c.wxKILL_ERROR
|
||||||
wxEXEC_ASYNC = misc2c.wxEXEC_ASYNC
|
wxEXEC_ASYNC = misc2c.wxEXEC_ASYNC
|
||||||
wxEXEC_SYNC = misc2c.wxEXEC_SYNC
|
wxEXEC_SYNC = misc2c.wxEXEC_SYNC
|
||||||
wxEXEC_NOHIDE = misc2c.wxEXEC_NOHIDE
|
wxEXEC_NOHIDE = misc2c.wxEXEC_NOHIDE
|
||||||
|
Reference in New Issue
Block a user