This is MailboxSummary.h in view mode; [Download] [Up]
/* -*-ObjC-*-
*******************************************************************************
*
* File: MailboxSummary.h
* RCS: MailboxSummary.h,v 1.13 1998/05/30 01:30:14 tom Exp
* Description: Interface definition of EnhanceMailboxSummary class.
* Author: Tom Hageman <tom@basil.icce.rug.nl>
* Created: October 1996
* Modified: April 1998 [extracted from TransferPanel.h]
* Language: Objective-C
* Package: EnhanceMail
* Status: Experimental
*
* Copyright (C) 1996-1998 Tom Hageman, but otherwise this file is perfect freeware.
*
*******************************************************************************
*/
#import <sys/stat.h>
#import <objc/Object.h>
enum { EMS_STAT_TOC, EMS_NUMSTATS };
// Tag values for matrix fields.
enum { EMS_TAG_TOTAL, EMS_TAG_DELETED, EMS_TAG_READ,
EMS_TAG_FLAGGED, EMS_TAG_UNREAD, EMS_TAG_NEW,
EMS_NUMTAGS };
enum EMSLoadStatus { EMS_UNLOADED=-1, EMS_LOADED=0,
EMS_LOADSUPPRESSED=-2, EMS_LOADFAILED=-3 };
// XXX TODO: define protocol to share interface with MailboxSummaryList.
@interface EnhanceMailboxSummary : Object
{
char *fullname;
enum EMSLoadStatus loadStatus;
BOOL accurate;
BOOL collectAll;
BOOL hasPendingAppnmail;
BOOL hasNewMail;
long counts[EMS_NUMTAGS];
unsigned long sizes[EMS_NUMTAGS];
long attachCounts[EMS_NUMTAGS];
unsigned long attachSizes[EMS_NUMTAGS];
struct stat stats[EMS_NUMSTATS]; // for lazy inspection.
BOOL needsReload;
}
- initWithName:(const char *)name;
- (const char *)name;
- (void)setName:(const char *)name;
- (const char *)shortName;
// Lazy loading.
- (enum EMSLoadStatus)loadStatus;
- (BOOL)isLoaded;
- (BOOL)shouldLoad;
- (BOOL)suppressLoad;
- (enum EMSLoadStatus)load;
- (BOOL)needsReload;
- (void)setNeedsReload:(BOOL)value;
// Configuration.
- (void)setCollectAll:(BOOL)value;
- (BOOL)collectAll;
/* if unset, just count messages. If set, count attachments and sizes. */
// Support.
- (const char *)getPath:(char *)buf forFile:(const char *)file;
// General results.
- (long)count:(int)tag;
- (unsigned long)size:(int)tag;
- (long)attachCount:(int)tag;
- (unsigned long)attachSize:(int)tag;
// Specialized results.
// (Index is checked immediately; others are only accurate after -load)
- (long)numUnreadMessages;
- (void)setUnreadMessages:(long)value;
- (long)numNewMessages;
- (void)setNewMessages:(long)value;
- (long)numFlaggedMessages;
- (void)setFlaggedMessages:(long)value;
- (long)numNewOrUnreadMessages;
- (BOOL)hasNewMail;
- (void)setHasNewMail:(BOOL)value;
- (BOOL)hasIndex;
- (unsigned long)indexSize;
- (unsigned long)tableOfContentsSize;
// Appnmail extensions.
- (BOOL)hasPendingAppnmail;
- (BOOL)incorporatePendingAppnmail:(BOOL)wait;
+ (BOOL)doPendingAppnmailCheck;
+ (void)setDoPendingAppnmailCheck:(BOOL)value;
/* Global flag, determines if pending appnmail check is done in -load. */
- (BOOL)checkPendingAppnmail;
/* unconditional (immediate) check. */
+ (BOOL)doInSyncCheck;
+ (void)setDoInSyncCheck:(BOOL)value;
/* Global flag, determines if "toc in sync with contents" check is done
in -load. */
@end // EnhanceMailboxSummary
@interface EnhanceMailboxSummary (PathUtils)
+ (int)mailboxDir:(char *)buf;
/* fills buffer with pathname of default Mailbox directory. */
+ (const char *)shortNameFor:(const char *)fullname;
@end // EnhanceMailboxSummary (PathUtils)
@interface EnhanceMailboxSummary (SummaryHash)
+ (void)setSummary:(EnhanceMailboxSummary *)sum forName:(const char *)name;
+ summaryForName:(const char *)name create:(BOOL)create;
+ summaryForName:(const char *)name;
@end // EnhanceMailboxSummary (SummaryHash)
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.