Copyright ©1995 by NeXT Computer, Inc.  All Rights Reserved.




Protocols





IXBlockAndStoreAccess


Adopted By: IXBTree,
IXFileFinder,
IXRecordManager,
IXStoreBlock,
IXStoreDirectory


Initializing and Freeing a Client

initInStore:(IXStore *)aStore Initializes a new store client in aStore
initFromBlock:(unsigned int)aHandle Initializes a store client from data previously stored in the
inStore:(IXStore *)aStore block identified by aHandle in aStore
freeFromStore Removes the store client's storage from the IXStore and frees the run-time object
+ freeFromBlock:(unsigned int)aHandle Frees the data for the store client identified by aHandle in
inStore:(IXStore *)aStore aStore, without necessarily creating an instance


Retrieving the Block and Store

getBlock:(unsigned int *)aHandle Gets the identifier of the block owned by the store client,
andStore:(IXStore **)aStore and the IXStore that the block exists in




IXComparatorSetting


Adopted By: IXBTree


Methods

setComparator:(IXComparator *)aComparator Sets the function used to compare items; also
andContext:(const void *)aContext provides aContext as arbitrary data to use in comparison
getComparator:(IXComparator **)aComparator Gets the comparator function and context
andContext:(const void **)aContext




IXComparisonSetting


Adopted By: IXBTree


Methods

setComparisonFormat:(const char *)format Sets the data format of items compared by the receiver
(const char *)comparisonFormat Returns the data format of items compared




IXCursorPositioning


Adopted By: IXBTreeCursor


Absolute Positioning

(BOOL)setKey:(void *)aKey Sets the position of the receiver to aKey, if it exists,
andLength:(unsigned int)aLength otherwise to where aKey would logically be; returns YES if aKey exists
(BOOL)getKey:(void **)aKey Gets the key for the receiver's position and its length,
andLength:(unsigned int *)aLength sliding the receiver forward in the key space if needed and if possible; returns YES if the receiver ends up on a key


Relative Positioning

(BOOL)setFirst Positions the receiver at the first key if there is one; returns YES if there is one, NO if not
(BOOL)setNext Moves the receiver forward one key value and returns YES if there's a key there
(BOOL)setLast Positions the receiver at the last key if there is one; returns YES if there is one, NO if not
(BOOL)setPrevious Moves the receiver back one key value and returns YES if there's a key there


Checking Positioning Success

(BOOL)isMatch Returns YES if the receiver is on akey, NO if it's between two keys or off either end of the key space




IXFileFinderConfiguration


Adopted By: IXFileFinder


Managing Attribute Parsers

setAttributeParsers:(List *)aList Sets the IXAttributeParsers used to parse files
getAttributeParsers:(List *)aList Returns in aList the IXAttributeParsers used to parse files


Generating Descriptions

setGeneratesDescriptions:(BOOL)flag Sets whether descriptions are generated automatically for files indexed
(BOOL)generatesDescriptions Returns whether descriptions are generated automatically for files indexed


Enabling Automatic Updating

setUpdatesAutomatically:(BOOL)flag Sets whether the file finder automatically updates its indexes upon finding out of date references
(BOOL)updatesAutomatically Returns whether the file finder automatically updates its indexes


Setting File System Options

setCrossesDeviceChanges:(BOOL)flag Sets whether the file finder indexes or searches files on a different device from its root directory
(BOOL)crossesDeviceChanges Returns whether the file finder indexes or searches files on a different device from its root directory
setFollowsSymbolicLinks:(BOOL)flag Sets whether the file finder follows symbolic links when building indexes
(BOOL)followsSymbolicLinks Returns whether the file finder follows symbolic links when building indexes
setScansForModifiedFiles:(BOOL)flag Sets whether the file finder scans for files whose modification times have changed
(BOOL)scansForModifiedFiles Returns whether the file finder scans for modified files


Ignoring Files

setIgnoredTypes:(const char *)types Sets to types the types of files that won't be indexed
(char *)ignoredTypes Returns the types of files that aren't indexed
setIgnoredNames:(const char *)names Sets to names the literal, base names of files that won't be indexed
(char *)ignoredNames Returns the names of files that aren't indexed




IXFileFinderQueryAndUpdate


Adopted By: IXFileFinder


Getting the Target Directory

(const char *)rootPath Returns the base path for the file finder's index


Getting the Record Manager

recordManager Returns the object that stores the file finder's IXFileRecords


Performing Queries

(IXPostingList *)performQuery:(const char *)aQuery
atPath:(const char *)path Evaluates aQuery for sender returning in an
forSender:sender IXPostingList the IXFileRecords that match
stopQueryForSender:sender Stops the query requested by sender


Updating Indexes

updateIndexAtPath:(const char *)path Updates the indexes for files within path relative to the file
forSender:sender finder's root path
(BOOL)isUpdating Returns whether the file finder is updating its indexes
suspendUpdating Suspends updating of indexes
resumeUpdating Resumes updating of indexes
clean Removes inaccurate or out of data information from indexes
reset Completely empties indexes


Methods Implemented by the Sender of a Query or Update

fileFinder:(IXFileFinder *)aFinder Asynchronously notifies the sender of a
didFindFile:(IXFileRecord *)aRecord performQuery:atPath:forSender: message that aRecord matches the query
fileFinder:(IXFileFinder *)aFinder Asynchronously notifies the sender of an
didFindList:(IXPostingList *)aList performQuery:atPath:forSender: message that the IXFileRecords in aList match the query
fileFinder:(IXFileFinder *)aFinder Asynchronously notifies the sender of an
willAddFile:(IXFileRecord *)aRecord updateIndexAtPath:forSender: message that aRecord is about to be added to the index




IXLexemeExtraction


Adopted By: No NeXTSTEP classes.


Lexing a Stream

(unsigned int)getLexeme:(char *)aString Puts the next lexeme from stream into aString
inLength:(unsigned int)aLength
fromStream:(NXStream *)stream


Manipulating a Word/Lexeme

(unsigned int)foldCase:(char *)aString Reduces aString to lowercase letters
inLength:(unsigned int)aLength




IXNameAndFileAccess


Adopted By: IXBTree,
IXFileFinder,
IXRecordManager,
IXStoreDirectory
Incorporates: IXBlockAndStoreAccess


Initializing and Freeing a Client

initWithName:(const char *)aName Initializes a new store client under aName in filename
inFile:(const char *)filename
initFromName:(const char *)aName Initializes a store client from data previously stored under
inFile:(const char *)filename aName in filename; if flag is YES, changes can be
forWriting:(BOOL)flag written back to the file
freeFromStore Removes the store client's storage from the IXStoreFile and frees the run-time object
+ freeFromName:(const char *)aName Frees the data for the store file client identified by aName in
andFile:(const char *)filename filename, without necessarily creating an instance


Retrieving the Name and File

getName:(const char **)aName Gets the name of the store client, and the name of the file
andFile:(const char **)filename that the data exists in




IXPostingExchange


Adopted By: IXPostingCursor
IXPostingList
IXPostingSet


Methods

setCount:(unsigned int)count Sets the receiver's posting set to count postings
andPostings:(IXPosting *)postings
getCount:(unsigned int *)count Gets the receiver's postings and their amount
andPostings:(IXPosting **)thePostings




IXPostingOperations


Adopted By: IXPostingCursor
IXPostingSet


Manipulating Postings by Handle

(unsigned int)addHandle:(unsigned int)aHandle Adds a postings to the set of postings
withWeight:(unsigned int)aWeight
removeHandle:(unsigned int)aHandle Removes a postings from the set


Getting the Number of Postings

(unsigned int)count Returns the number of postings in the set


Emptying a Posting Set

empty Empties all postings from the set


Traversing a Posting Set

(unsigned int)setHandle:(unsigned int)aHandle Sets the selected posting to the one with aHandle and returns that handle, or 0 if aHandle isn't in the set
(unsigned int)getHandle:(unsigned int *)aHandle Gets the handle and weight of the selected posting
andWeight:(unsigned int *)aWeight
(unsigned int)setFirstHandle Sets the selected posting to the first in the set and returns its handle, or 0 if there are no postings
(unsigned int)setNextHandle Sets the selected posting to the next in the set and returns its handle, or 0 if there are no more postings




IXRecordReading


Adopted By: No NeXTSTEP classes


Methods

(unsigned int)count Returns the number of records in the archive
readRecord:(unsigned int)aHandle Reads the record identified by aHandle and returns the
fromZone:(NXZone *)zone corresponding object allocated from zone




IXRecordTranscription


Adopted By: No NeXTSTEP classes.


Methods

source:aTranscriber Notifies the record identified by aHandle that it's been read
didReadRecord:(unsigned int)aHandle
source:aTranscriber Notifies the record identified by aHandle that it's going to
willWriteRecord:(unsigned int)aHandle be written
finishReading Allows a record just read to reinitialize itself or provide a replacement




IXRecordWriting


Adopted By: IXRecordManager
Incorporates: IXRecordReading


Manipulating Records by Handle

(unsigned int)addRecord:anObject Adds anObject to the receiver's archive
replaceRecord:(unsigned int)aHandle Replaces the record identified by aHandle with anObject
with:anObject
removeRecord:(unsigned int)aHandle Removes from the archive the record identified by aHandle


Emptying a Record Storer

empty Empties the receiver's archive of all records




IXTransientAccess


Adopted By: IXRecordManager


Methods

(BOOL)getDoubleValue:(double *)aValue Retrieves as a double the value of ivarName for the object
ofIvar:(const char *)ivarName whose record is identified by aHandle
forRecord:(unsigned int)aHandle
(BOOL)getFloatValue:(float *)aValue Retrieves as a float the value of ivarName for the object
ofIvar:(const char *)ivarName whose record is identified by aHandle
forRecord:(unsigned int)aHandle
(BOOL)getIntValue:(int *)aValue Retrieves as a int the value of ivarName for the object
ofIvar:(const char *)ivarName whose record is identified by aHandle
forRecord:(unsigned int)aHandle
(BOOL)getObjectValue:(Object **)aValue Retrieves as a object the value of ivarName for the object
ofIvar:(const char *)ivarName whose record is identified by aHandle
forRecord:(unsigned int)aHandle
(BOOL)getOpaqueValue:(NXData **)aValue Retrieves as untyped data the value of ivarName for the
ofIvar:(const char *)ivarName object whose record is identified by aHandle
forRecord:(unsigned int)aHandle
(BOOL)getStringValue:(char **)aValue Retrieves as a string the value of ivarName for the object
ofIvar:(const char *)ivarName whose record is identified by aHandle
forRecord:(unsigned int)aHandle
(BOOL)getStringValue:(char **)aValue Retrieves as a string no longer than aLength the value of
inLength:(unsigned int)aLength ivarName for the object whose record is identified
ofIvar:(const char *)ivarName by aHandle
forRecord:(unsigned int)aHandle




IXTransientMessaging


Adopted By: IXRecordManager


Methods

(BOOL)getDoubleValue:(double *)aValue Retrieves as a double the value obtained by sending
ofMessage:(SEL)aSelector aSelector to the object whose record is identified
forRecord:(unsigned int)aHandle by aHandle
(BOOL)getFloatValue:(float *)aValue Retrieves as a float the value obtained by sending
ofMessage:(SEL)aSelector aSelector to the object whose record is identified
forRecord:(unsigned int)aHandle by aHandle
(BOOL)getIntValue:(int *)aValue Retrieves as a int the value obtained by sending
ofMessage:(SEL)aSelector aSelector to the object whose record is identified
forRecord:(unsigned int)aHandle by aHandle
(BOOL)getObjectValue:(Object **)aValue Retrieves as an object the value obtained by sending
ofMessage:(SEL)aSelector aSelector to the object whose record is identified
forRecord:(unsigned int)aHandle by aHandle
(BOOL)getOpaqueValue:(NXData **)aValue Retrieves as untyped data the value obtained by sending
ofMessage:(SEL)aSelector aSelector to the object whose record is identified
forRecord:(unsigned int)aHandle by aHandle
(BOOL)getStringValue:(char **)aValue Retrieves as a string the value obtained by sending
ofMessage:(SEL)aSelector aSelector to the object whose record is identified
forRecord:(unsigned int)aHandle by aHandle
(BOOL)getStringValue:(char **)aValue Retrieves as a string no longer than aLength the value
inLength:(unsigned int)aLength obtained by sending aSelector to the object whose
ofMessage:(SEL)aSelector record is identified by aHandle
forRecord:(unsigned int)aHandle