Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

filter.h

Go to the documentation of this file.
00001 /*
00002  * $Id: filter.h,v 1.4 2005/11/09 19:18:51 cbiere Exp $
00003  *
00004  * Copyright (c) 2001-2003, Raphael Manfredi, Richard Eckart
00005  *
00006  *----------------------------------------------------------------------
00007  * This file is part of gtk-gnutella.
00008  *
00009  *  gtk-gnutella is free software; you can redistribute it and/or modify
00010  *  it under the terms of the GNU General Public License as published by
00011  *  the Free Software Foundation; either version 2 of the License, or
00012  *  (at your option) any later version.
00013  *
00014  *  gtk-gnutella is distributed in the hope that it will be useful,
00015  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017  *  GNU General Public License for more details.
00018  *
00019  *  You should have received a copy of the GNU General Public License
00020  *  along with gtk-gnutella; if not, write to the Free Software
00021  *  Foundation, Inc.:
00022  *      59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00023  *----------------------------------------------------------------------
00024  */
00025 
00026 #ifndef _gtk_filter_h_
00027 #define _gtk_filter_h_
00028 
00029 #include "gui.h"
00030 #include "filter_core.h"
00031 
00035 enum {
00036     nb_filt_page_buttons = 0,
00037     nb_filt_page_text,
00038     nb_filt_page_ip,
00039     nb_filt_page_size,
00040     nb_filt_page_jump,
00041     nb_filt_page_sha1,
00042     nb_filt_page_flag,
00043     nb_filt_page_state,
00044 
00045     nb_filt_page_num
00046 };
00047 
00048 extern GtkWidget *filter_dialog;
00049 extern GtkWidget *popup_filter_rule;
00050 
00051 void filter_gui_edit_ip_rule(rule_t *);
00052 void filter_gui_edit_jump_rule(rule_t *);
00053 void filter_gui_edit_rule(rule_t *);
00054 void filter_gui_edit_size_rule(rule_t *);
00055 void filter_gui_edit_text_rule(rule_t *);
00056 void filter_gui_edit_sha1_rule(rule_t *);
00057 void filter_gui_edit_flag_rule(rule_t *);
00058 void filter_gui_edit_state_rule(rule_t *);
00059 void filter_gui_filter_add(filter_t *f, GList *ruleset);
00060 void filter_gui_filter_clear_list(void);
00061 void filter_gui_filter_remove(filter_t *f);
00062 void filter_gui_filter_set_enabled(filter_t *f, gboolean active);
00063 void filter_gui_filter_set(filter_t *, gboolean, gboolean, GList *);
00064 void filter_gui_init(void);
00065 void filter_gui_rebuild_target_combos(GList *filters);
00066 void filter_gui_set_ruleset(GList *ruleset);
00067 void filter_gui_update_filter_stats(void);
00068 void filter_gui_update_rule_stats(void);
00069 void filter_gui_show_dialog(void);
00070 rule_t *filter_gui_get_rule(void);
00071 void filter_gui_update_rule_count(filter_t *f, GList *ruleset);
00072 guint64 filter_update_size(GtkEntry *entry);
00073 
00074 #ifdef USE_GTK1
00075 #define filter_gui_create_dlg_filters() create_dlg_filters()
00076 
00077 void filter_gui_freeze_rules(void);
00078 void filter_gui_thaw_rules(void);
00079 void filter_gui_freeze_filters(void);
00080 void filter_gui_thaw_filters(void);
00081 #endif /* USE_GTK1 */
00082 
00083 #ifdef USE_GTK2
00084 GtkWidget *filter_gui_create_dlg_filters(void);
00085 #define filter_gui_freeze_rules()
00086 #define filter_gui_thaw_rules()
00087 #define filter_gui_freeze_filters()
00088 #define filter_gui_thaw_filters()
00089 #endif
00090 
00091 #endif /* _gtk_filter_h_ */

Generated on Sun Feb 12 10:49:56 2006 for Gtk-Gnutella by doxygen 1.3.6