;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-;; $Id: gerror.lisp,v 1.7 2006/04/28 08:27:22 espen Exp $
+;; $Id: gerror.lisp,v 1.10 2008/04/11 20:35:48 espen Exp $
(in-package "GLIB")
(code :allocation :alien :type int :reader gerror-code)
(message :allocation :alien :type string :reader gerror-message))
(:metaclass struct-class)
- (:ref gerror-copy)
- (:unref gerror-free))
+ (:ref %gerror-copy)
+ (:unref %gerror-free))
(defbinding (%gerror-copy "g_error_copy") () pointer
(location pointer))
(location pointer))
(define-condition glib-error (error)
- ((code :initarg :domain :reader gerror-code)
+ ((code :initarg :code :reader gerror-code)
(message :initarg :message :reader gerror-message))
(:report (lambda (condition stream)
(write-string (gerror-message condition) stream))))
(deftype gerror-signal () 'gerror)
+(define-type-method return-type ((type gerror-signal))
+ (declare (ignore type))
+ '(or null gerror))
+
(define-type-method from-alien-form ((type gerror-signal) gerror &key (ref :free))
(declare (ignore type))
`(let ((gerror ,(from-alien-form 'gerror gerror :ref ref)))