Eneboo - Documentación para desarrolladores
src/qsa/src/engine/qsfuncref.h
Ir a la documentación de este archivo.
00001 /****************************************************************************
00002 ** $Id: qsfuncref.h  1.1.5   edited 2006-02-23T15:39:57$
00003 **
00004 ** Copyright (C) 2001-2006 Trolltech AS.  All rights reserved.
00005 **
00006 ** This file is part of the Qt Script for Applications framework (QSA).
00007 **
00008 ** This file may be distributed and/or modified under the terms of the
00009 ** GNU General Public License version 2 as published by the Free Software
00010 ** Foundation and appearing in the file LICENSE.GPL included in the
00011 ** packaging of this file.
00012 **
00013 ** Licensees holding a valid Qt Script for Applications license may use
00014 ** this file in accordance with the Qt Script for Applications License
00015 ** Agreement provided with the Software.
00016 **
00017 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00018 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00019 **
00020 ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
00021 **   information about QSA Commercial License Agreements.
00022 ** See http://www.trolltech.com/gpl/ for GPL licensing information.
00023 **
00024 ** Contact info@trolltech.com if any conditions of this licensing are
00025 ** not clear to you.
00026 **
00027 *****************************************************************************/
00028 
00029 #ifndef QSFUNCREF_H
00030 #define QSFUNCREF_H
00031 
00032 #include "qsclass.h"
00033 
00034 class QSFuncRefClass : public QSSharedClass
00035 {
00036 public:
00037   QSFuncRefClass(QSClass *b) : QSSharedClass(b, AttributeExecutable) { }
00038   QString name() const {
00039     return QString::fromLatin1("Function");
00040   }
00041 
00042   virtual QSEqualsResult isEqual(const QSObject &a, const QSObject &b) const;
00043 
00044   bool toBoolean(const QSObject *) const;
00045   double toNumber(const QSObject *obj) const;
00046   QString toString(const QSObject *) const;
00047 
00048   QSObject construct(const QSList &args) const;
00049   QSObject cast(const QSList &args) const;
00050 
00051   QSObject createReference(const QSObject &base, const QSMember &mem) const;
00052 
00053 
00054   static QSMember refMember(const QSObject &ref);
00055   static ScopeChain refScope(const QSObject &ref);
00056   static QSObject refBase(const QSObject &ref);
00057 
00058 protected:
00059   virtual QSObject invoke(QSObject *objPtr, const QSMember &mem) const;
00060 };
00061 
00062 #endif
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'