]> err.no Git - scalable-opengroupware.org/commitdiff
a bit of work on the mail stuff
authorhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Wed, 8 Sep 2004 14:58:08 +0000 (14:58 +0000)
committerhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Wed, 8 Sep 2004 14:58:08 +0000 (14:58 +0000)
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@298 d1b88da0-ebda-0310-925b-ed51d893ca5b

14 files changed:
SOGo/SoObjects/Mailer/ChangeLog
SOGo/SoObjects/Mailer/GNUmakefile
SOGo/SoObjects/Mailer/SOGoMailAccount.h [new file with mode: 0644]
SOGo/SoObjects/Mailer/SOGoMailAccount.m [new file with mode: 0644]
SOGo/SoObjects/Mailer/SOGoMailAccounts.h [new file with mode: 0644]
SOGo/SoObjects/Mailer/SOGoMailAccounts.m [new file with mode: 0644]
SOGo/SoObjects/Mailer/SOGoMailFolder.h
SOGo/SoObjects/Mailer/SOGoMailFolder.m
SOGo/SoObjects/Mailer/SOGoMailObject.h
SOGo/SoObjects/Mailer/Version
SOGo/SoObjects/Mailer/product.plist
SOGo/SoObjects/SOGo/ChangeLog
SOGo/SoObjects/SOGo/SOGoUserFolder.m
SOGo/SoObjects/SOGo/Version

index 88155401786dfb46e9bd1561f8d0e0bf55b8706e..e7ca1869f595a7d6d9dc6fa54b005af8c28b950f 100644 (file)
@@ -1,3 +1,7 @@
+2004-09-08  Helge Hess  <helge.hess@skyrix.com>
+
+       * added missing account objects (v0.9.2)
+
 2004-08-26  Marcus Mueller  <znek@mulle-kybernetik.com>
 
        * ChangeLog: created
index 905de409af4455e6e8abaa44e1fe70c38a5b0268..5dcbc0583efdffe7523df0907b52d168f67d69b7 100644 (file)
@@ -8,15 +8,17 @@ BUNDLE_INSTALL_DIR = $(GNUSTEP_USER_ROOT)/Library/SOGo
 
 Mailer_PRINCIPAL_CLASS = SOGoMailerProduct
 
-Mailer_OBJC_FILES =                    \
-       Product.m                       \
-                                       \
-       SOGoMailObject.m                \
-       SOGoMailFolder.m                \
+Mailer_OBJC_FILES += \
+       Product.m               \
+                               \
+       SOGoMailAccounts.m      \
+       SOGoMailAccount.m       \
+       SOGoMailFolder.m        \
+       SOGoMailObject.m        \
 
-Mailer_RESOURCE_FILES +=               \
-       Version                         \
-       product.plist                   \
+Mailer_RESOURCE_FILES += \
+       Version         \
+       product.plist   \
 
 -include GNUmakefile.preamble
 include $(GNUSTEP_MAKEFILES)/bundle.make
diff --git a/SOGo/SoObjects/Mailer/SOGoMailAccount.h b/SOGo/SoObjects/Mailer/SOGoMailAccount.h
new file mode 100644 (file)
index 0000000..b889536
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+  Copyright (C) 2004 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.
+*/
+// $Id: SOGoMailAccount.h 274 2004-08-26 13:10:49Z znek $
+
+#ifndef __Mailer_SOGoMailAccount_H__
+#define __Mailer_SOGoMailAccount_H__
+
+#include <SOGo/SOGoObject.h>
+
+/*
+  SOGoMailAccount
+    Parent object: SOGoMailAccounts
+    Child objects: SOGoMailFolder
+  
+  The SOGoMailAccount represents a single IMAP4 mail account (host, login,
+  password, etc)
+*/
+
+@class NSString, NSArray, NSCalendarDate, NSException;
+
+@interface SOGoMailAccount : SOGoObject
+{
+}
+
+@end
+
+#endif /* __Mailer_SOGoMailAccount_H__ */
diff --git a/SOGo/SoObjects/Mailer/SOGoMailAccount.m b/SOGo/SoObjects/Mailer/SOGoMailAccount.m
new file mode 100644 (file)
index 0000000..92babab
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+  Copyright (C) 2004 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.
+*/
+// $Id: SOGoMailAccount.m 274 2004-08-26 13:10:49Z znek $
+
+#include "SOGoMailAccount.h"
+#include "common.h"
+
+@implementation SOGoMailAccount
+
+@end /* SOGoMailAccount */
diff --git a/SOGo/SoObjects/Mailer/SOGoMailAccounts.h b/SOGo/SoObjects/Mailer/SOGoMailAccounts.h
new file mode 100644 (file)
index 0000000..e862475
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+  Copyright (C) 2004 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.
+*/
+// $Id: SOGoMailAccounts.h 274 2004-08-26 13:10:49Z znek $
+
+#ifndef __Mailer_SOGoMailAccounts_H__
+#define __Mailer_SOGoMailAccounts_H__
+
+#include <SOGo/SOGoObject.h>
+
+/*
+  SOGoMailAccounts
+    Parent object: SOGoUserFolder
+    Child objects: SOGoMailAccount
+    
+  The SOGoMailAccounts folder contains the mail accounts which are associated
+  with a user.
+*/
+
+@class NSString, NSArray, NSCalendarDate, NSException;
+
+@interface SOGoMailAccounts : SOGoObject
+{
+}
+
+@end
+
+#endif /* __Mailer_SOGoMailAccounts_H__ */
diff --git a/SOGo/SoObjects/Mailer/SOGoMailAccounts.m b/SOGo/SoObjects/Mailer/SOGoMailAccounts.m
new file mode 100644 (file)
index 0000000..ae903cf
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+  Copyright (C) 2004 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.
+*/
+// $Id: SOGoMailAccounts.m 274 2004-08-26 13:10:49Z znek $
+
+#include "SOGoMailAccounts.h"
+#include "common.h"
+
+@implementation SOGoMailAccounts
+
+@end /* SOGoMailAccounts */
index f007dc169f0e4b96357b28f4b5b5625d4e44f694..f93bcb74e2020d5c81cdc11c433ef5e491306b60 100644 (file)
 #ifndef __Mailer_SOGoMailFolder_H__
 #define __Mailer_SOGoMailFolder_H__
 
-#include <SOGo/SOGoFolder.h>
+#include <SOGo/SOGoObject.h>
 
 /*
   SOGoMailFolder
-    Parent object: the SOGoUserFolder
-    Child objects: SOGoMailObject
+    Parent object: the SOGoMailAccount
+    Child objects: SOGoMailObject or SOGoMailFolder
     
-  The SOGoMailFolder maps to an OCS folder of type 'mail', that
-  is, a content folder containing ??? files (and a proper quicktable).
+  The SOGoMailFolder maps to an IMAP4 folder from NGImap4.
 */
 
 @class NSString, NSArray, NSCalendarDate, NSException;
-@class OCSFolder;
 
-@interface SOGoMailFolder : SOGoFolder
+@interface SOGoMailFolder : SOGoObject
 {
 }
 
index d940999da50aa6a1b4f8e297d9ca3f4286704661..772c873ff493f0cc834d5c27e51beb0c00f2abe9 100644 (file)
 
 @implementation SOGoMailFolder
 
-/* GET */
-
-- (id)GETAction:(WOContext *)_ctx {
-  // TODO: I guess this should really be done by SOPE (redirect to
-  //       default method)
-  NSString *uri;
-
-  uri = [[_ctx request] uri];
-  if (![uri hasSuffix:@"/"]) uri = [uri stringByAppendingString:@"/"];
-  uri = [uri stringByAppendingString:@"view"];
-  
-  return [self redirectToLocation:uri];
-}
-
 @end /* SOGoMailFolder */
index 8e2a3f12c40ac2ea241da5314b153d83f746eb49..351017e2089023abed12449b8b8551624b2c8e6f 100644 (file)
 
 /*
   SOGoMailObject
+    Parent object: the SOGoMailFolder
+    Child objects: none (maybe SOGoMailAttachments?)
   
-  Represents a single mail.
+  Represents a single mail as retrieved using NGImap4.
 */
 
 @class NSString, NSArray, NSException;
 
-@interface SOGoMailObject : SOGoContentObject
+@interface SOGoMailObject : SOGoObject
 {
 }
 
index 9385a64dc7a2742a1c9d7548d97774a250f7307f..1bf86739af6e070f2b3946837285f951d5e6a275 100644 (file)
@@ -1,3 +1,3 @@
 # $Id$
 
-SUBMINOR_VERSION:=0
+SUBMINOR_VERSION:=2
index d7b555227553351bb79a4faf8780687d123e47a2..9e7adb65893e7b13de8ac1be6f9bee1b9f6d7284 100644 (file)
@@ -8,11 +8,20 @@
   };
   
   classes = {
+    SOGoMailAccounts = {
+      superclass    = "SOGoObject";
+    };
+
+    SOGoMailAccount = {
+      superclass    = "SOGoObject";
+    };
+
     SOGoMailFolder = {
-      superclass    = "SOGoFolder";
+      superclass    = "SOGoObject";
     };
+
     SOGoMailObject = {
-      superclass    = "SOGoContentObject";
+      superclass    = "SOGoObject";
     };
   };
 }
index 3f389e2f355fa823a86d5976c55f81ccdb0d5a7c..ac8a27930d39b203d5143f09f0b72f67453c78a2 100644 (file)
@@ -1,3 +1,7 @@
+2004-09-08  Helge Hess  <helge.hess@skyrix.com>
+
+       * SOGoUserFolder.m: map "Mail" key to SOGoMailAccounts object (v0.9.15)
+
 2004-09-01  Marcus Mueller  <znek@mulle-kybernetik.com>
 
        * v0.9.14
index 314c4bc01066a7f568ad2b4f0b767201e1931a8d..9bc1a24a6894bba4c3a4b81244108b6ea9e658ba 100644 (file)
   return [folder autorelease];
 }
 
+- (id)mailAccountsFolder:(NSString *)_key inContext:(id)_ctx {
+  static Class fldClass = Nil;
+  id folder;
+  
+  if (fldClass == Nil)
+    fldClass = NSClassFromString(@"SOGoMailAccounts");
+  if (fldClass == Nil) {
+    [self logWithFormat:@"ERROR: missing SOGoMailAccounts class!"];
+    return nil;
+  }
+  
+  folder = [[fldClass alloc] initWithName:_key inContainer:self];
+  return [folder autorelease];
+}
+
 - (id)lookupName:(NSString *)_key inContext:(id)_ctx acquire:(BOOL)_flag {
   id obj;
   
   
   if ([_key isEqualToString:@"Groups"])
     return [self groupsFolder:_key inContext:_ctx];
+
+  if ([_key isEqualToString:@"Mail"])
+    return [self mailAccountsFolder:_key inContext:_ctx];
   
   /* return 404 to stop acquisition */
   return [NSException exceptionWithHTTPStatus:404 /* Not Found */];
index 72b1d704312af20765a542b3c7585bef2f59d22f..ecb7d82673b5731acae4ef259ebf979dd4146d6b 100644 (file)
@@ -1,3 +1,3 @@
 # $Id: Version 170 2004-08-11 10:45:40Z helge $
 
-SUBMINOR_VERSION:=14
+SUBMINOR_VERSION:=15