From 714a595eb34406d75ce250477e7042c85c3ad95e Mon Sep 17 00:00:00 2001 From: Matthias Benkard Date: Thu, 2 Aug 2007 21:04:10 +0200 Subject: Beginnings of an Objective C bridge. darcs-hash:907cb9b5f058df6c6697bc71a309edeb976998ff --- objcl.lisp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 objcl.lisp (limited to 'objcl.lisp') diff --git a/objcl.lisp b/objcl.lisp new file mode 100644 index 0000000..82ab250 --- /dev/null +++ b/objcl.lisp @@ -0,0 +1,40 @@ +(in-package #:mulk.objective-cl) + +(define-foreign-library libobjcl + (unix "/home/mulk/Dokumente/Projekte/Objective-CL/shared_obj/libobjcl.so")) + +(use-foreign-library libobjcl) + +(defctype pointer-array :pointer + "An array of void pointers.") + +#+nil +(defmethod translate-to-foreign ((vector vector) + (type (eql 'pointer-array))) + (foreign-alloc :pointer + :count (length vector) + :null-terminated-p nil + :initial-contents vector)) + +#+nil +(defmethod translate-from-foreign (foreign-value + (type (eql 'pointer-array))) + ) + + +(defcfun "objcl_initialise_runtime" :void) +(defcfun "objcl_shutdown_runtime" :void) +(defcfun "objcl_invoke_instance_method" :pointer + (receiver :pointer) + (method-name :string) + (argc :int) + &rest) + +(defcfun "objcl_invoke_class_method" :pointer + (receiver :void) + (method-name :string) + (argc :int) + &rest) + +(defcfun "objcl_find_class" :pointer + (class-name :string)) -- cgit v1.2.3