+(define-type-method alien-type ((type ginterface))
+ (declare (ignore type))
+ (alien-type 'gobject))
+
+(define-type-method size-of ((type ginterface) &key inlined)
+ (assert-not-inlined type inlined)
+ (size-of 'gobject))
+
+(define-type-method from-alien-form ((type ginterface) location &key (ref :copy))
+ (declare (ignore type))
+ (from-alien-form 'gobject location :ref ref))
+
+(define-type-method from-alien-function ((type ginterface) &key (ref :copy))
+ (declare (ignore type))
+ (from-alien-function 'gobject :ref ref))
+
+(define-type-method to-alien-form ((type ginterface) instance &optional copy-p)
+ (declare (ignore type))
+ (to-alien-form 'gobject instance copy-p))
+
+(define-type-method to-alien-function ((type ginterface) &optional copy-p)
+ (declare (ignore type))
+ (to-alien-function 'gobject copy-p))
+
+(define-type-method reader-function ((type ginterface) &key ref inlined)
+ (assert-not-inlined type inlined)
+ (reader-function 'gobject :ref ref))
+
+(define-type-method writer-function ((type ginterface) &key temp inlined)
+ (assert-not-inlined type inlined)
+ (writer-function 'gobject :temp temp))
+
+(define-type-method destroy-function ((type ginterface) &key temp inlined)
+ (assert-not-inlined type inlined)
+ (destroy-function 'gobject :temp temp))
+
+