This is IExternalTable.m in view mode; [Download] [Up]
#import "IExternalTable.h" #import "INewsD.h" #import "ILocalFileD.h" #import <strings.h> #import <appkit/Panel.h> #import "errdebug.h" #import "Localization.h" #define LoStr(key) doLocalString(NULL,key,NULL) extern const char *externalClassNameTable[]; extern Class ExternalModuleTable[]; @implementation IExternalTable + initialize { const char **externalClassNamePtr; Class *ExternalModulePtr; for (externalClassNamePtr = externalClassNameTable, ExternalModulePtr = ExternalModuleTable; *externalClassNamePtr != NULL; ++externalClassNamePtr, ++ExternalModulePtr) { if ((*ExternalModulePtr = (Class)objc_getClass(*externalClassNamePtr)) == Nil) { NXRunAlertPanel(LoStr("NewsBase"), LoStr("External Class for %s is not linked in NewsBase."), NULL, NULL, NULL, *externalClassNamePtr); } } *ExternalModulePtr = Nil; return(self); } + (Class)externalModuleForDomain:(NXAtom)domain { Class *ExternalModulePtr; for (ExternalModulePtr = ExternalModuleTable; *ExternalModulePtr != Nil && [(id)*ExternalModulePtr domain] != domain; ++ExternalModulePtr); if (*ExternalModulePtr != Nil) { return(*ExternalModulePtr); } else { return(Nil); } } @end;
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.