aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-sorter-array.h
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2010-10-20 19:31:46 +0800
committerMilan Crha <mcrha@redhat.com>2010-10-20 19:34:53 +0800
commit7a07c80767950787601924b2b8091c8a0cb3371a (patch)
treeeaf24f2ab4aca5795ebac2353e7dbde991d962c9 /e-util/e-sorter-array.h
parentb1f84e3c36a3e64caa8eac4b7f88252225cbf405 (diff)
downloadgsoc2013-evolution-7a07c80767950787601924b2b8091c8a0cb3371a.tar.gz
gsoc2013-evolution-7a07c80767950787601924b2b8091c8a0cb3371a.tar.zst
gsoc2013-evolution-7a07c80767950787601924b2b8091c8a0cb3371a.zip
Bug #630504 - Precache collate keys before sorting in EReflowModel
Diffstat (limited to 'e-util/e-sorter-array.h')
-rw-r--r--e-util/e-sorter-array.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/e-util/e-sorter-array.h b/e-util/e-sorter-array.h
index 9a1d3fcfef..94ca51872f 100644
--- a/e-util/e-sorter-array.h
+++ b/e-util/e-sorter-array.h
@@ -39,12 +39,17 @@ G_BEGIN_DECLS
#define _E_COMPARE_ROWS_FUNC_H_
typedef gint (*ECompareRowsFunc) (gint row1,
gint row2,
+ GHashTable *cmp_cache,
gpointer closure);
#endif
+typedef GHashTable * (*ECreateCmpCacheFunc) (gpointer closure);
+
typedef struct {
ESorter base;
+ GHashTable *cmp_cache;
+ ECreateCmpCacheFunc create_cmp_cache;
ECompareRowsFunc compare;
gpointer closure;
@@ -61,9 +66,11 @@ typedef struct {
GType e_sorter_array_get_type (void);
ESorterArray *e_sorter_array_construct (ESorterArray *sorter,
+ ECreateCmpCacheFunc create_cmp_cache,
ECompareRowsFunc compare,
gpointer closure);
-ESorterArray *e_sorter_array_new (ECompareRowsFunc compare,
+ESorterArray *e_sorter_array_new (ECreateCmpCacheFunc create_cmp_cache,
+ ECompareRowsFunc compare,
gpointer closure);
void e_sorter_array_clean (ESorterArray *esa);
void e_sorter_array_set_count (ESorterArray *esa,