Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
-// $Id$
#import <Foundation/Foundation.h>
#include <NGObjWeb/NGObjWeb.h>
}
}
#endif
+
+/* main function which initializes server defaults (usually in /etc) */
+
+@interface NSUserDefaults(ServerDefaults)
++ (id)hackInServerDefaults:(NSUserDefaults *)_ud
+ withAppDomainPath:(NSString *)_appDomainPath
+ globalDomainPath:(NSString *)_globalDomainPath;
+@end
+
+int WOWatchDogApplicationMainWithServerDefaults
+(NSString *appName, int argc, const char *argv[],
+ NSString *globalDomainPath, NSString *appDomainPath)
+{
+ NSAutoreleasePool *pool;
+ Class defClass;
+
+ pool = [[NSAutoreleasePool alloc] init];
+#if LIB_FOUNDATION_LIBRARY || defined(GS_PASS_ARGUMENTS)
+ {
+ extern char **environ;
+ [NSProcessInfo initializeWithArguments:(void*)argv count:argc
+ environment:(void*)environ];
+ }
+#endif
+
+ if ((defClass = NSClassFromString(@"WOServerDefaults")) != nil) {
+ NSUserDefaults *ud, *sd;
+
+ ud = [NSUserDefaults standardUserDefaults];
+ sd = [defClass hackInServerDefaults:ud
+ withAppDomainPath:appDomainPath
+ globalDomainPath:globalDomainPath];
+
+ if (((sd == nil) || (sd == ud)) && (appDomainPath != nil)) {
+ NSLog(@"Note: not using server defaults: '%@' "
+ @"(not supported on this Foundation)", appDomainPath);
+ }
+ }
+
+ return WOWatchDogApplicationMain(appName, argc, argv);
+}