Update to the new smokegenerator.
Annotate for file src/msg-handler.lisp
2010-01-10 tobias 1 (in-package :cl-smoke.qt-impl)
08:52:49 ' 2
2009-09-09 tobias 3 (cffi:defcenum qt-msg-type
13:18:08 ' 4 (:debug-message)
' 5 (:warning-message)
' 6 (:critical-message)
' 7 (:fatal-message))
2010-01-10 tobias 8
08:52:49 ' 9 ;; QtMsgHandler is a typedef for a pointer.
' 10 (define-pointer-typedef "QtMsgHandler" foreign-pointer)
2009-08-27 tobias 11 ;; Smokegenerator
08:37:36 ' 12 (define-pointer-typedef "void(*)(QtMsgType,const char*)" foreign-pointer)
' 13 (define-pointer-typedef "unsigned char*" foreign-pointer)
2010-01-10 tobias 14
08:52:49 ' 15 (defcallback qt-msg-handler :void
' 16 ((type qt-msg-type)
' 17 (message :string))
' 18 (ecase type
2009-09-09 tobias 19 (:debug-message
13:18:08 ' 20 (write-string "qDebug: " *debug-io*)
' 21 (write-line message *debug-io*))
' 22 (:warning-message (warn message))
' 23 (:critical-message (cerror "Ignore" "~A" message))
' 24 (:fatal-message (error message))))
' 25
' 26 (defun register-msg-handler ()
' 27 (with-foreign-object (handler :pointer)
' 28 (setf (mem-ref handler :pointer) (callback qt-msg-handler))
' 29 (qt:q-install-msg-handler handler)))
2010-01-10 tobias 30
2009-12-13 tobias 31 (eval-when (:load-toplevel)
2009-09-09 tobias 32 (register-msg-handler))