X-Git-Url: https://git.distorted.org.uk/~mdw/clg/blobdiff_plain/3d36c5d66c327143ac12c3c2222352618da3123c..ff8fa451e6afb4e223240b34836c0d8a5a5b8f4b:/glib/gcallback.lisp diff --git a/glib/gcallback.lisp b/glib/gcallback.lisp index 60d6652..23fa0bd 100644 --- a/glib/gcallback.lisp +++ b/glib/gcallback.lisp @@ -15,7 +15,7 @@ ;; License along with this library; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -;; $Id: gcallback.lisp,v 1.19 2005/02/03 23:09:04 espen Exp $ +;; $Id: gcallback.lisp,v 1.21 2005/02/14 00:41:54 espen Exp $ (in-package "GLIB") @@ -252,6 +252,8 @@ (callback user-data-destroy-func)) callback-id))) +(defgeneric create-callback-function (gobject function arg1)) + (defmethod create-callback-function ((gobject gobject) function arg1) (cond ((or (eq arg1 t) (eq arg1 gobject)) function) @@ -260,6 +262,8 @@ (t #'(lambda (&rest args) (apply function arg1 (rest args)))))) +(defgeneric signal-connect (gobject signal function &key)) + (defmethod signal-connect ((gobject gobject) signal function &key (detail 0) after object remove) "Connects a callback function to a signal for a particular object. If @@ -343,18 +347,6 @@ once." (apply #'signal-emit-with-detail object signal 0 args)) -;;; Message logging - -TODO: define and signal conditions based on log-level - -(defcallback log-handler (nil (domain (copy-of string)) - (log-level int) - (message (copy-of string))) - (error "~A: ~A" domain message)) - -(setf (extern-alien "log_handler" system-area-pointer) (callback log-handler)) - - ;;;; Convenient macros (defmacro def-callback-marshal (name (return-type &rest args))