home *** CD-ROM | disk | FTP | other *** search
- /*
- IXAttributeParser.h
- Copyright 1991, NeXT Computer, Inc.
- */
-
- #import <objc/Object.h>
- #import <objc/hashtable.h>
-
- @class List, IXWeightingDomain;
-
- extern NXAtom IXAttributeReaderPboardType;
- extern NXAtom IXFileDescriptionPboardType;
-
- typedef enum {
- IX_NoWeighting = 0,
- IX_AbsoluteWeighting, IX_FrequencyWeighting, IX_PeculiarityWeighting
- } IXWeightingType;
-
- @interface IXAttributeParser: Object
- {
- BOOL _tokenUniquing;
- NXHashTable *_sourceTypes;
- id _attributeBinder;
- id _fileConverter;
- List *_attributeMapping;
- List *_attributeReaders;
- IXWeightingType _weightingType;
- IXWeightingDomain *_weightingDomain;
- unsigned _minimumWeight;
- unsigned _percentPassed;
- }
-
- - getAttributeReaders:(List *)aList;
- - setAttributeReaders:(List *)aList;
-
- - (BOOL)understandsType:(const char *)type; // always yes until types added
- - addSourceType:(const char *)type; // adds to set of understood types
- - removeSourceType:(const char *)type; // removes a previously added type
-
- @end
-
- @interface IXAttributeParser(Parsing)
-
- - reset; // clears the accumulated attribute bindings
-
- - parseFile:(const char *)filename ofType:(const char *)type;
- - parseStream:(NXStream *)stream ofType:(const char *)type;
-
- - (NXStream *)analyzeFile:(const char *)filename ofType:(const char *)type;
- - (NXStream *)analyzeStream:(NXStream *)stream ofType:(const char *)type;
-
- @end
-
- @interface IXAttributeParser(Configuration)
-
- - (unsigned)minimumWeight; // returns minimum weight
- - setMinimumWeight:(unsigned)aMinimum; // sets minimum weight
-
- - (unsig`percentPassed; // returns per centage passed
- - setPercentPassed:(unsigned)aPercent; // sets per centage passed
-
- - (IXWeightingDomain *)weightingDomain; // returns weighting domain
- - setWeightingDomain:(IXWeightingDomain *)aDomain; // sets weighting domain
-
- - (IXWeightingType)weightingType; // returns weighting type
- - setWeightingType:(IXWeightingType)type; // sets weighting type
-
- @end
-
-