Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |
This is the verbatim text of the qaxscript.h include file. It is provided only for illustration; the copyright remains with Trolltech.
/**************************************************************************** ** $Id: qt/qaxscript.h 3.3.8 edited Jan 11 14:46 $ ** ** Declaration of the TQAxScriptEngine, TQAxScript and TQAxScriptManager classes ** ** Copyright (C) 2002-2007 Trolltech ASA. All rights reserved. ** ** This file is part of the Active TQt integration. ** ** Licensees holding valid TQt Enterprise Edition ** licenses for Windows may use this file in accordance with the TQt Commercial ** License Agreement provided with the Software. ** ** This file is not available for use under any other license without ** express written permission from the copyright holder. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for ** information about TQt Commercial License Agreements. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #ifndef TQAXSCRIPT_H #define TQAXSCRIPT_H #include <qaxobject.h> class TQAxBase; class TQAxScript; class TQAxScriptSite; class TQAxScriptEngine; class TQAxScriptManager; class TQAxScriptManagerPrivate; struct IActiveScript; class TQAxScriptEngine : public TQAxObject { public: enum State { Uninitialized = 0, Initialized = 5, Started = 1, Connected = 2, Disconnected = 3, Closed = 4 }; TQAxScriptEngine(const TQString &language, TQAxScript *script); ~TQAxScriptEngine(); bool isValid() const; bool hasIntrospection() const; TQString scriptLanguage() const; State state() const; void setState(State st); void addItem(const TQString &name); long queryInterface( const TQUuid &, void** ) const; protected: bool initialize(IUnknown** ptr); private: TQAxScript *script_code; IActiveScript *engine; TQString script_language; }; class TQAxScript : public TQObject { TQ_OBJECT public: enum FunctionFlags { FunctionNames = 0, FunctionSignatures }; TQAxScript(const TQString &name, TQAxScriptManager *manager); ~TQAxScript(); bool load(const TQString &code, const TQString &language = TQString::null); TQStringList functions(FunctionFlags = FunctionNames) const; TQString scriptCode() const; TQString scriptName() const; TQAxScriptEngine *scriptEngine() const; TQVariant call(const TQString &function, const TQVariant &v1 = TQVariant(), const TQVariant &v2 = TQVariant(), const TQVariant &v3 = TQVariant(), const TQVariant &v4 = TQVariant(), const TQVariant &v5 = TQVariant(), const TQVariant &v6 = TQVariant(), const TQVariant &v7 = TQVariant(), const TQVariant &v8 = TQVariant()); TQVariant call(const TQString &function, TQValueList<TQVariant> &arguments); signals: void entered(); void finished(); void finished(const TQVariant &result); void finished(int code, const TQString &source,const TQString &description, const TQString &help); void stateChanged(int state); void error(int code, const TQString &description, int sourcePosition, const TQString &sourceText); private: friend class TQAxScriptSite; friend class TQAxScriptEngine; void updateObjects(); TQAxBase *findObject(const TQString &name); TQString script_name; TQString script_code; TQAxScriptManager *script_manager; TQAxScriptEngine *script_engine; TQAxScriptSite *script_site; }; class TQAxScriptManager : public TQObject { TQ_OBJECT public: TQAxScriptManager( TQObject *parent = 0, const char *name = 0 ); ~TQAxScriptManager(); void addObject(TQAxBase *object); void addObject(TQObject *object); TQStringList functions(TQAxScript::FunctionFlags = TQAxScript::FunctionNames) const; TQStringList scriptNames() const; TQAxScript *script(const TQString &name) const; TQAxScript* load(const TQString &code, const TQString &name, const TQString &language); TQAxScript* load(const TQString &file, const TQString &name); TQVariant call(const TQString &function, const TQVariant &v1 = TQVariant(), const TQVariant &v2 = TQVariant(), const TQVariant &v3 = TQVariant(), const TQVariant &v4 = TQVariant(), const TQVariant &v5 = TQVariant(), const TQVariant &v6 = TQVariant(), const TQVariant &v7 = TQVariant(), const TQVariant &v8 = TQVariant()); TQVariant call(const TQString &function, TQValueList<TQVariant> &arguments); static bool registerEngine(const TQString &name, const TQString &extension, const TQString &code = TQString()); static TQString scriptFileFilter(); signals: void error(TQAxScript *script, int code, const TQString &description, int sourcePosition, const TQString &sourceText); private slots: void objectDestroyed(TQObject *o); void scriptError(int code, const TQString &description, int sourcePosition, const TQString &sourceText); private: friend class TQAxScript; TQAxScriptManagerPrivate *d; void updateScript(TQAxScript*); TQAxScript *scriptForFunction(const TQString &function) const; }; // TQAxScript inlines inline TQString TQAxScript::scriptCode() const { return script_code; } inline TQString TQAxScript::scriptName() const { return script_name; } inline TQAxScriptEngine *TQAxScript::scriptEngine() const { return script_engine; } // TQAxScriptEngine inlines inline bool TQAxScriptEngine::isValid() const { return engine != 0; } inline TQString TQAxScriptEngine::scriptLanguage() const { return script_language; } // TQAxScriptManager inlines inline void TQAxScriptManager::addObject(TQObject *object) { extern TQAxBase *qax_create_object_wrapper(TQObject*); TQAxBase *wrapper = qax_create_object_wrapper(object); addObject(wrapper); } #endif // TQAXSCRIPT_H
Copyright © 2007 Trolltech | Trademarks | TQt 3.3.8
|