+;;;; Parameter stuff
+
+(define-foreign %object-set-param () nil
+ (object gobject)
+ (name string)
+ (value gvalue))
+
+(define-foreign %object-get-param () nil
+ (object gobject)
+ (name string)
+ (value gvalue :out))
+
+(define-foreign object-queue-param-changed () nil
+ (object gobject)
+ (name string))
+
+
+
+
+(define-foreign %object-set-qdata-full () nil
+ (object gobject)
+ (id quark)
+ (data unsigned-long)
+ (destroy-marshal pointer))
+
+(defun (setf object-data) (data object key &key (test #'eq))
+ (%object-set-qdata-full
+ object (quark-from-object key :test test)
+ (register-user-data data) *destroy-notify*)
+ data)
+
+(define-foreign %object-get-qdata () unsigned-long
+ (object gobject)
+ (id quark))
+
+(defun object-data (object key &key (test #'eq))
+ (find-user-data
+ (%object-get-qdata object (quark-from-object key :test test))))