JSXMLHttpRequest.h [plain text]
#ifndef JSXMLHTTPREQUEST_H_
#define JSXMLHTTPREQUEST_H_
#include "kjs_binding.h"
namespace WebCore {
class XMLHttpRequest;
class Document;
}
namespace KJS {
class JSXMLHttpRequestConstructorImp : public DOMObject {
public:
JSXMLHttpRequestConstructorImp(ExecState *exec, WebCore::Document *d);
virtual bool implementsConstruct() const;
virtual JSObject *construct(ExecState *exec, const List &args);
private:
RefPtr<WebCore::Document> doc;
};
class JSXMLHttpRequest : public DOMObject {
public:
JSXMLHttpRequest(ExecState *, WebCore::Document *d);
~JSXMLHttpRequest();
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
enum { Onload, Onreadystatechange, ReadyState, ResponseText, ResponseXML, Status,
StatusText, Abort, GetAllResponseHeaders, GetResponseHeader, Open, Send, SetRequestHeader,
OverrideMIMEType };
virtual bool getOwnPropertySlot(ExecState *, const Identifier&, PropertySlot&);
JSValue *getValueProperty(ExecState *exec, int token) const;
virtual void put(ExecState *exec, const Identifier &propertyName, JSValue *value, int attr = None);
void putValueProperty(ExecState *exec, int token, JSValue *value, int );
virtual bool toBoolean(ExecState *) const { return true; }
virtual void mark();
private:
friend class JSXMLHttpRequestProtoFunc;
RefPtr<WebCore::XMLHttpRequest> m_impl;
};
}
#endif