/*!
@header PJS_Function.h
@abstract Types and functions related to function bindings
*/
#ifndef __PJS_PROPERTY_H__
#define __PJS_PROPERTY_H__
#ifdef _cplusplus
extern "C" {
#endif
#include "EXTERN.h"
#include "perl.h"
#include "JavaScript_Env.h"
#include "PJS_Types.h"
#include "PJS_Common.h"
struct PJS_Property {
int8 tinyid;
SV *getter; /* these are coderefs! */
SV *setter;
struct PJS_Property *_next;
};
PJS_EXTERN void
PJS_free_property(PJS_Property *);
PJS_EXTERN void
PJS_free_JSPropertySpec(JSPropertySpec *);
PJS_EXTERN JSBool
PJS_invoke_perl_property_getter(JSContext *cx, JSObject *, jsval, jsval *);
PJS_EXTERN JSBool
PJS_invoke_perl_property_setter(JSContext *cx, JSObject *, jsval, jsval *);
#endif