//------------------------------------------------------------------------------------- PyObject* Proxy::__py_pyStreamStringToClient(PyObject* self, PyObject* args) { uint16 currargsSize = PyTuple_Size(args); Proxy* pobj = static_cast<Proxy*>(self); if(pobj->clientMailbox() == NULL) { PyErr_Format(PyExc_AssertionError, "Proxy::streamStringToClient: has no client."); PyErr_PrintEx(0); return NULL; } if(currargsSize > 3 || currargsSize == 0) { PyErr_Format(PyExc_AssertionError, "Proxy::streamStringToClient: args max require 3, gived %d! is script[%s].\n", currargsSize, pobj->scriptName()); PyErr_PrintEx(0); return NULL; } PyObject* pyData = NULL; PyObject* pyDesc = NULL; int16 id = -1; if(currargsSize == 1) { if(PyArg_ParseTuple(args, "O", &pyData) == -1) { PyErr_Format(PyExc_TypeError, "Proxy::streamStringToClient: args is error!"); PyErr_PrintEx(0); return NULL; } } else if(currargsSize == 2) { if(PyArg_ParseTuple(args, "O|O", &pyData, &pyDesc) == -1) { PyErr_Format(PyExc_TypeError, "Proxy::streamStringToClient: args is error!"); PyErr_PrintEx(0); return NULL; } } else if(currargsSize == 3) { if(PyArg_ParseTuple(args, "O|O|H", &pyData, &pyDesc, &id) == -1) { PyErr_Format(PyExc_TypeError, "Proxy::streamStringToClient: args is error!"); PyErr_PrintEx(0); return NULL; } } char* pDescr = NULL; if(pDescr != NULL) { wchar_t* PyUnicode_AsWideCharStringRet1 = PyUnicode_AsWideCharString(pyDesc, NULL); pDescr = strutil::wchar2char(PyUnicode_AsWideCharStringRet1); PyMem_Free(PyUnicode_AsWideCharStringRet1); } if(pDescr && strlen(pDescr) > 255) { PyErr_Format(PyExc_TypeError, "Proxy::streamFileToClient: the descr-size(%d > 255)!", strlen(pDescr)); PyErr_PrintEx(0); free(pDescr); return NULL; } int16 rid = pobj->streamStringToClient(pyData, (pDescr == NULL ? "" : pDescr), id); if(pDescr) free(pDescr); return PyLong_FromLong(rid); }