This is MailIndex.m in view mode; [Download] [Up]
/* -*-C-*- ******************************************************************************* * * File: MailIndex.m * RCS: $Header: /usr/local/lib/cvs/EnhanceMail/MailIndex.m,v 1.1.1.2 1996/04/14 16:59:40 cedman Exp $ * Description: * Author: Carl Edman * Created: Fri Oct 20 14:47:00 1995 * Modified: Sat Apr 13 22:45:07 1996 (Carl Edman) cedman@capitalist.princeton.edu * Language: C * Package: N/A * Status: Experimental (Do Not Distribute) * * (C) Copyright 1995, but otherwise this file is perfect freeware. * ******************************************************************************* */ #import "EnhanceMail.h" #import "MailIndex.h" static id currentbox=nil; @implementation MailIndex + mailBox { return currentbox; } + setMailBox:nmailbox { currentbox=nmailbox; return self; } - initMsgId:(int)nmsgId { msgId=nmsgId; mes=nil; return self; } - free { if (mes) mes=[mes free]; return [super free]; } - read:(NXTypedStream *)stream { [super read:stream]; NXReadType(stream,"i",&msgId); mes=nil; return self; } - write:(NXTypedStream *)stream { [super write:stream]; NXWriteType(stream,"i",&msgId); return self; } - setMsgId:(int)nmsgId { msgId=nmsgId; if (mes) mes=[mes free]; return self; } - (int)msgId { return msgId; } - mailMessage { if (mes==nil) mes=[currentbox loadMessageAt:msgId]; return mes; } - (char)status { return [currentbox getStateForMsg:msgId]; } - (BOOL)writeToStream:(NXStream *)stream wrapAtColumn:(int)col { return [[self mailMessage] writeToStream:stream wrapAtColumn:col]; } - (const char *)messageSubject { return [[self mailMessage] headerValueForKey:"Subject"]; } - (const char *)messageFrom { return [[self mailMessage] headerValueForKey:"From"]; } - (const char *)messageTo { return [[self mailMessage] headerValueForKey:"To"]; } - (const char *)messageCc { return [[self mailMessage] headerValueForKey:"Cc"]; } - (const char *)messageDate { return [[self mailMessage] headerValueForKey:"Date"]; } - (const char *)messageId { return [[self mailMessage] headerValueForKey:"Message-Id"]; } - (const char *)messageNextReference { return [[self mailMessage] headerValueForKey:"Next-Reference"]; } - (const char *)messageContent { return [[self mailMessage] body]; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.