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