top level:
[WebKit-https.git] / JavaScriptGlue / UserObjectImp.h
index 6d4650c8f06eca61e5934e64ff8e2808efadbb61..377cfccc4f01397f9beefead59e2997f3220ab8c 100644 (file)
@@ -1,3 +1,5 @@
+// -*- mode: c++; c-basic-offset: 4 -*-
+
 #ifndef __UserObjectImp_h
 #define __UserObjectImp_h
 
 
 class UserObjectImp : public ObjectImp
 {
-    public:
-        UserObjectImp(JSUserObject* userObject);
-        virtual                        ~UserObjectImp();
+public:
+    UserObjectImp(JSUserObject* userObject);
+    virtual ~UserObjectImp();
     
-        virtual        const ClassInfo *classInfo() const;
-        static const ClassInfo info;
-        
-        virtual bool   implementsCall() const;
-
-               virtual bool hasProperty(ExecState *exec, const Identifier &propertyName) const;
-               virtual ReferenceList UserObjectImp::propList(ExecState *exec, bool recursive=true);
-
-        virtual Value  call(ExecState *exec, Object &thisObj, const List &args);
-#if JAG_PINK_OR_LATER
-               virtual Value   get(ExecState *exec, const Identifier &propertyName) const;
-               virtual void    put(ExecState *exec, const Identifier &propertyName, const Value &value, int attr = None);
-#else
-        virtual Value  get(ExecState* exec, const UString& propertyName) const;
-        virtual void   put(ExecState* exec, const UString& propertyName, const Value& value, int attr = None);
-#endif
-
-               virtual Value toPrimitive(ExecState *exec, Type preferredType = UnspecifiedType) const;
-               virtual bool toBoolean(ExecState *exec) const;
-               virtual double toNumber(ExecState *exec) const;
-               virtual UString toString(ExecState *exec) const;
+    virtual const ClassInfo *classInfo() const;
+    static const ClassInfo info;
+    
+    virtual bool implementsCall() const;
+    
+    virtual void getPropertyNames(ExecState *exec, IdentifierSequencedSet& propertyNames);
+    
+    virtual ValueImp *callAsFunction(ExecState *exec, ObjectImp *thisObj, const List &args);
+    virtual bool getOwnPropertySlot(ExecState *, const Identifier&, PropertySlot&);
+    virtual void put(ExecState *exec, const Identifier &propertyName, ValueImp *value, int attr = None);
+    
+    ValueImp *toPrimitive(ExecState *exec, Type preferredType = UnspecifiedType) const;
+    virtual bool toBoolean(ExecState *exec) const;
+    virtual double toNumber(ExecState *exec) const;
+    virtual UString toString(ExecState *exec) const;
+    
+    virtual void mark();
+    
+    JSUserObject* GetJSUserObject() const;
+protected:
+    UserObjectImp();
+private:
+    static ValueImp *userObjectGetter(ExecState *, const Identifier&, const PropertySlot&);
 
-        
-               virtual void mark();
-               
-        JSUserObject* GetJSUserObject() const;
-       protected:
-               UserObjectImp();
-    private:
-        JSUserObject* fJSUserObject;
+    JSUserObject* fJSUserObject;
 };
 
 
-#endif
\ No newline at end of file
+#endif