home *** CD-ROM | disk | FTP | other *** search
- /*
- ** DBValue.h
- ** Database Kit, Release 3.0
- ** Copyright (c) 1992, NeXT Computer, Inc. All rights reserved.
- */
-
- #import <dbkit/types.h>
- #import <dbkit/expressionValues.h>
- #import <objc/Object.h>
- #import <ansi/math.h>
-
- /*
- ** Reserved null value for int -- this is intentionally different than the
- ** MININT found in math.h, to avoid conflict with existing flagged values.
- */
- #define DB_NullInt ((int)0x7ffffffe)
- #define DB_NullFloat (NAN)
- #define DB_NullDouble (NAN)
-
- @class DBDatabase;
- @class DBValue;
- @class NXData;
- @class List;
-
- /*
- ** This class implements a handle onto arbitrary objective-C values.
- */
- @interface DBValue : Object <DBExpressionValues>
- {
- @private
- id _type;
- union _valBuf {
- id o;
- int i;
- float f;
- double d;
- char *s;
- } _value;
- char *_stringbuf;
- BOOL isNull;
- }
-
- + initialize;
-
- - init;
- - free;
- - (id<DBTypes>)valueType;
-
- - setNull;
- - (BOOL)isNull;
- - (BOOL)isEqual:(DBValue*)aValue;
-
- - objectValue;
- - (int)intValue;
- - (float)floatValue;
- - (double)doubleValue;
- - (const char*)stringValue;
-
- - setObjectValue:(id)anObject;
- - setIntValue:(int)anInt;
- - setFloatValue:(float)aFloat;
- - setDoubleValue:(double)aDouble;
- - setStringValue:(const char*)aString;
-
- - setObjectValueNoCopy:(id)anObject;
- - setStringValueNoCopy:(const char*)aString;
- - setValueFrom:(DBValue*)aValue;
-
- - read:(NXTypedStream*)s;
- - write:(NXTypedStream*)s;
-
- @end
-