xref: /haiku/headers/os/mail/MailDaemon.h (revision bcf60bbb83484e8a2715daae55bce55d60457853)
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