static PyObject *py_register_backend(PyObject *self, PyObject *args) { PyObject *name, *py_backend; if (!PyArg_ParseTuple(args, "O", &py_backend)) return NULL; name = PyObject_GetAttrString(py_backend, "name"); if (name == NULL) { PyErr_SetNone(PyExc_AttributeError); return NULL; } if (!PyString_Check(name)) { PyErr_SetNone(PyExc_TypeError); return NULL; } if (!tevent_register_backend(PyString_AsString(name), &py_tevent_ops)) { /* FIXME: What to do with backend */ PyErr_SetNone(PyExc_RuntimeError); return NULL; } Py_RETURN_NONE; }
bool tevent_standard_init(void) { return tevent_register_backend("standard", &std_event_ops); }
_PRIVATE_ bool tevent_epoll_init(void) { return tevent_register_backend("epoll", &epoll_event_ops); }