2001-03-29 Kjartan Maraas <kmaraas@gnome.org> * e-corba-utils.h: Remove #include <glib.h> * e-dialog-widgets.c: Shuffle some headers. * e-dialog-widgets.h: Remove #include <libgnomeui/gnome-propertybox.h> * e-gtk-utils.c: #include <gtk/gtksignal.h> * e-gtk-utils.h: Replace #include <gtk/gtk.h> * e-gui-utils.c: Replace #include <gnome.h> * e-html-utils.c: Shuffle headers. * e-iterator.c: Replace #include <gtk/gtk.h> * e-iterator.h: Replace #include <gtk/gtk.h> * e-list-iterator.c: Remove #include <gtk/gtk.h> * e-list-iterator.h: Replace #include <gtk/gtk.h> * e-list.c: Remove #include <gtk/gtk.h> * e-list.h: Replace #include <gtk/gtk.h> * e-memory.c: #include <string.h> and <stdlib.h> * e-msgport.c: Move around some includes. s/%d/%ld/g in a printf() call to fix a warning. * e-pilot-map.c: #include <string.h>. Replace #include <gnome.h> * e-pilot-util.c: Remove #include <gnome.h> * e-sexp.c: Remove #include <glib.h> * e-sexp.h: Replace #include <gtk/gtk.h> * e-time-utils.c: #include <string.h> * md5-utils.c: Shuffle headers. * test-ename-western-gtk.c: Replace #include <gnome.h> * test-ename-western.c: Same here. svn path=/trunk/; revision=9016
64 lines
1.9 KiB
C
64 lines
1.9 KiB
C
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
|
/*
|
|
* Authors:
|
|
* Chris Lahey <clahey@helixcode.com>
|
|
*
|
|
* Copyright (C) 2000 Helix Code, Inc.
|
|
* Copyright (C) 1999 The Free Software Foundation
|
|
*/
|
|
|
|
#ifndef __E_LIST_H__
|
|
#define __E_LIST_H__
|
|
|
|
typedef struct _EList EList;
|
|
typedef struct _EListClass EListClass;
|
|
|
|
#include <stdio.h>
|
|
#include <time.h>
|
|
#include <gtk/gtkobject.h>
|
|
#include <e-util/e-list-iterator.h>
|
|
|
|
#define E_TYPE_LIST (e_list_get_type ())
|
|
#define E_LIST(obj) (GTK_CHECK_CAST ((obj), E_TYPE_LIST, EList))
|
|
#define E_LIST_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_TYPE_LIST, EListClass))
|
|
#define E_IS_LIST(obj) (GTK_CHECK_TYPE ((obj), E_TYPE_LIST))
|
|
#define E_IS_LIST_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), E_TYPE_LIST))
|
|
|
|
typedef void *(*EListCopyFunc) (const void *data, void *closure);
|
|
typedef void (*EListFreeFunc) (void *data, void *closure);
|
|
|
|
struct _EList {
|
|
GtkObject object;
|
|
GList *list;
|
|
GList *iterators;
|
|
EListCopyFunc copy;
|
|
EListFreeFunc free;
|
|
void *closure;
|
|
};
|
|
|
|
struct _EListClass {
|
|
GtkObjectClass parent_class;
|
|
};
|
|
|
|
EList *e_list_new (EListCopyFunc copy,
|
|
EListFreeFunc free,
|
|
void *closure);
|
|
EList *e_list_duplicate (EList *list);
|
|
EIterator *e_list_get_iterator (EList *list);
|
|
void e_list_append (EList *list,
|
|
const void *data);
|
|
int e_list_length (EList *list);
|
|
|
|
/* For iterators to call. */
|
|
void e_list_remove_link (EList *list,
|
|
GList *link);
|
|
void e_list_remove_iterator (EList *list,
|
|
EIterator *iterator);
|
|
void e_list_invalidate_iterators (EList *list,
|
|
EIterator *skip);
|
|
|
|
/* Standard Gtk function */
|
|
GtkType e_list_get_type (void);
|
|
|
|
#endif /* ! __E_LIST_H__ */
|