ExternalLong.st
changeset 605 3826bf1e9c23
child 609 2a4ed61bf78b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ExternalLong.st	Wed Jan 21 15:06:50 1998 +0100
@@ -0,0 +1,84 @@
+ExternalBytes subclass:#ExternalLong
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Database-ODBC-Driver'
+!
+
+
+!ExternalLong class methodsFor:'instance creation'!
+
+new
+    ^ super new:4
+
+    "
+     ExternalLong new
+    "
+!
+
+unprotectedNew
+    ^ super unprotectedNew:4
+
+    "
+     ExternalLong new
+    "
+! !
+
+!ExternalLong methodsFor:'accessing'!
+
+asBoolean
+
+    |result|
+
+    result := self wordAt:1 MSB:false.
+    result = 0 ifTrue:[
+        ^ false.
+    ].
+    ^ true.
+
+    "
+    "
+!
+
+asInteger
+    ^ self wordAt:1 MSB:false
+
+    "
+     ODBCLibrary::ExternalLong new value:10
+    "
+!
+
+asNullStatus
+
+    |result|
+
+    result := self wordAt:1 MSB:false.
+    result = 0 ifTrue:[
+        ^ #SQL_NO_NULLS.
+    ] ifFalse:[
+        result = 1 ifTrue:[
+            ^ #SQL_NULLABLE.
+        ] ifFalse:[
+            ^ #SQL_NULLABLE_UNKNOWN
+        ].
+    ].
+    ^ nil
+!
+
+value
+    ^ self doubleWordAt:1
+
+    "
+     ODBCLibrary::ExternalLong new value:10
+    "
+!
+
+value:anInteger
+    self doubleWordAt:1 put:anInteger
+! !
+
+!ExternalLong class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libbasic2/ExternalLong.st,v 1.1 1998-01-21 14:06:50 dq Exp $'
+! !