#ifndef KJSEMBED__H #define KJSEMBED__H #include <kjs/interpreter.h> #include <kjs/object.h> #include <kjsembed/jsobjectproxy_imp.h> class ; /** * Namespace containing the KJSEmbed library. */ namespace KJSEmbed { /** * Wrapper class for methods. * * @author Richard Moore, rich@kde.org */ class Imp : public JSProxyImp { public: /** Enumerates the constructors supported by this class. */ enum Constructors { _ Constructor_ , LastConstuctor = -1 }; /** Enumerates the methods supported by this class. */ enum Methods { _ Method_, Method_Last = -1 }; Imp( KJS::ExecState *exec, int id, bool constructor=false ); ~Imp(); /** * Adds the static bindings for this class to the specified Object. The * static bindings are the static methods and the enums of this class. */ static void addStaticBindings( KJS::ExecState *exec, KJS::Object &object ); /** * Adds the bindings for this class to the specified Object. The bindings * added are the instance methods of this class. */ static void addBindings( KJS::ExecState *exec, KJS::Object &object ); static *to( KJS::Object &object ); // // Constructors implemented by this class. // _ KJS::Object ( KJS::ExecState *exec, const KJS::List &args ); // // Methods implemented by this class. // _ KJS::Value ( KJS::ExecState *exec, KJS::Object &obj, const KJS::List &args ); // // JS binding code. // /** Returns true iff this object implements the construct function. */ virtual bool implementsConstruct() const { return cons; } /** Invokes the construct function. */ virtual KJS::Object construct( KJS::ExecState *exec, const KJS::List &args ); /** Returns true iff this object implements the call function. */ virtual bool implementsCall() const { return !cons; } /** Invokes the call function. */ virtual KJS::Value call( KJS::ExecState *exec, KJS::Object &self, const KJS::List &args ); private: *instance; // Temp int id; bool cons; }; } // namespace KJSEmbed #endif // KJSEMBED__H // Local Variables: // c-basic-offset: 4 // End: