- (with-foreign-object (query 'g-type-query)
- (g-type-query (g-type-from-name ,parent) query)
- (with-foreign-slots ((class-size instance-size) query g-type-query)
- (g-type-register-static-simple (g-type-from-name ,parent) ,name class-size (callback c-class-init) instance-size (callback c-instance-init) nil)))
- (add-interfaces ,name)
+ (at-init (',class)
+ (debugf "Registering GObject type implementation ~A for type ~A~%" ',class ,name)
+ (with-foreign-object (query 'g-type-query)
+ (g-type-query (g-type-from-name ,parent) query)
+ (g-type-register-static-simple (g-type-from-name ,parent)
+ ,name
+ (foreign-slot-value query 'g-type-query :class-size)
+ (callback c-class-init)
+ (foreign-slot-value query 'g-type-query :instance-size)
+ (callback c-instance-init) nil))
+ (add-interfaces ,name))