module Foreign.Java.JNI.Types where
import Data.Int
import Data.Word
import Foreign (ForeignPtr)
data JVM
data JObjectRef
data JClassRef
data JThrowableRef
data JMethodID
data JStaticMethodID
data JFieldID
data JStaticFieldID
data JConstructorID
data JValues
data JChars
data JBytes
data JArg where
BooleanA :: Bool -> JArg
CharA :: Word16 -> JArg
ByteA :: Int8 -> JArg
ShortA :: Int16 -> JArg
IntA :: Int32 -> JArg
LongA :: Int64 -> JArg
FloatA :: Float -> JArg
DoubleA :: Double -> JArg
StringA :: String -> JArg
ObjectA :: (Maybe JObject) -> JArg
ArrayA :: (Maybe (JArray e)) -> JArg
newtype JObject = JObject { jobjectPtr :: ForeignPtr JObjectRef }
deriving Show
newtype JClass = JClass { jclassPtr :: ForeignPtr JClassRef }
deriving Show
newtype JThrowable = JThrowable { jthrowablePtr :: ForeignPtr JThrowableRef }
deriving Show
data JArray e = JArray {
jarrayLength :: Int32,
jarrayPtr :: ForeignPtr JObjectRef
} deriving Show