]> err.no Git - scalable-opengroupware.org/commitdiff
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@97 d1b88da0-ebda-0310-925b-ed51d8...
authorhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Wed, 30 Jun 2004 08:47:12 +0000 (08:47 +0000)
committerhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Wed, 30 Jun 2004 08:47:12 +0000 (08:47 +0000)
SOGo/SoObjects/SOGo/GNUmakefile
SOGo/SoObjects/SOGo/GNUmakefile.preamble [new file with mode: 0644]
SOGo/SoObjects/SOGo/SOGoFolder.h [new file with mode: 0644]
SOGo/SoObjects/SOGo/SOGoFolder.m [new file with mode: 0644]
SOGo/SoObjects/SOGo/SOGoObject.h
SOGo/SoObjects/SOGo/SOGoObject.m

index 288c35053f808704b2883762b9a9e73bc7155326..5952a4ea21f960a4ca25a1e9555c779d3d7b8d6b 100644 (file)
@@ -11,10 +11,12 @@ libSOGo_HEADER_FILES_DIR         = .
 libSOGo_HEADER_FILES_INSTALL_DIR = /SOGo
 
 libSOGo_HEADER_FILES = \
-       SOGoObject.h
+       SOGoObject.h    \
+       SOGoFolder.h    \
 
 libSOGo_OBJC_FILES = \
-       SOGoObject.m
+       SOGoObject.m    \
+       SOGoFolder.m    \
 
 -include GNUmakefile.preamble
 include $(GNUSTEP_MAKEFILES)/library.make
diff --git a/SOGo/SoObjects/SOGo/GNUmakefile.preamble b/SOGo/SoObjects/SOGo/GNUmakefile.preamble
new file mode 100644 (file)
index 0000000..b782215
--- /dev/null
@@ -0,0 +1,3 @@
+# $Id$
+
+ADDITIONAL_INCLUDE_DIRS += -I..
diff --git a/SOGo/SoObjects/SOGo/SOGoFolder.h b/SOGo/SoObjects/SOGo/SOGoFolder.h
new file mode 100644 (file)
index 0000000..26b7d1f
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+  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$
+
+#ifndef __SOGo_SOGoFolder_H__
+#define __SOGo_SOGoFolder_H__
+
+#include <SOGo/SOGoObject.h>
+
+@interface SOGoFolder : SOGoObject
+{
+}
+
+@end
+
+#endif /* __SOGo_SOGoFolder_H__ */
diff --git a/SOGo/SoObjects/SOGo/SOGoFolder.m b/SOGo/SoObjects/SOGo/SOGoFolder.m
new file mode 100644 (file)
index 0000000..c282fbe
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+  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$
+
+#include "SOGoFolder.h"
+#include "common.h"
+
+@implementation SOGoFolder
+
+- (void)dealloc {
+  [super dealloc];
+}
+
+/* accessors */
+
+- (BOOL)isFolderish {
+  return YES;
+}
+
+@end /* SOGoFolder */
index b35f987a870b8e8d0d3a6fdb7f42021a5fed8e41..26abe6cde15e6485e7c1e8a4381be9523a5e175b 100644 (file)
 
 @interface SOGoObject : NSObject
 {
+  NSString *nameInContainer;
+  id       container;
 }
 
+- (id)initWithName:(NSString *)_name inContainer:(id)_container;
+
+/* accessors */
+
+- (NSString *)nameInContainer;
+- (id)container;
+
 @end
 
 #endif /* __SoObjects_SOGoObject_H__ */
index 364804002587d0cfb59e22d6aafbf9d578065c97..d79d02de07087bd312584a316853e11f83a0b53c 100644 (file)
 
 @implementation SOGoObject
 
+- (BOOL)doesRetainContainer {
+  return YES;
+}
+
+- (id)initWithName:(NSString *)_name inContainer:(id)_container {
+  if ((self = [super init])) {
+    self->nameInContainer = [_name copy];
+    self->container = 
+      [self doesRetainContainer] ? [_container retain] : _container;
+  }
+  return self;
+}
+- (id)init {
+  return [self initWithName:nil inContainer:nil];
+}
+
 - (void)dealloc {
+  if ([self doesRetainContainer])
+    [self->container release];
+  [self->nameInContainer release];
   [super dealloc];
 }
 
+/* accessors */
+
+- (NSString *)nameInContainer {
+  return self->nameInContainer;
+}
+- (id)container {
+  return self->container;
+}
+
 @end /* SOGoObject */