+(defmethod alien-type ((class proxy-class) &rest args)
+ (declare (ignore class args))
+ (alien-type 'pointer))
+
+(defmethod size-of ((class proxy-class) &rest args)
+ (declare (ignore class args))
+ (size-of 'pointer))
+
+(defmethod from-alien-form (location (class proxy-class) &rest args)
+ (declare (ignore args))
+ `(ensure-proxy-instance ',(class-name class) ,location))
+
+(defmethod from-alien-function ((class proxy-class) &rest args)
+ (declare (ignore args))
+ #'(lambda (location)
+ (ensure-proxy-instance class location)))
+
+(defmethod to-alien-form (instance (class proxy-class) &rest args)
+ (declare (ignore class args))
+ `(proxy-location ,instance))
+
+(defmethod to-alien-function ((class proxy-class) &rest args)
+ (declare (ignore class args))
+ #'proxy-location)