]> err.no Git - scalable-opengroupware.org/commitdiff
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@45 d1b88da0-ebda-0310-925b-ed51d8...
authorhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Wed, 16 Jun 2004 23:47:23 +0000 (23:47 +0000)
committerhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Wed, 16 Jun 2004 23:47:23 +0000 (23:47 +0000)
dbd/DHostView.wox
dbd/DSoDatabaseManager.h
dbd/DSoDatabaseManager.m
dbd/GNUmakefile
dbd/README
dbd/product.plist

index 474210d1ec1bda2b9f1140395094743737194122..984fef03f781c83b059fa3247231970f4e814478 100644 (file)
@@ -8,12 +8,12 @@
 Host: <var:string value="clientObject.hostName"/><br />
 Port: <var:string value="clientObject.port"/><br />
 
-<h4>Databases</h4>
+<h4><a href="Databases/">Databases</a></h4>
 <var:foreach list="databaseNames" item="item">
   <li><a var:href="dbLink"><var:string value="item" /></a></li>
 </var:foreach>
 
-<h4>Users</h4>
+<h4><a href="Users/">Users</a></h4>
 <var:foreach list="userNames" item="item">
   <li><a var:href="userLink"><var:string value="item" /></a></li>
 </var:foreach>
index 188a95fb0e60716d894ff4ceccaf23a5c5a13121..3aadcdd3d22002350720ec4cb4f80780f52789be 100644 (file)
 
 - (id)initWithContainer:(DSoHost *)_container;
 
+/* accessors */
+
+- (DSoHost *)host;
+
 @end
 
 #endif /* __dbd_DSoDatabaseManager_H__ */
index abd51d90cf2f703d00b0e9794b2bca39681cd3a6..ca7895585de8e3cd5d69f8c4f25af7dfef1f8c84 100644 (file)
@@ -21,6 +21,7 @@
 // $Id$
 
 #include "DSoDatabaseManager.h"
+#include "DSoDatabase.h"
 #include "DSoHost.h"
 #include "common.h"
 
   [super dealloc];
 }
 
+/* accessors */
+
+- (DSoHost *)host {
+  return self->host;
+}
+
 /* name lookup */
 
 - (id)lookupName:(NSString *)_key inContext:(id)_ctx acquire:(BOOL)_flag {
   id obj;
   
-  if ((obj = [super lookupName:_key inContext:_ctx acquire:_flag]))
+  if ((obj = [super lookupName:_key inContext:_ctx acquire:NO]))
     return obj;
-
-  // TODO: create DSoDatabase object
   
-  return nil;
+  // TODO: create DSoDatabase object
+  obj = [[DSoDatabase alloc] initWithHostName:[self->host hostName]
+                            port:[self->host port]
+                            databaseName:_key];
+  return [obj autorelease];
 }
 
 @end /* DSoDatabaseManager */
index 3be382c5f62a176d4a76bdb8e9d73a05573ec003..a47d4d8a1480c6a21cff01bfe56446ec8273d552 100644 (file)
@@ -21,15 +21,17 @@ dbd_OBJC_FILES += \
        DSoField.m              \
        \
        DHostView.m             \
+       DDatabaseManager.m      \
 
 dbd_RESOURCE_FILES += \
-       Version         \
-       product.plist   \
+       Version                 \
+       product.plist           \
        \
-       Frame.wox       \
-       MainPage.wox    \
+       Frame.wox               \
+       MainPage.wox            \
        \
-       DHostView.wox   \
+       DHostView.wox           \
+       DDatabaseManager.wox    \
 
 dbd_WEBSERVER_RESOURCE_FILES +=
 
index 6bca429cede8f012eb06539f3af3b30d0dadd576..4e85a13926c1dd423cd9b0a712b82b22d50a660f 100644 (file)
@@ -72,3 +72,12 @@ Tricks used
   - in theory SOPE should make a redirect to the default method, not sure why
     this isn't happening
   - ZideStore always makes such a redirect?
+
+- acquisition
+  - if you override -lookupName:inContext:acquire:, you should probably
+    disable acquire in super calls! - otherwise all name processing code 
+    coming after the [super lookup..] is overridden by objects in the 
+    acquisition mechanism
+  - note that acquisition is also done on the traversal path! if the lookup
+    returns nil on an URL path being traversed, URL acquisition will occure
+    (except on non-acquisition protocols like WebDAV)
index 4539405b487abb91480b7e3f51fbf6a1d6708221..3ff18ae94c700bc349f1cbe390f7b4457074ee45 100644 (file)
     DSoDatabaseManager = {
       superclass    = "DSoObject";
       methods = {
+        "index" = { 
+          protectedBy = "View";
+          pageName    = "DDatabaseManager"; 
+        };
       };
     };
     DSoUser = {