1146357b5SAxel Dörfler /* 2146357b5SAxel Dörfler * Copyright 2012, Haiku Inc. All Rights Reserved. 3146357b5SAxel Dörfler * Distributed under the terms of the MIT License. 4fa84ff9eSNathan Whitehorn */ 5146357b5SAxel Dörfler #ifndef _MAIL_DAEMON_H 6146357b5SAxel Dörfler #define _MAIL_DAEMON_H 7fa84ff9eSNathan Whitehorn 81af4fa4bSClemens Zeidler 99967dfd9SClemens Zeidler #include <E-mail.h> 10146357b5SAxel Dörfler #include <Messenger.h> 11e039afe8SFrançois Revol 12e039afe8SFrançois Revol 13*bcf60bbbSAxel Dörfler enum { 14*bcf60bbbSAxel Dörfler B_MAIL_BODY_FETCHED = '_Mbf' 15*bcf60bbbSAxel Dörfler }; 16*bcf60bbbSAxel Dörfler 17*bcf60bbbSAxel Dörfler 18fa84ff9eSNathan Whitehorn class BMailDaemon { 19fa84ff9eSNathan Whitehorn public: 20146357b5SAxel Dörfler BMailDaemon(); 21146357b5SAxel Dörfler virtual ~BMailDaemon(); 22146357b5SAxel Dörfler 23146357b5SAxel Dörfler bool IsRunning(); 24146357b5SAxel Dörfler 25146357b5SAxel Dörfler status_t CheckMail(int32 accountID = -1); 26146357b5SAxel Dörfler status_t CheckAndSendQueuedMail(int32 accountID = -1); 27146357b5SAxel Dörfler 28146357b5SAxel Dörfler status_t SendQueuedMail(); 29146357b5SAxel Dörfler 30146357b5SAxel Dörfler int32 CountNewMessages( 311af4fa4bSClemens Zeidler bool waitForFetchCompletion = false); 32146357b5SAxel Dörfler status_t MarkAsRead(int32 account, const entry_ref& ref, 339967dfd9SClemens Zeidler read_flags flag = B_READ); 34146357b5SAxel Dörfler status_t FetchBody(const entry_ref& ref, 35b8d2bbd6SClemens Zeidler BMessenger* listener = NULL); 36146357b5SAxel Dörfler 37146357b5SAxel Dörfler status_t Quit(); 38146357b5SAxel Dörfler status_t Launch(); 39146357b5SAxel Dörfler 40146357b5SAxel Dörfler private: 41146357b5SAxel Dörfler BMessenger fDaemon; 42fa84ff9eSNathan Whitehorn }; 43fa84ff9eSNathan Whitehorn 44146357b5SAxel Dörfler 45146357b5SAxel Dörfler #endif // _MAIL_DAEMON_H 46