/* * Copyright 2012, Axel Dörfler, axeld@pinc-software.de. * Distributed under the terms of the MIT License. */ #ifndef MATCH_HEADER_SETTINGS_H #define MATCH_HEADER_SETTINGS_H #include enum rule_action { ACTION_MOVE_TO, ACTION_SET_FLAGS_TO, ACTION_DELETE_MESSAGE, ACTION_REPLY_WITH, ACTION_SET_AS_READ }; class MatchHeaderSettings { public: MatchHeaderSettings(const BMailAddOnSettings& settings) : fSettings(settings) { } rule_action Action() const { return (rule_action)fSettings.GetInt32("action", -1); } const char* Attribute() const { return fSettings.FindString("attribute"); } const char* Expression() const { return fSettings.FindString("regex"); } const char* MoveTarget() const { return fSettings.FindString("move target"); } const char* SetFlagsTo() const { return fSettings.FindString("set flags"); } const int32 ReplyAccount() const { return fSettings.GetInt32("account", -1); } private: const BMailAddOnSettings& fSettings; }; #endif // MATCH_HEADER_SETTINGS_H