a0c50b31627a2e56e91190ac67e1d46ed71cd035
[modest] / src / modest-tny-account.h
1 /* Copyright (c) 2006, Nokia Corporation
2  * All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are
6  * met:
7  *
8  * * Redistributions of source code must retain the above copyright
9  *   notice, this list of conditions and the following disclaimer.
10  * * Redistributions in binary form must reproduce the above copyright
11  *   notice, this list of conditions and the following disclaimer in the
12  *   documentation and/or other materials provided with the distribution.
13  * * Neither the name of the Nokia Corporation nor the names of its
14  *   contributors may be used to endorse or promote products derived from
15  *   this software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
18  * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
20  * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
21  * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
24  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
25  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
26  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28  */
29
30 /*
31  * TnyAccount Decorator
32  */
33
34 #ifndef __MODEST_TNY_ACCOUNT_H__
35 #define __MODEST_TNY_ACCOUNT_H__
36
37 #include <tny-account.h>
38 #include <tny-folder.h>
39 #include <modest-account-mgr.h>
40 #include <modest-local-folder-info.h>
41
42 G_BEGIN_DECLS
43
44 /**
45  * modest_tny_account_new_from_account:
46  * @account_mgr: a valid account mgr instance
47  * @account_name: the account name for which to create a corresponding tny account
48  * @type: the type of account to create (TNY_ACCOUNT_TYPE_STORE or TNY_ACCOUNT_TYPE_TRANSPORT)
49  * 
50  * get a tnyaccount corresponding to the server_accounts (store or transport) for this account.
51  * NOTE: this function does not set the camel session or the get/forget password functions
52  * 
53  * Returns: a new TnyAccount or NULL in case of error.
54  */
55 TnyAccount*  modest_tny_account_new_from_account (ModestAccountMgr *account_mgr,
56                                                   const gchar *account_name, TnyAccountType type);
57
58
59
60
61 /**
62  * modest_tny_account_get_special_folder:
63  * @self: a TnyAccount
64  * @special_type: the special folder to get
65  * 
66  * get the special (Inbox,Outbox,Sent,Draft etc.) folder for this account
67  * Note: currently, the implementation will always return a local folder for this.
68  * This can be changed later to return really account-specific special folders,
69  * such as (for example) server-side Sent/Junk mail for IMAP accounts 
70  * 
71  * Returns: the tny folder corresponding to this special folder, or NULL in case
72  * of error, or if the special folder does not exist for this account
73  */
74 TnyFolder*    modest_tny_account_get_special_folder   (TnyAccount *self,
75                                                        TnyFolderType special_type);
76
77 G_END_DECLS
78
79 #endif /* __MODEST_TNY_ACCOUNT_H__*/