+
+(defmethod parse-g-value-for-type (gvalue-ptr (type-numeric (eql +g-type-boxed+)) parse-kind)
+ (declare (ignore parse-kind))
+ (if (g-type= (g-value-type gvalue-ptr) (g-strv-get-type))
+ (convert-from-foreign (g-value-get-boxed gvalue-ptr) '(glib:gstrv :free-from-foreign nil))
+ (let ((boxed-type (get-g-boxed-foreign-info-for-gtype type-numeric)))
+ (create-proxy-for-native boxed-type (g-value-get-boxed gvalue-ptr)))))
+
+(defmethod set-gvalue-for-type (gvalue-ptr (type-numeric (eql +g-type-boxed+)) value)
+ (if (g-type= (g-value-type gvalue-ptr) (g-strv-get-type))
+ (g-value-set-boxed gvalue-ptr (convert-to-foreign value '(glib:gstrv :free-from-foreign nil)))
+ (let* ((boxed-type (get-g-boxed-foreign-info-for-gtype type-numeric))
+ (native (create-temporary-native boxed-type value)))
+ (g-value-take-boxed gvalue-ptr (g-boxed-copy type-numeric native))
+ (free-temporary-native boxed-type value native))))