2005-07-14 Helge Hess <helge.hess@opengroupware.org>
+ * v0.9.102
+
+ * SOGoSharedMailAccount.m: create an object of class
+ SOGoSharedInboxFolder in case the lookup key is INBOX
+
+ * added SOGoSharedInboxFolder.m for inboxes of shared mail accounts
+ (which have a different location than standard inboxes and never
+ contain subfolders)
+
* SOGoSharedMailAccount.m: prepared code to support a shared INBOX
folder (v0.9.101)
SOGoMailAccount.m \
SOGoSharedMailAccount.m \
SOGoMailFolder.m \
+ SOGoSharedInboxFolder.m \
SOGoMailObject.m \
SOGoMailFolderDataSource.m \
SOGoTrashFolder.m \
--- /dev/null
+/*
+ Copyright (C) 2004-2005 SKYRIX Software AG
+
+ This file is part of OpenGroupware.org.
+
+ OGo is free software; you can redistribute it and/or modify it under
+ 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.
+
+ OGo is distributed in the hope that it will be useful, but WITHOUT ANY
+ 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
+ License along with OGo; see the file COPYING. If not, write to the
+ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.
+*/
+
+#ifndef __Mailer_SOGoSharedInboxFolder_H__
+#define __Mailer_SOGoSharedInboxFolder_H__
+
+#include <SoObjects/Mailer/SOGoMailFolder.h>
+
+/*
+ SOGoSharedInboxFolder
+ Parent object: the SOGoSharedMailAccount
+ Child objects: SOGoMailObject or SOGoMailFolder
+
+ The SOGoSharedInboxFolder is a special SOGoMailFolder for use as the INBOX
+ og SOGoSharedMailAccounts. This is necessary because the INBOX location in
+ the IMAP4 server is different for shared boxes (its the shared user folder,
+ not a mapped subfolder).
+*/
+
+@interface SOGoSharedInboxFolder : SOGoMailFolder
+{
+}
+
+@end
+
+#endif /* __Mailer_SOGoSharedInboxFolder_H__ */
--- /dev/null
+/*
+ Copyright (C) 2004-2005 SKYRIX Software AG
+
+ This file is part of OpenGroupware.org.
+
+ OGo is free software; you can redistribute it and/or modify it under
+ 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.
+
+ OGo is distributed in the hope that it will be useful, but WITHOUT ANY
+ 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
+ License along with OGo; see the file COPYING. If not, write to the
+ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.
+*/
+
+#include "SOGoSharedInboxFolder.h"
+#include "common.h"
+
+@implementation SOGoSharedInboxFolder
+
+/* listing available folders */
+
+- (NSArray *)toManyRelationshipKeys {
+ /*
+ A shared INBOX has no subfolders because those are already shown as
+ subfolders of the account.
+ */
+ return nil;
+}
+
+/* IMAP4 locator */
+
+- (NSURL *)imap4URL {
+ return [[self container] imap4URL];
+}
+
+@end /* SOGoSharedInboxFolder */
#include "common.h"
@interface SOGoMailAccount(UsedPrivates)
+
- (NSString *)imap4URLString;
+
+- (id)lookupFolder:(NSString *)_key ofClassNamed:(NSString *)_cn
+ inContext:(id)_cx;
+
@end
@implementation SOGoSharedMailAccount
The first INBOX is auto-assigned for the user by Cyrus, the second entry
is actually the INBOX of the mailbox itself (alienor.a).
*/
- [self logWithFormat:@"TODO: return shared Inbox folder ..."];
- return nil;
+ return [self lookupFolder:_key ofClassNamed:@"SOGoSharedInboxFolder"
+ inContext:_ctx];
}
- (id)lookupName:(NSString *)_key inContext:(id)_ctx acquire:(BOOL)_flag {
# Version file
-SUBMINOR_VERSION:=101
+SUBMINOR_VERSION:=102
# v0.9.96 requires libNGMime v4.5.223
# v0.9.91 requires libNGMime v4.5.222
"Add Folders" = "Owner";
};
};
+ SOGoSharedInboxFolder = {
+ superclass = "SOGoMailFolder";
+ };
SOGoTrashFolder = {
superclass = "SOGoMailFolder";