summaryrefslogtreecommitdiff
path: root/Lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-02-10 16:39:39 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-02-10 16:39:39 +0100
commit1d410434fefeef5ac26fc188eb31d69d922278ac (patch)
tree7896eb0fe483a9448c9b87beaf2281f0c1b580de /Lisp
parent213ad2e9ce5aff9337234be84635e1a7ba22a598 (diff)
Glue layer: Add functions for class creation.
darcs-hash:e2dad7f45636d2065160cadec47f805f286a5bc7
Diffstat (limited to 'Lisp')
-rw-r--r--Lisp/libobjcl.lisp21
1 files changed, 21 insertions, 0 deletions
diff --git a/Lisp/libobjcl.lisp b/Lisp/libobjcl.lisp
index fd575d2..5616f71 100644
--- a/Lisp/libobjcl.lisp
+++ b/Lisp/libobjcl.lisp
@@ -133,6 +133,27 @@
(defcfun ("objcl_release_lock" %objcl-acquire-lock) :pointer
(lock :pointer))
+(defcfun ("objcl_create_class" %objcl-create-class) :pointer
+ (class-name :string)
+ (superclass :pointer)
+ (protocol-numer :int)
+ (protocol-names (:array :string))
+ (ivar-number :int)
+ (ivar-names (:array :string))
+ (ivar-typespecs (:array :string)))
+
+(defcfun ("objcl_add_method" %objcl-add-method) :void
+ (class :pointer)
+ (method-name :pointer)
+ (callback :pointer)
+ (argc :int)
+ (return-typespec :string)
+ (arg-typespecs (:array :string))
+ (signature :string))
+
+(defcfun ("objcl_finalise_class" %objcl-finalise-class) :void
+ (class :pointer))
+
(defcvar *objcl-current-exception-lock* :pointer)
(defcvar *objcl-current-exception* :pointer)