* Copyright 2011-2013, Haiku, Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _MAIL_FILTER_H
#define _MAIL_FILTER_H
#include "MailProtocol.h"
#include "MailSettings.h"
class BMailProtocol;
class BMailSettingsView;
class BMailFilter {
public:
BMailFilter(BMailProtocol& protocol,
const BMailAddOnSettings* settings);
virtual ~BMailFilter();
virtual BMailFilterAction HeaderFetched(entry_ref& ref, BFile& file,
BMessage& attributes);
virtual void BodyFetched(const entry_ref& ref, BFile& file,
BMessage& attributes);
virtual void MailboxSynchronized(status_t status);
virtual void MessageReadyToSend(const entry_ref& ref,
BFile& file);
virtual void MessageSent(const entry_ref& ref, BFile& file);
protected:
BMailProtocol& fMailProtocol;
const BMailAddOnSettings* fSettings;
};
extern "C" BMailSettingsView* instantiate_filter_settings_view(
const BMailAccountSettings& accountSettings,
const BMailAddOnSettings& settings);
extern "C" BString filter_name(const BMailAccountSettings& accountSettings,
const BMailAddOnSettings* settings);
extern "C" BMailFilter* instantiate_filter(BMailProtocol& protocol,
const BMailAddOnSettings& settings);
#endif