claws-mail/src/filtering.h
Christoph Hohmann c70a9c4ee5 * src/filtering.[ch]
* src/inc.c
        do filtering stuff after all messages have been received
          1. drop all messages to .processing
          2. scan processing folder for messages
          3. filter messages or move to inbox
        this will also find old messages left in processing after
        a crash or something like that and we get a real msginfo
        from folder->get_msg_list and do not have to create our
        own in filter_message
* src/matcher_parser_parse.y
        remove MIX/MAX warning (reordered includes)
2002-02-25 16:56:22 +00:00

80 lines
2.5 KiB
C

/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
* Copyright (C) 1999-2002 Hiroyuki Yamamoto & The Sylpheed Claws Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef FILTER_NEW_H
#define FILTER_NEW_H
#include <glib.h>
#include "matcher.h"
#include "procmsg.h"
struct _FilteringAction {
gint type;
gint account_id;
gchar *destination;
gchar *unesc_destination; /* for exec cmd line */
gint labelcolor;
};
typedef struct _FilteringAction FilteringAction;
struct _FilteringProp {
MatcherList * matchers;
FilteringAction * action;
};
typedef struct _FilteringProp FilteringProp;
/* extern GSList * prefs_filtering; */
FilteringAction * filteringaction_new(int type, int account_id,
gchar *destination,
gint labelcolor);
void filteringaction_free(FilteringAction *action);
FilteringAction * filteringaction_parse(gchar **str);
FilteringProp * filteringprop_new(MatcherList *matchers,
FilteringAction *action);
void filteringprop_free(FilteringProp *prop);
FilteringProp * filteringprop_parse(gchar **str);
void filter_msginfo_move_or_delete(GSList *filtering_list, MsgInfo *info,
GHashTable *folder_table);
void filter_message_by_msginfo_with_inbox(GSList *flist, MsgInfo *info,
GHashTable *ftable,
FolderItem *def_inbox);
void filter_message_by_msginfo(GSList *flist, MsgInfo *info,
GHashTable *ftable);
void filter_message(GSList *filtering_list, FolderItem *inbox,
gint msgnum, GHashTable *folder_table);
gchar * filteringaction_to_string(gchar *dest, gint destlen, FilteringAction *action);
void prefs_filtering_write_config(void);
void prefs_filtering_read_config(void);
gchar * filteringprop_to_string(FilteringProp *prop);
void prefs_filtering_clear();
void prefs_filtering_free(GSList *prefs_filtering);
extern GSList * global_processing;
#endif