From: Sadrul Habib Chowdhury Date: Sat, 13 Jun 2009 00:00:13 +0000 (-0400) Subject: Comapre and Represent displays. X-Git-Url: https://repo.or.cz/w/screen-lua.git/commitdiff_plain/c106029959fe3fbaa956729e1960c241fed868af Comapre and Represent displays. --- diff --git a/src/python.c b/src/python.c index f33a03e..29a4a27 100644 --- a/src/python.c +++ b/src/python.c @@ -65,10 +65,7 @@ typedef struct } SPyClosure; -#define compare_display NULL #define compare_callback NULL - -#define repr_display NULL #define repr_callback NULL #define REGISTER_TYPE(type, Type, closures, methods) \ @@ -195,7 +192,40 @@ static SPyClosure dclosures[] = SPY_CLOSURE("height", "Display height", T_INT, d_height, NULL), {NULL} }; -REGISTER_TYPE(display, Display, dclosures, NULL) + +static PyMethodDef dmethods[] = +{ + {NULL} +}; + +static int +compare_display(PyDisplay *one, PyDisplay *two) +{ + struct display *done = one->_obj; + struct display *dtwo = two->_obj; + struct display *iter; + + if (done->d_userpid == dtwo->d_userpid) + return 0; + + for (iter = displays; iter; iter = iter->d_next) + if (iter == done) + return -1; + else if (iter == dtwo) + return 1; + + return 0; +} + +static PyObject * +repr_display(PyObject *obj) +{ + PyDisplay *d = obj; + struct display *disp = d->_obj; + return PyString_FromFormat("display (term: %s, tty: %s)", disp->d_termname, disp->d_usertty); +} + +REGISTER_TYPE(display, Display, dclosures, dmethods) #undef SPY_CLOSURE /** }}} */