This is WebsterVolume.h in view mode; [Download] [Up]
// Hey ! emacs, it is an -*- objective-c -*- file /* Webster Access, a program to use NeXT online Webster dictionary. Copyright (C) 1994 Benoit Grange, ben@fizz.fdn.org This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #import <appkit/appkit.h> #import <store/IXStoreFile.h> #import <btree/IXBTree.h> #import <btree/IXBTreeCursor.h> #import "WebsterExceptions.h" // Types typedef unsigned long websterKey; typedef void (*websterTranslationFunction)(const void* data, int length, const char* word, NXStream** outstream, int); typedef struct { char* modeName; // Name of the websterMode websterTranslationFunction translationFunc; // Function called to translate to this representation int select; // One more value } websterMode; @class WebsterWord; @interface WebsterVolume:Object { IXBTree* headwordsBTree; // BTree containing the words of the volume IXBTreeCursor* headwordsCursor; IXBTree* entriesBTree; // BTree containing the defs of the words IXBTreeCursor* entriesCursor; websterMode* websterModes; // The NULL terminated array of websterModes this volume knows @public char* fileName; } // Use this method before initializing any WebsterVolume // If your codebook file is not in the standard location // "/NextLibrary/References/Webster-Dictionary/codebook" + (void)setCodebookFileName: (const char*) fileName; // Just returns the copyright string for the library + (const char*)libraryCopyrightString; // Just return the copyright string for the volume // This string is statically written in the library and // does not depend of the database in use + (const char*)volumeCopyrightString; // Just to catch bad usage, do NOT call - init - init; // This method should not be called directly, // Instead, use the same method from an inherited object - initFromFile: (const char*) fileName; // Use this method to define a word from a dictionary // Or a thesaurus, returns nil if the word does not exist - (WebsterWord*) defineWord: (const char*) word; // Internal - (WebsterWord*) defineWord: (const char*) word useCursor: (IXBTreeCursor*) cursor; // Same as define word, see "find by reference" in Webster // May not be implemented for all volumes - defineByReference: (const char*) word; // Give the first letters of a word, it will provide // a list of words (of the dictionary) that start by them. // The list contains WebsterWords that must be freed after use. // May not be implemented for all volumes. - (List*) completeWord: (const char*) word maxCount: (int) max; // This version use the default maxCount of 256 - (List*) completeWord: (const char*) word; // Wildcard matches // Will be implemented Real Soon Now (C)... - (List*) wildcardWord: (const char*) word; // Check if the volume knows how to produce this websterMode - (BOOL) canOutputDefinitionsAs: (const char*) mode; // Internal - (websterMode*) getModeEntry: (const char*) mode; - (IXBTreeCursor*) getEntriesCursor; @end @interface WebsterDictionary:WebsterVolume { IXBTree* referenceBTree; // BTree containing the words of the volume IXBTreeCursor* referenceCursor; // organised by reference. } // Overriden - initFromFile: (const char*) fileName; @end @interface WebsterThesaurus:WebsterVolume { } // Overriden - initFromFile: (const char*) fileName; @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.