10617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen/*
20617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
30617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen
40617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    This library is free software; you can redistribute it and/or
50617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    modify it under the terms of the GNU Library General Public
60617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    License as published by the Free Software Foundation; either
70617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    version 2 of the License, or (at your option) any later version.
80617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen
90617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    This library is distributed in the hope that it will be useful,
100617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    but WITHOUT ANY WARRANTY; without even the implied warranty of
110617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
120617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    Library General Public License for more details.
130617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen
140617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    You should have received a copy of the GNU Library General Public License
150617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    along with this library; see the file COPYING.LIB.  If not, write to
160617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
170617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    Boston, MA 02110-1301, USA.
180617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen*/
190617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen
200617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen#ifndef qscriptfunction_p_h
210617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen#define qscriptfunction_p_h
220617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen
230617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen#include "config.h"
240617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen
250617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen#include "qscriptengine.h"
260617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen#include "qscriptvalue_p.h"
270617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen
280617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsenextern JSClassDefinition qt_NativeFunctionClass;
290617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsenextern JSClassDefinition qt_NativeFunctionWithArgClass;
300617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen
310617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsenstruct QNativeFunctionData
320617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen{
330617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    QNativeFunctionData(QScriptEnginePrivate* engine, QScriptEngine::FunctionSignature fun)
340617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        : engine(engine)
350617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        , fun(fun)
360617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    {
370617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    }
380617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen
390617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    QScriptEnginePrivate* engine;
400617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    QScriptEngine::FunctionSignature fun;
410617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen};
420617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen
430617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsenstruct QNativeFunctionWithArgData
440617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen{
450617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    QNativeFunctionWithArgData(QScriptEnginePrivate* engine, QScriptEngine::FunctionWithArgSignature fun, void* arg)
460617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        : engine(engine)
470617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        , fun(fun)
480617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        , arg(arg)
490617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    {
500617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    }
510617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen
520617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    QScriptEnginePrivate* engine;
530617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    QScriptEngine::FunctionWithArgSignature fun;
540617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    void* arg;
550617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen};
560617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen
570617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen#endif
58