From ad6b3f483d22a00070f60b69855e72563d9895ea Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Thu, 20 Jun 2013 15:58:05 -0400 Subject: Convert ESorter to an interface. --- e-util/e-sorter.c | 96 ++++++++++++++----------------------------------------- 1 file changed, 24 insertions(+), 72 deletions(-) (limited to 'e-util/e-sorter.c') diff --git a/e-util/e-sorter.c b/e-util/e-sorter.c index f2023d7ddf..0534f21d02 100644 --- a/e-util/e-sorter.c +++ b/e-util/e-sorter.c @@ -1,4 +1,6 @@ /* + * e-sorter.h + * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either @@ -12,64 +14,14 @@ * You should have received a copy of the GNU Lesser General Public * License along with the program; if not, see * - * - * Authors: - * Chris Lahey - * - * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) - * */ #include "e-sorter.h" -G_DEFINE_TYPE (ESorter, e_sorter, G_TYPE_OBJECT) - -static gint -sorter_model_to_sorted (ESorter *sorter, - gint row) -{ - return row; -} - -static gint -sorter_sorted_to_model (ESorter *sorter, - gint row) -{ - return row; -} - -static void -sorter_get_model_to_sorted_array (ESorter *sorter, - gint **array, - gint *count) -{ -} - -static void -sorter_get_sorted_to_model_array (ESorter *sorter, - gint **array, - gint *count) -{ -} - -static gboolean -sorter_needs_sorting (ESorter *sorter) -{ - return FALSE; -} - -static void -e_sorter_class_init (ESorterClass *class) -{ - class->model_to_sorted = sorter_model_to_sorted; - class->sorted_to_model = sorter_sorted_to_model; - class->get_model_to_sorted_array = sorter_get_model_to_sorted_array; - class->get_sorted_to_model_array = sorter_get_sorted_to_model_array; - class->needs_sorting = sorter_needs_sorting; -} +G_DEFINE_INTERFACE (ESorter, e_sorter, G_TYPE_OBJECT) static void -e_sorter_init (ESorter *sorter) +e_sorter_default_init (ESorterInterface *interface) { } @@ -77,30 +29,30 @@ gint e_sorter_model_to_sorted (ESorter *sorter, gint row) { - ESorterClass *class; + ESorterInterface *interface; g_return_val_if_fail (E_IS_SORTER (sorter), -1); g_return_val_if_fail (row >= 0, -1); - class = E_SORTER_GET_CLASS (sorter); - g_return_val_if_fail (class->model_to_sorted != NULL, -1); + interface = E_SORTER_GET_INTERFACE (sorter); + g_return_val_if_fail (interface->model_to_sorted != NULL, -1); - return class->model_to_sorted (sorter, row); + return interface->model_to_sorted (sorter, row); } gint e_sorter_sorted_to_model (ESorter *sorter, gint row) { - ESorterClass *class; + ESorterInterface *interface; g_return_val_if_fail (E_IS_SORTER (sorter), -1); g_return_val_if_fail (row >= 0, -1); - class = E_SORTER_GET_CLASS (sorter); - g_return_val_if_fail (class->sorted_to_model != NULL, -1); + interface = E_SORTER_GET_INTERFACE (sorter); + g_return_val_if_fail (interface->sorted_to_model != NULL, -1); - return class->sorted_to_model (sorter, row); + return interface->sorted_to_model (sorter, row); } void @@ -108,14 +60,14 @@ e_sorter_get_model_to_sorted_array (ESorter *sorter, gint **array, gint *count) { - ESorterClass *class; + ESorterInterface *interface; g_return_if_fail (E_IS_SORTER (sorter)); - class = E_SORTER_GET_CLASS (sorter); - g_return_if_fail (class->get_model_to_sorted_array != NULL); + interface = E_SORTER_GET_INTERFACE (sorter); + g_return_if_fail (interface->get_model_to_sorted_array != NULL); - class->get_model_to_sorted_array (sorter, array, count); + interface->get_model_to_sorted_array (sorter, array, count); } void @@ -123,26 +75,26 @@ e_sorter_get_sorted_to_model_array (ESorter *sorter, gint **array, gint *count) { - ESorterClass *class; + ESorterInterface *interface; g_return_if_fail (E_IS_SORTER (sorter)); - class = E_SORTER_GET_CLASS (sorter); - g_return_if_fail (class->get_sorted_to_model_array != NULL); + interface = E_SORTER_GET_INTERFACE (sorter); + g_return_if_fail (interface->get_sorted_to_model_array != NULL); - class->get_sorted_to_model_array (sorter, array, count); + interface->get_sorted_to_model_array (sorter, array, count); } gboolean e_sorter_needs_sorting (ESorter *sorter) { - ESorterClass *class; + ESorterInterface *interface; g_return_val_if_fail (E_IS_SORTER (sorter), FALSE); - class = E_SORTER_GET_CLASS (sorter); - g_return_val_if_fail (class->needs_sorting != NULL, FALSE); + interface = E_SORTER_GET_INTERFACE (sorter); + g_return_val_if_fail (interface->needs_sorting != NULL, FALSE); - return class->needs_sorting (sorter); + return interface->needs_sorting (sorter); } -- cgit v1.2.3