2006-06-15 21:34:10 +02:00
|
|
|
/*
|
2014-03-04 04:07:24 +01:00
|
|
|
Copyright (C) 2009-2014 Inverse inc.
|
2006-06-15 21:34:10 +02:00
|
|
|
Copyright (C) 2004-2005 SKYRIX Software AG
|
|
|
|
|
2009-10-09 23:01:54 +02:00
|
|
|
This file is part of SOGo.
|
2006-06-15 21:34:10 +02:00
|
|
|
|
2009-10-09 23:01:54 +02:00
|
|
|
SOGo is free software; you can redistribute it and/or modify it under
|
2006-06-15 21:34:10 +02:00
|
|
|
the terms of the GNU Lesser General Public License as published by the
|
|
|
|
Free Software Foundation; either version 2, or (at your option) any
|
|
|
|
later version.
|
|
|
|
|
2009-10-09 23:01:54 +02:00
|
|
|
SOGo is distributed in the hope that it will be useful, but WITHOUT ANY
|
2006-06-15 21:34:10 +02:00
|
|
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
|
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
|
|
|
License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
2009-10-09 23:01:54 +02:00
|
|
|
License along with SOGo; see the file COPYING. If not, write to the
|
2006-06-15 21:34:10 +02:00
|
|
|
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|
|
|
02111-1307, USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __Mailer_SOGoMailAccount_H__
|
|
|
|
#define __Mailer_SOGoMailAccount_H__
|
|
|
|
|
2010-01-05 23:34:35 +01:00
|
|
|
#import <Mailer/SOGoMailBaseObject.h>
|
2006-06-15 21:34:10 +02:00
|
|
|
|
|
|
|
/*
|
|
|
|
SOGoMailAccount
|
|
|
|
Parent object: SOGoMailAccounts
|
|
|
|
Child objects: SOGoMailFolder
|
|
|
|
|
|
|
|
The SOGoMailAccount represents a single IMAP4 mail account (host, login,
|
|
|
|
password, etc)
|
|
|
|
*/
|
|
|
|
|
2007-08-15 22:22:24 +02:00
|
|
|
@class NSArray;
|
2010-09-30 20:05:14 +02:00
|
|
|
@class NSMutableArray;
|
2007-08-15 22:22:24 +02:00
|
|
|
@class NSString;
|
2007-11-01 13:48:19 +01:00
|
|
|
|
2010-01-05 23:34:35 +01:00
|
|
|
@class SOGoMailFolder;
|
|
|
|
@class SOGoDraftsFolder;
|
|
|
|
@class SOGoSentFolder;
|
|
|
|
@class SOGoTrashFolder;
|
2016-01-22 16:30:27 +01:00
|
|
|
@class SOGoJunkFolder;
|
2006-06-15 21:34:10 +02:00
|
|
|
|
2009-11-29 05:19:32 +01:00
|
|
|
typedef enum {
|
|
|
|
undefined = -1,
|
|
|
|
rfc2086 = 0,
|
|
|
|
rfc4314
|
|
|
|
} SOGoIMAPAclStyle;
|
|
|
|
|
2006-06-15 21:34:10 +02:00
|
|
|
@interface SOGoMailAccount : SOGoMailBaseObject
|
|
|
|
{
|
|
|
|
SOGoMailFolder *inboxFolder;
|
2007-08-15 22:22:24 +02:00
|
|
|
SOGoDraftsFolder *draftsFolder;
|
2007-11-01 13:48:19 +01:00
|
|
|
SOGoSentFolder *sentFolder;
|
|
|
|
SOGoTrashFolder *trashFolder;
|
2016-01-22 16:30:27 +01:00
|
|
|
SOGoJunkFolder *junkFolder;
|
2009-11-29 05:19:32 +01:00
|
|
|
SOGoIMAPAclStyle imapAclStyle;
|
2010-09-30 20:05:14 +02:00
|
|
|
NSMutableArray *identities;
|
2011-04-21 18:02:31 +02:00
|
|
|
NSString *otherUsersFolderName;
|
|
|
|
NSString *sharedFoldersName;
|
2006-06-15 21:34:10 +02:00
|
|
|
}
|
|
|
|
|
2009-11-29 05:19:32 +01:00
|
|
|
- (SOGoIMAPAclStyle) imapAclStyle;
|
|
|
|
- (BOOL) imapAclConformsToIMAPExt;
|
|
|
|
|
2011-07-25 14:52:56 +02:00
|
|
|
/* capabilities */
|
|
|
|
- (BOOL) hasCapability: (NSString *) capability;
|
2008-02-01 17:28:53 +01:00
|
|
|
- (BOOL) supportsQuotas;
|
2011-07-25 14:55:44 +02:00
|
|
|
- (BOOL) supportsQResync;
|
2011-07-25 14:52:56 +02:00
|
|
|
|
2011-03-17 22:26:51 +01:00
|
|
|
- (id) getInboxQuota;
|
2009-10-09 23:01:54 +02:00
|
|
|
- (BOOL) updateFilters;
|
2014-03-04 04:07:24 +01:00
|
|
|
- (BOOL) updateFiltersWithUsername: (NSString *) theUsername
|
|
|
|
andPassword: (NSString *) thePassword;
|
2008-02-01 17:28:53 +01:00
|
|
|
|
2010-08-06 16:25:59 +02:00
|
|
|
- (NSArray *) identities;
|
|
|
|
- (NSString *) signature;
|
|
|
|
- (NSString *) encryption;
|
|
|
|
|
2006-06-15 21:34:10 +02:00
|
|
|
/* folder pathes */
|
2011-08-15 21:10:56 +02:00
|
|
|
- (NSArray *) toManyRelationshipKeysWithNamespaces: (BOOL) withNSs;
|
2006-06-15 21:34:10 +02:00
|
|
|
|
2007-08-15 22:22:24 +02:00
|
|
|
- (NSArray *) allFolderPaths;
|
2014-01-10 20:06:53 +01:00
|
|
|
- (NSArray *) allFoldersMetadata;
|
|
|
|
|
2014-05-27 20:44:57 +02:00
|
|
|
- (NSDictionary *) imapFolderGUIDs;
|
|
|
|
|
2007-08-15 22:22:24 +02:00
|
|
|
- (BOOL) isInDraftsFolder;
|
2006-06-15 21:34:10 +02:00
|
|
|
|
2016-02-26 20:59:54 +01:00
|
|
|
- (id) lookupNameByPaths: (NSArray *) _paths
|
|
|
|
inContext: (id)_ctx
|
|
|
|
acquire: (BOOL) _flag;
|
|
|
|
|
|
|
|
/* special folders */
|
2007-08-15 22:22:24 +02:00
|
|
|
- (NSString *) inboxFolderNameInContext: (id)_ctx;
|
|
|
|
- (NSString *) draftsFolderNameInContext: (id)_ctx;
|
|
|
|
- (NSString *) sentFolderNameInContext: (id)_ctx;
|
|
|
|
- (NSString *) trashFolderNameInContext: (id)_ctx;
|
2011-04-21 18:02:31 +02:00
|
|
|
- (NSString *) otherUsersFolderNameInContext: (id)_ctx;
|
|
|
|
- (NSString *) sharedFoldersNameInContext: (id)_ctx;
|
2016-01-22 16:30:27 +01:00
|
|
|
- (NSString *) junkFolderNameInContext: (id)_ctx;
|
2006-06-15 21:34:10 +02:00
|
|
|
|
2007-08-15 22:22:24 +02:00
|
|
|
- (SOGoMailFolder *) inboxFolderInContext: (id)_ctx;
|
|
|
|
- (SOGoDraftsFolder *) draftsFolderInContext: (id)_ctx;
|
2007-11-01 13:48:19 +01:00
|
|
|
- (SOGoSentFolder *) sentFolderInContext: (id)_ctx;
|
|
|
|
- (SOGoTrashFolder *) trashFolderInContext: (id)_ctx;
|
2016-01-22 16:30:27 +01:00
|
|
|
- (SOGoJunkFolder *) junkFolderInContext: (id)_ctx;
|
2006-06-15 21:34:10 +02:00
|
|
|
|
2010-01-06 14:45:55 +01:00
|
|
|
/* namespaces */
|
|
|
|
|
|
|
|
- (NSArray *) otherUsersFolderNamespaces;
|
|
|
|
- (NSArray *) sharedFolderNamespaces;
|
2007-05-25 23:20:31 +02:00
|
|
|
|
2010-09-30 20:05:14 +02:00
|
|
|
/* account delegation */
|
|
|
|
- (NSArray *) delegates;
|
|
|
|
- (void) addDelegates: (NSArray *) newDelegates;
|
|
|
|
- (void) removeDelegates: (NSArray *) oldDelegates;
|
|
|
|
|
2006-06-15 21:34:10 +02:00
|
|
|
@end
|
|
|
|
|
|
|
|
#endif /* __Mailer_SOGoMailAccount_H__ */
|