]> err.no Git - sope/commitdiff
fixed API
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Sun, 12 Mar 2006 20:46:56 +0000 (20:46 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Sun, 12 Mar 2006 20:46:56 +0000 (20:46 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@1225 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-appserver/NGObjWeb/ChangeLog
sope-appserver/NGObjWeb/SoObjects/SoProductLoader.h
sope-appserver/NGObjWeb/SoObjects/SoProductLoader.m
sope-appserver/NGObjWeb/Version

index 3d5a8fa4e22464cda739ba9f8e0f36f03f4c7a3a..d9d73f1eb1c50943af73b2517d7287ef498b5214 100644 (file)
@@ -1,5 +1,7 @@
 2006-03-12  Helge Hess  <helge.hess@opengroupware.org>
 
+       * SoObjects/SoProductLoader.m: quickfix to API (v4.5.222)
+
        * SoObjects: added new class SoProductLoader which can be used to
          load SoProduct bundles for a given application (v4.5.221)
 
index c0a3eea7c91126a1fb19752afac540cd0915691c..e32c389ce735081f6709a271f4928edf341851e3 100644 (file)
 @interface SoProductLoader : NSObject
 {
   NSString *productDirectoryName;
+  NSString *fhsDirectoryName;
   NSArray  *searchPathes;
 }
 
-- (id)initWithAppName:(NSString *)_appName
-  majorVersion:(NSString *)_mav minorVersion:(NSString *)_miv;
+- (id)initWithAppName:(NSString *)_appName fhsName:(NSString *)_fhs
+  majorVersion:(unsigned int)_mav minorVersion:(unsigned int)_miv;
 
 /* operations */
 
index 77b04c3c278cebb31077888df86994be6f18bdb6..4a42239e270f9bf84926b24d842943d5ee03a662 100644 (file)
 
 @implementation SoProductLoader
 
-- (id)initWithAppName:(NSString *)_appName
-  majorVersion:(NSString *)_mav minorVersion:(NSString *)_miv
+- (id)initWithAppName:(NSString *)_appName fhsName:(NSString *)_fhsName
+  majorVersion:(unsigned int)_mav minorVersion:(unsigned int)_miv
 {
   if ((self = [super init]) != nil) {
-    if (![_appName isNotEmpty]) {
+    if (![_appName isNotEmpty] && ![_fhsName isNotEmpty]) {
       [self release];
       return nil;
     }
     
-    self->productDirectoryName =
-      [[NSString alloc] initWithFormat:@"%@-%i.%i", _appName, _mav, _miv];
+    if ([_appName isNotEmpty]) {
+      self->productDirectoryName =
+       [[NSString alloc] initWithFormat:@"%@-%i.%i", _appName, _mav, _miv];
+    }
+    if ([_fhsName isNotEmpty]) {
+      self->fhsDirectoryName =
+       [[NSString alloc] initWithFormat:@"%@-%i.%i", _fhsName, _mav, _miv];
+    }
   }
   return self;
 }
 
 - (void)dealloc {
   [self->productDirectoryName release];
+  [self->fhsDirectoryName     release];
   [self->searchPathes         release];
   [super dealloc];
 }
@@ -58,7 +65,7 @@
     NSEnumerator *e;
       
     e = [tmp objectEnumerator];
-    while ((tmp = [e nextObject])) {
+    while ((tmp = [e nextObject]) != nil) {
       tmp = [tmp stringByAppendingPathComponent:self->productDirectoryName];
       if (![ma containsObject:tmp])
         [ma addObject:tmp];
 - (void)_addFHSPathesToArray:(NSMutableArray *)ma {
   NSString *s;
   
-  s = [self->productDirectoryName lowercaseString];
+  s = self->fhsDirectoryName;
   [ma addObject:[@"/usr/local/lib/" stringByAppendingString:s]];
   [ma addObject:[@"/usr/lib/"       stringByAppendingString:s]];
 }
 
 - (NSArray *)productSearchPathes {
   NSMutableArray *ma;
-  BOOL hasGNUstepEnv;
   
   if (self->searchPathes != nil)
     return self->searchPathes;
-
-  hasGNUstepEnv = [[[[NSProcessInfo processInfo] environment]
-                    objectForKey:@"GNUSTEP_USER_ROOT"] length] > 0 ? YES : NO;
-  
-  ma  = [NSMutableArray arrayWithCapacity:6];
   
-  if (hasGNUstepEnv)
-    [self _addGNUstepSearchPathesToArray:ma];
+  if ([self->productDirectoryName isNotEmpty]) {
+    BOOL hasGNUstepEnv;
+    
+    hasGNUstepEnv = [[[[NSProcessInfo processInfo] environment]
+                    objectForKey:@"GNUSTEP_USER_ROOT"] isNotEmpty];
+    
+    ma  = [NSMutableArray arrayWithCapacity:6];
+    
+    if (hasGNUstepEnv)
+      [self _addGNUstepSearchPathesToArray:ma];
 #if COCOA_Foundation_LIBRARY
-  else
-    [self _addCocoaSearchPathesToArray:ma];
+    else
+      [self _addCocoaSearchPathesToArray:ma];
 #endif
-
-  [self _addFHSPathesToArray:ma];
+  }
+  
+  if ([self->fhsDirectoryName isNotEmpty])
+    [self _addFHSPathesToArray:ma];
   
   self->searchPathes = [ma copy];
   
-  if ([self->searchPathes count] == 0) {
-    [self logWithFormat:@"%s: no search pathes were found !", 
+  if (![self->searchPathes isNotEmpty]) {
+    [self logWithFormat:@"no search pathes were found !", 
          __PRETTY_FUNCTION__];
   }
   
index 125b313c24193e7062ffe9d853733a2eeb501212..9b6f14d6611e72f8ffb6041d8e33686a76d6d359 100644 (file)
@@ -1,6 +1,6 @@
 # version file
 
-SUBMINOR_VERSION:=221
+SUBMINOR_VERSION:=222
 
 # v4.5.214 requires libNGExtensions v4.5.179
 # v4.5.122 requires libNGExtensions v4.5.153