home *** CD-ROM | disk | FTP | other *** search
- /*
- IXPostingList.h
- Copyright 1991,NeXT Computer,Inc.
- */
-
- #import <objc/List.h>
- #import <remote/transport.h>
-
- #import "protocols.h"
-
- // this class implements a lazy, weighted list of objects, accessible by
- // reading from a record source. when encoding for remote transport, this
- // class assumes that the objects it contains will free after encoding. it
- // also free its own instance after encoding, since it always goes by copy.
-
- @interface IXPostingList: List <NXTransport,IXPostingExchange>
- {
- @public
- unsigned maxPointers;
- id <IXRecordReading> recordSource;
- struct IXPosting *postingList;
- }
-
- - (id <IXRecordReading>)source;
- - initWithSource:(id <IXRecordReading>)aSource;
- - initWithSource:(id <IXRecordReading>)aSource
- andPostingsIn:(id <IXPostingExchange>)anObject;
-
- - addObject:anObject withWeight:(unsigned)weight;
- - insertObject:anObject withWeight:(unsigned)weight at:(unsigned)index;
- - replaceObjectAt:(unsigned)index with:anObject weight:(unsigned)weight;
-
- - (unsigned)indexForHandle:(unsigned)handle;
- - (unsigned)handleOfObjectAt:(unsigned)index;
- - (unsigned)weightOfObjectAt:(unsigned)index;
-
- - addHandle:(unsigned)handle withWeight:(unsigned)weight;
- - insertHandle:(unsigned)handle withWeight:(unsigned)weight at:(unsigned)index;
- - replaceHandleAt:(unsigned)index
- with:(unsigned)handle weight:(unsigned)weight;
-
- - sortByWeightAscending:(BOOL)boolean;
- - sortBySelector:(SEL)selector ascending:(BOOL)boolean;
-
- - read:(NXTypedStream *)typedStream;
- - write:(NXTypedStream *)typedStream;
-
- @end
-
-