This is FileInspectorInfo.m in view mode; [Download] [Up]
#import "FileInspectorInfo.h" @implementation DirectorySortKey - (const char *) infoName { return "DirectorySortKey"; } - (int) infoCode { return eDirectorySortKey; } - (const char *) valueDescription { return "i"; } - setValue:(SortKeyEnum) _sortKey { sortKey = _sortKey; return self; } // End setValue: - takeValueFrom: otherInfo { SortKeyEnum _sortKey; [otherInfo infoValue: [self valueDescription], &_sortKey]; [self setValue: _sortKey]; return self; } - infoValue:(const char *) valueDescription, ... { va_list args; SortKeyEnum *sortKeyValue; if( strcmp(valueDescription, [self valueDescription]) != 0 ) return nil; va_start(args, valueDescription); sortKeyValue = va_arg(args, int *); *sortKeyValue = sortKey; va_end(args); return self; } - (SortKeyEnum) sortKey { return sortKey; } - (BOOL) fastIsEqual: otherInfo { SortKeyEnum _sortKey; [otherInfo infoValue: [self valueDescription], &_sortKey]; if( _sortKey != sortKey ) return NO; return YES; } @end @implementation FileInfo - (const char *) infoName { return "FileInfo"; } - (int) infoCode { return eFileInfo; } - (const char *) valueDescription { return "*, i, *, *, *, i"; } - setValue:(char *) _fileMode :(int) _fileSize :(NXAtom) _sourceHost :(char *) _sourcePath :(char *) _localPath :(FileType) _type { fileMode = _fileMode; fileSize = _fileSize; sourceHost = _sourceHost; sourcePath = _sourcePath; localPath = _localPath; type = _type; return self; } - takeValueFrom: otherInfo { int _fileSize; FileType _type; char *_fileMode, *_sourceHost, *_sourcePath, *_localPath; [otherInfo infoValue: [self valueDescription], &_fileMode, &_fileSize, &_sourceHost, &_sourcePath, &_localPath, &_type]; [self setValue: _fileMode : _fileSize : _sourceHost : _sourcePath : _localPath : _type]; return self; } - infoValue:(const char *) valueDescription, ... { va_list args; int *_fileSize; FileType *_type; char **_fileMode, **_sourceHost, **_sourcePath, **_localPath; if( strcmp(valueDescription, [self valueDescription]) != 0 ) return nil; va_start(args, valueDescription); _fileMode = va_arg(args, char **); *_fileMode = fileMode; _fileSize = va_arg(args, int *); *_fileSize = fileSize; _sourceHost = va_arg(args, char **); *_sourceHost = sourceHost; _sourcePath = va_arg(args, char **); *_sourcePath = sourcePath; _localPath = va_arg(args, char **); *_localPath = localPath; _type = va_arg(args, int *); *_type = type; va_end(args); return self; } - (const char *) fileMode { return fileMode; } - (int) fileSize { return fileSize; } - (const char *) sourceHost { return sourceHost; } - (const char *) sourcePath { return sourcePath; } - (const char *) localPath { return localPath; } - (FileType) type { return type; } - (BOOL) fastIsEqual: otherInfo { int _fileSize; FileType _type; char *_fileMode, *_sourceHost, *_sourcePath, *_localPath; [otherInfo infoValue: [self valueDescription], &_fileMode, &_fileSize, &_sourceHost, &_sourcePath, &_localPath, &_type]; if( _type != type ) return NO; else if( _fileSize != fileSize ) return NO; else if( _sourceHost != sourceHost ) // We can do this because it is really an NXAtom return NO; else if( strcmp(_sourcePath, sourcePath) != 0 ) return NO; else if( strcmp(_localPath, localPath) != 0 ) return NO; return YES; } @end /* RCS Information: $Author: me $; $Date: 94/01/08 14:40:12 $; $Source: /usr1/me/NeXTSrc/Archie/RCS/FileInspectorInfo.m,v $; $Revision: 1.1 $; $Log: FileInspectorInfo.m,v $ Revision 1.1 94/01/08 14:40:12 me Check point of 2.09a version. Revision 1.1 93/03/29 01:55:07 me Contains support for File attributes and contents inspector panels. ; */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.