static void assert_attached_objects_2( xorn_revision_t rev, xorn_object_t attached_to, xorn_object_t ob0, xorn_object_t ob1) { xorn_object_t *objects; size_t count; xorn_selection_t sel; assert(xorn_get_objects_attached_to( rev, attached_to, NULL, &count) == 0); assert(count == 2); count = -1; assert(xorn_get_objects_attached_to( rev, attached_to, &objects, &count) == 0); assert(objects != NULL); assert(count == 2); assert(objects[0] == ob0); assert(objects[1] == ob1); free(objects); assert(sel = xorn_select_attached_to(rev, attached_to)); assert(xorn_get_selected_objects(rev, sel, &objects, &count) == 0); assert(objects != NULL); assert(count == 2); assert((objects[0] == ob0 && objects[1] == ob1) || (objects[0] == ob1 && objects[1] == ob0)); free(objects); xorn_free_selection(sel); }
static void assert_selected_objects_0( xorn_revision_t rev, xorn_selection_t sel) { xorn_object_t *objects; size_t count; assert(xorn_get_selected_objects(rev, sel, &objects, &count) == 0); assert(count == 0); free(objects); assert(xorn_selection_is_empty(rev, sel) == true); }
static void assert_selected_objects_1( xorn_revision_t rev, xorn_selection_t sel, xorn_object_t ob) { xorn_object_t *objects; size_t count; assert(xorn_get_selected_objects(rev, sel, &objects, &count) == 0); assert(objects != NULL); assert(count == 1); assert(objects[0] == ob); free(objects); assert(xorn_selection_is_empty(rev, sel) == false); }
static xorn_object_t get_only_selected_object( xorn_revision_t rev, xorn_selection_t sel) { xorn_object_t *objects; size_t count; xorn_object_t ob; assert(xorn_get_selected_objects(rev, sel, &objects, &count) == 0); assert(objects != NULL); assert(count == 1); ob = objects[0]; free(objects); return ob; }
static PyObject *get_selected_objects( PyObject *self, PyObject *args, PyObject *kwds) { PyObject *rev_arg = NULL, *sel_arg = NULL; static char *kwlist[] = { "rev", "sel", NULL }; if (!PyArg_ParseTupleAndKeywords( args, kwds, "O!O!:get_selected_objects", kwlist, &RevisionType, &rev_arg, &SelectionType, &sel_arg)) return NULL; xorn_object_t *objects; size_t count; if (xorn_get_selected_objects(((Revision *)rev_arg)->rev, ((Selection *)sel_arg)->sel, &objects, &count) == -1) return PyErr_NoMemory(); return to_python_list(objects, count); }
static void assert_selected_objects_3( xorn_revision_t rev, xorn_selection_t sel, xorn_object_t ob0, xorn_object_t ob1, xorn_object_t ob2) { xorn_object_t *objects; size_t count; assert(xorn_get_selected_objects(rev, sel, &objects, &count) == 0); assert(objects != NULL); assert(count == 3); assert( (objects[0] == ob0 && objects[1] == ob1 && objects[2] == ob2) || (objects[0] == ob0 && objects[1] == ob2 && objects[2] == ob1) || (objects[0] == ob1 && objects[1] == ob0 && objects[2] == ob2) || (objects[0] == ob1 && objects[1] == ob2 && objects[2] == ob0) || (objects[0] == ob2 && objects[1] == ob0 && objects[2] == ob1) || (objects[0] == ob2 && objects[1] == ob1 && objects[2] == ob0)); free(objects); assert(xorn_selection_is_empty(rev, sel) == false); }
static void assert_attached_objects_0( xorn_revision_t rev, xorn_object_t attached_to) { xorn_object_t *objects; size_t count; xorn_selection_t sel; assert(xorn_get_objects_attached_to( rev, attached_to, NULL, &count) == 0); assert(count == 0); count = -1; assert(xorn_get_objects_attached_to( rev, attached_to, &objects, &count) == 0); assert(count == 0); free(objects); assert(sel = xorn_select_attached_to(rev, attached_to)); assert(xorn_get_selected_objects(rev, sel, &objects, &count) == 0); assert(count == 0); free(objects); xorn_free_selection(sel); }