1/*
2 * Copyright 2012, Axel D��rfler, axeld@pinc-software.de.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef MATCH_HEADER_SETTINGS_H
6#define MATCH_HEADER_SETTINGS_H
7
8
9#include <MailSettings.h>
10
11
12enum rule_action {
13	ACTION_MOVE_TO,
14	ACTION_SET_FLAGS_TO,
15	ACTION_DELETE_MESSAGE,
16	ACTION_REPLY_WITH,
17	ACTION_SET_AS_READ
18};
19
20
21class MatchHeaderSettings {
22public:
23	MatchHeaderSettings(const BMailAddOnSettings& settings)
24		:
25		fSettings(settings)
26	{
27	}
28
29	rule_action Action() const
30	{
31		return (rule_action)fSettings.GetInt32("action", -1);
32	}
33
34	const char* Attribute() const
35	{
36		return fSettings.FindString("attribute");
37	}
38
39	const char* Expression() const
40	{
41		return fSettings.FindString("regex");
42	}
43
44	const char* MoveTarget() const
45	{
46		return fSettings.FindString("move target");
47	}
48
49	const char* SetFlagsTo() const
50	{
51		return fSettings.FindString("set flags");
52	}
53
54	const int32 ReplyAccount() const
55	{
56		return fSettings.GetInt32("account", -1);
57	}
58
59private:
60			const BMailAddOnSettings& fSettings;
61};
62
63
64#endif	// MATCH_HEADER_SETTINGS_H
65