JSValueWrapper.h   [plain text]


#ifndef __JSValueWrapper_h
#define __JSValueWrapper_h

/*
	JSValueWrapper.h
*/

#include "JSUtils.h"
#include "JSBase.h"
#include "JSObject.h"

class JSValueWrapper {
	public:
		JSValueWrapper(const Value& inValue);
		virtual ~JSValueWrapper();

		static void GetJSObectCallBacks(JSObjectCallBacks& callBacks);
			
		Value& GetValue();

	private:
		ProtectedValue fValue;

		static void JSObjectDispose(void* data);
		static CFArrayRef JSObjectCopyPropertyNames(void* data);
		static JSObjectRef JSObjectCopyProperty(void* data, CFStringRef propertyName);
		static void JSObjectSetProperty(void* data, CFStringRef propertyName, JSObjectRef jsValue);
		static JSObjectRef JSObjectCallFunction(void* data, JSObjectRef thisObj, CFArrayRef args);
		static CFTypeRef JSObjectCopyCFValue(void* data);
		static void JSObjectMark(void* data);
};


#endif