Alien-SmokeQt

 view release on metacpan or  search on metacpan

AUTHORS  view on Meta::CPAN

DCOP C Bindings: - DCOP protocol and C++ implementation by
                    Matthias Ettrich <ettrich@kde.org>
                    Preston Brown <pbrown@kde.org>
                    Waldo Bastian <bastian@kde.org>
                 - C bindings by Simon Hausmann <simon@kde.org>
                   port to GtkObject by Lars Knoll <knoll@kde.org>

CMakeLists.txt  view on Meta::CPAN

project(kdebindings)

cmake_minimum_required(VERSION 2.6)

add_subdirectory(generator)
add_subdirectory(cmake/modules)

# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake/modules )

# search packages used by Qt

CMakeLists.txt  view on Meta::CPAN

include(MacroOptionalAddSubdirectory)
include(MacroLogFeature)

add_definitions (${QT_DEFINITIONS})
include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
if(WITH_QT3_SUPPORT)
    add_definitions(-DQT3_SUPPORT)
endif(WITH_QT3_SUPPORT)

macro_optional_find_package(QImageBlitz)
macro_log_feature(QIMAGEBLITZ_FOUND "QImageBlitz" "QImageBlitz library" "http://www.kde.org" FALSE "" "Needed to compile QImageBlitz bindings")

macro_optional_find_package(Qwt5)
macro_log_feature(Qwt5_Qt4_FOUND "Qwt5 for Qt4" "Qwt5 libraries for Qt4" "http://qwt.sourceforge.net" FALSE "" "Needed to compile Qwt5 bindings")

macro_optional_find_package(Phonon)
macro_log_feature(PHONON_FOUND "Phonon" "Phonon multimedia framework" "http://www.kde.org" FALSE "" "Needed to compile Phonon bindings")

macro_optional_find_package(QScintilla)
macro_log_feature(QSCINTILLA_FOUND "QScintilla2" "QScintilla2 libraries" "http://www.riverbankcomputing.co.uk/software/qscintilla/intro" FALSE "" "Needed to compile QScintilla2 bindings")

macro_optional_add_subdirectory(smoke)

install( FILES lib/Alien/SmokeQt.pm DESTINATION ${CMAKE_INSTALL_PREFIX}/../ )

ENABLE_TESTING()
macro_display_feature_log()

ChangeLog  view on Meta::CPAN

2008-05-13  Arno Rehn  <arno@arnorehn.de>

	* Merged the modular smoke branch with trunk.

2004-06-27  Richard Dale  <Richard_Dale@tipitina.demon.co.uk>

	* The qtruby and korundum ruby bindings are built by default
	* Both Qt only and Qt/KDE versions of the Smoke library are built

2002-11-05 Marcus Urban <murban@mylinuxisp.com>
	* Match changes made in KDE's RGBColor class in kdec, kdejava
	* Various changes in qtc and qtjava to match changes in Qt 3.1

2002-04-12  Richard Dale <duke@tipitina.demon.co.uk>

	* qtobjc is now built before kdeobjc

2002-04-12  Richard Dale <duke@tipitina.demon.co.uk>
	* added some extra Objective-C macro initialisation
	* kdec is now built by default
2001-11-16  Richard Dale <duke@tipitina.demon.co.uk
	* added kalyptus - kdoc derived bindings generator for 
          C/Objective-C/Java. Initial checkin.
2001-11-15  Richard Dale <duke@tipitina.demon.co.uk
	* added Qt 3 beta6/KDE 3 alpha1/GNUstep Foundation Kit 
          Objective-C bindings
2001-10-22  Richard Dale <duke@tipitina.demon.co.uk
	* added Qt 3 beta6/KDE 3 alpha1 C bindings
2000-11-06  Simon Hausmann  <simon@kde.org>
	* added dcop c bindings

README  view on Meta::CPAN

# Disable compiling of the Kross Ruby and Python backends
cmake -DENABLE_KROSSRUBY=off -DENABLE_KROSSPYTHON=off .
# Enable compiling of the Kross Java and Falcon backends
cmake -DENABLE_KROSSJAVA=on -DENABLE_KROSSFALCON=on .

Notes for developers
--------------------

This package contains:
* working:
  * smoke: Language independent library for Qt and KDE bindings. Used by QtRuby, 
    PerlQt and Qyoto.
  * kalyptus: a header parser and bindings generator for Qt/KDE. Used for Smoke.
  * qtruby: Qt bindings for Ruby
  * korundum: KDE bindings for ruby
  * Qyoto: Qt bindings for C#
  * Kimono: KDE bindings for C#
  * PyKDE: KDE bindings for python, requires PyQt from riverbankcomputing.co.uk
  * KrossPython is the Python plugin for the kdelibs/kross scripting framework.
  * KrossRuby is the Ruby plugin for the kdelibs/kross scripting framework.
  * KrossJava is the Java plugin for the kdelibs/kross scripting framework.
  * KrossFalcon is the Falcon (http://www.falconpl.org) plugin for the kdelibs/kross scripting framework.

* possibly broken: 
  * xparts: allows you to embed non-KDE apps as a KPart

* obsolete:
  * dcopperl: DCOP bindings for Perl
    => perldbus
  * kjsembed: javascript scripting support library for KDE applications
    => moved to kdelibs
  * qtjava: Qt bindings for Java JNI to use Qt/KDE classes with Java
    => QtJambi
  * kdejava: KDE bindings for Java JNI to use Qt/KDE classes with Java
    => QtJambi
  * dcoppython: DCOP bindings for Python
    => pythondbus
  * dcopc: DCOP bindings for C 
    => qdbus
  * dcopjava: DCOP bindings for JAVA
    => QtJambi
  * qtsharp: C# bindings for Qt
    => Qyoto

cmake/modules/MacroOptionalAddBindings.cmake  view on Meta::CPAN

# Copyright (c) 2010 Maciej Mrozowski <reavertm@gmail.com>
#
# Redistribution and use is allowed according to the terms of the GPL license.

# Conditionally enable bindings.
# Pass -DDISABLE_<component_name>=ON to disable certain binding even if its dependencies are found.
# CMake project needs to be set before using this macro.
# Macro sets following variables:
#     ${CMAKE_PROJECT_NAME}_ENABLED - list of enabled bindings
#     ${CMAKE_PROJECT_NAME}_DISABLED - list of disabled bindings
# Usage:
#     macro_optional_add_bindings(<component_found> <component_name> <subdir1> [<subdir2> ...])
#
# Example:
#     project(SMOKE)
#     [...]
#     macro_optional_add_bindings(NEPOMUK_FOUND "Nepomuk" nepomuk nepomukquery)
#     [...]
#     macro_display_bindings_log()
macro(MACRO_OPTIONAL_ADD_BINDINGS _component_found _component_name)
    get_property(_PREFIX VARIABLE PROPERTY PROJECT_NAME)
    if(${_component_found} AND NOT DISABLE_${_component_name})
        foreach(_subdir ${ARGN})
            add_subdirectory(${_subdir})
        endforeach(_subdir ${ARGN})
        list(APPEND ${_PREFIX}_ENABLED ${_component_name})
    else(${_component_found} AND NOT DISABLE_${_component_name})
        list(APPEND ${_PREFIX}_DISABLED ${_component_name})
    endif(${_component_found} AND NOT DISABLE_${_component_name})
    set(_PREFIX)
endmacro(MACRO_OPTIONAL_ADD_BINDINGS)

# Show bindings summary
# Usage:
#     macro_display_bindings_log()
macro(MACRO_DISPLAY_BINDINGS_LOG)
    get_property(_PREFIX VARIABLE PROPERTY PROJECT_NAME)
    if (${_PREFIX}_ENABLED)
        list(SORT ${_PREFIX}_ENABLED)
    endif (${_PREFIX}_ENABLED)
    if (${_PREFIX}_DISABLED)
        list(SORT ${_PREFIX}_DISABLED)
    endif (${_PREFIX}_DISABLED)
    message(STATUS "Build ${_PREFIX} bindings: ${${_PREFIX}_ENABLED}")
    message(STATUS "Skip ${_PREFIX} bindings: ${${_PREFIX}_DISABLED}")
    set(_PREFIX)
endmacro(MACRO_DISPLAY_BINDINGS_LOG)

cmake/modules/SmokeConfig.cmake.in  view on Meta::CPAN

# Find smoke libraries.
#
# Use:
#
# find_package(Smoke [REQUIRED] COMPONENTS QtCore QtGui <other components>)
#
# Defines:
#
# SMOKE_INCLUDE_DIR                 Directory in which smoke.h is located
# SMOKE_CMAKE_MODULE_DIR            Directory with additional cmake files used by kdebindings
# SMOKE_GEN_BIN                     The path of the smokegen executable
# SMOKE_GEN_SHARED                  Directory in which commonly used smokegen files reside
# SMOKE_API_BIN                     The path of the smokeapi executable
# SMOKE_GENERATOR_SMOKE_LIB         Path of generator_smoke library
# SMOKE_GENERATOR_DUMP_LIB          Path of generator_dump library
# SMOKE_<component>_INCLUDE_DIR     Directory in which to find smoke/<component>_smoke.h
# SMOKE_<component>_LIBRARY         Library for the smoke lib
#
# Copyright (c) 2010, Arno Rehn <arno@arnorehn.de>
#           (c) 2010, Ian Monroe <ian@monroe.nu>

generator/README  view on Meta::CPAN

SMOKE stands for "Scripting Meta Object Kompiler Engine" - for instance ;)

This directory compiles a smokeqt (and later a smokekde) library, which
contain interfaces to (almost) all Qt and KDE classes.
The next PerlQt/PerlKDE will be based on SMOKE.
However SMOKE is language-independent enough for other bindings (e.g. to
other scripting languages) to be based on it.

Note that the .cpp source files are auto-generated by kalyptus, from reading
the Qt/KDE headers.


Regenerating
============

For SmokeQt:

generator/generators/smoke/writeClasses.cpp  view on Meta::CPAN

            if (i > 0) out << ", ";
            out << meth.exceptionTypes()[i].toString();
        }
        out << ") ";
    }
    out << "{\n";
    out << QString("        Smoke::StackItem x[%1];\n").arg(meth.parameters().count() + 1);
    out << x_params;
    
    if (meth.flags() & Method::PureVirtual) {
        out << QString("        this->_binding->callMethod(%1, (void*)this, x, true /*pure virtual*/);\n").arg(m_smokeData->methodIdx[&meth]);
        if (meth.type() != Type::Void) {
            QString field = Util::stackItemField(meth.type());
            if (meth.type()->pointerDepth() == 0 && field == "s_class") {
                QString tmpType = type;
                if (meth.type()->isRef()) tmpType.replace('&', "");
                tmpType.append('*');
                out << "        " << tmpType << " xptr = (" << tmpType << ")x[0].s_class;\n";
                out << "        " << type << " xret(*xptr);\n";
                out << "        delete xptr;\n";
                out << "        return xret;\n";
            } else {
                out << QString("        return (%1)x[0].%2;\n").arg(type, Util::stackItemField(meth.type()));
            }
        }
    } else {
        out << QString("        if (this->_binding->callMethod(%1, (void*)this, x)) ").arg(m_smokeData->methodIdx[&meth]);
        if (meth.type() == Type::Void) {
            out << "return;\n";
        } else {
            QString field = Util::stackItemField(meth.type());
            if (meth.type()->pointerDepth() == 0 && field == "s_class") {
                QString tmpType = type;
                if (meth.type()->isRef()) tmpType.replace('&', "");
                tmpType.append('*');
                out << "{\n";
                out << "            " << tmpType << " xptr = (" << tmpType << ")x[0].s_class;\n";

generator/generators/smoke/writeClasses.cpp  view on Meta::CPAN


    out << QString("class %1").arg(smokeClassName);
    if (!klass->isNameSpace()) {
        out << QString(" : public %1").arg(className);
        if (Util::hasClassVirtualDestructor(klass) && Util::hasClassPublicDestructor(klass)) {
            out << ", public __internal_SmokeClass";
        }
    }
    out << " {\n";
    if (Util::canClassBeInstanciated(klass)) {
        out << "    SmokeBinding* _binding;\n";
        out << "public:\n";
        out << "    void x_0(Smoke::Stack x) {\n";
        out << "        // set the smoke binding\n";
        out << "        _binding = (SmokeBinding*)x[1].s_class;\n";
        out << "    }\n";
        
        switchOut << "        case 0: xself->x_0(args);\tbreak;\n";
    } else {
        out << "public:\n";
    }
    
    int xcall_index = 1;
    const Method *destructor = 0;
    foreach (const Method& meth, klass->methods()) {

generator/generators/smoke/writeClasses.cpp  view on Meta::CPAN

    if (Util::canClassBeInstanciated(klass)) {
        out << "    ~" << smokeClassName << "() ";
        if (destructor && destructor->hasExceptionSpec()) {
            out << "throw(";
            for (int i = 0; i < destructor->exceptionTypes().count(); i++) {
                if (i > 0) out << ", ";
                out << destructor->exceptionTypes()[i].toString();
            }
            out << ") ";
        }
        out << QString("{ this->_binding->deleted(%1, (void*)this); }\n").arg(m_smokeData->classIndex[className]);
    }
    out << "};\n";
    
    if (enumFound) {
        out << "void xenum_" << underscoreName << "(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {\n";
        out << "    " << smokeClassName << "::xenum_operation(xop, xtype, xdata, xvalue);\n";
        out << "}\n";
    }
    
    // xcall_class function

generator/parser/rxx.pri  view on Meta::CPAN

           $$RXXPATH/listnode.h \
           $$RXXPATH/parser.h \
           $$RXXPATH/rxx_allocator.h \
           $$RXXPATH/memorypool.h \
           $$RXXPATH/tokens.h \
           $$RXXPATH/symbol.h \
           $$RXXPATH/control.h \
           $$RXXPATH/visitor.h \
           $$RXXPATH/default_visitor.h \
           $$RXXPATH/dumptree.h \
           $$RXXPATH/binder.h \
           $$RXXPATH/codemodel.h \
           $$RXXPATH/codemodel_fwd.h \
           $$RXXPATH/type_compiler.h \
           $$RXXPATH/name_compiler.h \
           $$RXXPATH/declarator_compiler.h \
           $$RXXPATH/class_compiler.h \
           $$RXXPATH/codemodel_finder.h \
           $$RXXPATH/compiler_utils.h \
           $$RXXPATH/kdevsharedptr.h \
           $$RXXPATH/problem.h

generator/parser/rxx.pri  view on Meta::CPAN

SOURCES += $$RXXPATH/ast.cpp \
           $$RXXPATH/lexer.cpp \
           $$RXXPATH/listnode.cpp \
           $$RXXPATH/parser.cpp \
           $$RXXPATH/memorypool.cpp \
           $$RXXPATH/control.cpp \
           $$RXXPATH/visitor.cpp \
           $$RXXPATH/default_visitor.cpp \
           $$RXXPATH/dumptree.cpp \
           $$RXXPATH/tokens.cpp \
           $$RXXPATH/binder.cpp \
           $$RXXPATH/codemodel.cpp \
           $$RXXPATH/type_compiler.cpp \
           $$RXXPATH/name_compiler.cpp \
           $$RXXPATH/declarator_compiler.cpp \
           $$RXXPATH/class_compiler.cpp \
           $$RXXPATH/codemodel_finder.cpp \
           $$RXXPATH/compiler_utils.cpp \
           $$RXXPATH/problem.cpp

generator/parser/rxx_allocator.h  view on Meta::CPAN

  }

  /**Deallocate does nothing in this implementation.*/
  void deallocate(pointer /*__p*/, size_type /*__n*/) {}

  size_type max_size() const { return size_type(-1) / sizeof(_Tp); }

  void construct(pointer __p, const_reference __val) { new (__p) _Tp(__val); }
  void destroy(pointer __p) { __p->~_Tp(); }

  template <class _Tp1> struct rebind {
    typedef rxx_allocator<_Tp1> other;
  };

private:

  void init()
  {
    _M_block_index = max_block_count;
    _M_current_index = 0;
    _M_storage = 0;

smoke/qt/CMakeLists.txt  view on Meta::CPAN

add_definitions(-DSMOKE_BUILDING)

include_directories(${CMAKE_SOURCE_DIR}/smoke/qt ${CMAKE_SOURCE_DIR}/generator)

add_subdirectory(qtcore)
macro_optional_add_bindings(QT_QTNETWORK_FOUND "QtNetwork" qtnetwork)
macro_optional_add_bindings(QT_QTDBUS_FOUND "QtDBus" qtdbus)
macro_optional_add_bindings(QT_QTDECLARATIVE_FOUND "QtDeclarative" qtdeclarative)
macro_optional_add_bindings(QT_QTGUI_FOUND "QtGui" qtgui)
macro_optional_add_bindings(QT_QTSVG_FOUND "QtSvg" qtsvg)
macro_optional_add_bindings(QT_QTSQL_FOUND "QtSql" qtsql)
macro_optional_add_bindings(QT_QTXML_FOUND "QtXml" qtxml)
macro_optional_add_bindings(QT_QTXMLPATTERNS_FOUND "QtXmlPatterns" qtxmlpatterns)
macro_optional_add_bindings(QT_QTOPENGL_FOUND "QtOpenGL" qtopengl)
macro_optional_add_bindings(QT_QTWEBKIT_FOUND "QtWebKit" qtwebkit)
macro_optional_add_bindings(QT_QTSCRIPT_FOUND "QtScript" qtscript)
macro_optional_add_bindings(QT_QTUITOOLS_FOUND "QtUiTools" qtuitools)
macro_optional_add_bindings(QT_QTTEST_FOUND "QtTest" qttest)
macro_optional_add_bindings(QT_QTMULTIMEDIA_FOUND "QtMultimedia" qtmultimedia)
macro_optional_add_bindings(QT_QT3SUPPORT_FOUND "Qt3Support" qt3support)
macro_optional_add_bindings(QT_QTHELP_FOUND "QtHelp" qthelp)

macro_optional_add_bindings(PHONON_FOUND "Phonon" phonon)

macro_optional_add_bindings(QSCINTILLA_FOUND "QScintilla" qsci)

macro_optional_add_bindings(Qwt5_Qt4_FOUND "Qwt" qwt)

macro_optional_add_bindings(QIMAGEBLITZ_FOUND "QImageBlitz" qimageblitz)

# for qtguess.pl
if (APPLE)
set(qt_test_threshold 15)
else (APPLE)
set(qt_test_threshold 10)
endif (APPLE)

macro_display_bindings_log()

smoke/qt/qt3support/smokeconfig.xml  view on Meta::CPAN

        <!-- both are classes, but they are represented as Smoke::t_voidp -->
        <typeName>QStringList</typeName>
        <typeName>QString</typeName>
    </voidpTypes>
    <exclude>
        <!-- we don't want private stuff in smoke.. -->
        <signature>.*::d</signature>
        <signature>.*::d_ptr</signature>
        <signature>.*::q_ptr</signature>
        <signature>.*\(.*Private.*\).*</signature>
        <!-- Thread related stuff belongs to the bindings language -->
        <signature>.*QtConcurrent.*</signature>
        <!-- this doesn't link, internal stuff.. -->
        <signature>.*qFindString.*</signature>
        <!-- windows internal helper functions -->
        <signature>.*qFrom.*Endian_helper.*</signature>
        <signature>.*QIPv6Address::c.*</signature>
   </exclude>
    <functions>
        <!-- include functions starting with 'q' -->
        <name>^q.*</name>

smoke/qt/qtcore/smokeconfig.xml  view on Meta::CPAN

        <signature>.*\(.*Private.*\).*</signature>
        <signature>.*QLocale::p</signature>
        <signature>.*QLocale::v</signature>
        <signature>.*QByteArrayMatcher::dummy</signature>
        <signature>.*QByteArrayMatcher::p</signature>
        <signature>.*QResource::QResource\(const QResource&amp;\).*</signature>
        <signature>.*QStringMatcher::q_data</signature>
        <signature>.*QStringMatcher::p</signature>
        <!-- why doesn't this work?! -->
        <signature>.*QTextCodec::ConverterState::state_data.*</signature>
        <!-- Thread related stuff belongs to the bindings language -->
        <signature>.*QtConcurrent.*</signature>
        <!-- this doesn't link, internal stuff.. -->
        <signature>.*qFindString.*</signature>
        <!-- windows internal helper functions -->
        <signature>.*qFrom.*Endian_helper.*</signature>
    </exclude>
    <functions>
        <!-- include functions starting with 'q' -->
        <name>^q.*</name>
        <name>.*::q.*</name>

smoke/qt/qtdbus/smokeconfig.xml  view on Meta::CPAN

        <typeName>QString</typeName>
        <typeName>QDBusObjectPath</typeName>
        <typeName>QDBusSignature</typeName>
    </voidpTypes>
    <exclude>
        <!-- we don't want private stuff in smoke.. -->
        <signature>.*::d</signature>
        <signature>.*::d_ptr</signature>
        <signature>.*::q_ptr</signature>
        <signature>.*\(.*Private.*\).*</signature>
        <!-- Thread related stuff belongs to the bindings language -->
        <signature>.*QtConcurrent.*</signature>
        <signature>.*QDomNode.*</signature>
        <!-- this doesn't link, internal stuff.. -->
        <signature>.*qFindString.*</signature>
        <!-- windows internal helper functions -->
        <signature>.*qFrom.*Endian_helper.*</signature>
   </exclude>
    <functions>
        <!-- include functions starting with 'q' -->
        <name>^q.*</name>

smoke/qt/qtdeclarative/smokeconfig.xml  view on Meta::CPAN

        <!-- both are classes, but they are represented as Smoke::t_voidp -->
        <typeName>QStringList</typeName>
        <typeName>QString</typeName>
    </voidpTypes>
    <exclude>
        <!-- we don't want private stuff in smoke.. -->
        <signature>.*::d</signature>
        <signature>.*::d_ptr</signature>
        <signature>.*::q_ptr</signature>
        <signature>.*\(.*Private.*\).*</signature>
        <!-- Thread related stuff belongs to the bindings language -->
        <signature>.*QtConcurrent.*</signature>
        <!-- this doesn't link, internal stuff.. -->
        <signature>.*qFindString.*</signature>
        <signature>.*qmlRegisterTypeNotAvailable.*</signature>
        <!-- windows internal helper functions -->
        <signature>.*qFrom.*Endian_helper.*</signature>
   </exclude>
    <functions>
        <!-- include functions starting with 'q' -->
        <name>^q.*</name>

smoke/qt/qtgui/smokeconfig.xml  view on Meta::CPAN

    </voidpTypes>
    <exclude>
        <!-- we don't want private stuff in smoke.. -->
        <signature>.*\(.*Private.*\).*</signature>
        <signature>.*::d_ptr</signature>
        <signature>.*::q_ptr</signature>
        <signature>.*QGraphicsLayoutItem::QGraphicsLayoutItem\(const QGraphicsLayoutItem&amp;\).*</signature>
        <signature>.*QGraphicsSceneEvent::QGraphicsSceneEvent\(const QGraphicsSceneEvent&amp;\).*</signature>
        <signature>.*QGraphicsScene.*Event::QGraphicsScene.*Event\(const QGraphicsScene.*Event&amp;\).*</signature>
        <signature>.*QPainterPathStroker::QPainterPathStroker\(const QPainterPathStroker&amp;\)</signature>
        <!-- Thread related stuff belongs to the bindings language -->
        <signature>.*QtConcurrent.*</signature>
        <!-- this doesn't link, internal stuff.. -->
        <signature>.*qFindString.*</signature>
        <!-- windows internal helper functions -->
        <signature>.*qFrom.*Endian_helper.*</signature>
        <signature>.*QPixmapData.*</signature>
        <signature>.*qt_x11_getX11InfoForWindow.*</signature>
   </exclude>
    <functions>
        <!-- include functions starting with 'q' -->

smoke/qt/qthelp/smokeconfig.xml  view on Meta::CPAN

        <!-- both are classes, but they are represented as Smoke::t_voidp -->
        <typeName>QStringList</typeName>
        <typeName>QString</typeName>
    </voidpTypes>
    <exclude>
        <!-- we don't want private stuff in smoke.. -->
        <signature>.*::d</signature>
        <signature>.*::d_ptr</signature>
        <signature>.*::q_ptr</signature>
        <signature>.*\(.*Private.*\).*</signature>
        <!-- Thread related stuff belongs to the bindings language -->
        <signature>.*QtConcurrent.*</signature>
        <signature>.*QDomNode.*</signature>
        <!-- this doesn't link, internal stuff.. -->
        <signature>.*qFindString.*</signature>
        <!-- windows internal helper functions -->
        <signature>.*qFrom.*Endian_helper.*</signature>
   </exclude>
    <functions>
        <!-- include functions starting with 'q' -->
        <name>^q.*</name>

smoke/qt/qtmultimedia/smokeconfig.xml  view on Meta::CPAN

        <!-- both are classes, but they are represented as Smoke::t_voidp -->
        <typeName>QStringList</typeName>
        <typeName>QString</typeName>
    </voidpTypes>
    <exclude>
        <!-- we don't want private stuff in smoke.. -->
        <signature>.*::d</signature>
        <signature>.*::d_ptr</signature>
        <signature>.*::q_ptr</signature>
        <signature>.*\(.*Private.*\).*</signature>
        <!-- Thread related stuff belongs to the bindings language -->
        <signature>.*QtConcurrent.*</signature>
        <!-- this doesn't link, internal stuff.. -->
        <signature>.*qFindString.*</signature>
        <!-- windows internal helper functions -->
        <signature>.*qFrom.*Endian_helper.*</signature>
   </exclude>
    <functions>
        <!-- include functions starting with 'q' -->
        <name>^q.*</name>
        <name>.*::q.*</name>

smoke/qt/qtnetwork/smokeconfig.xml  view on Meta::CPAN

        <!-- both are classes, but they are represented as Smoke::t_voidp -->
        <typeName>QStringList</typeName>
        <typeName>QString</typeName>
    </voidpTypes>
    <exclude>
        <!-- we don't want private stuff in smoke.. -->
        <signature>.*::d</signature>
        <signature>.*::d_ptr</signature>
        <signature>.*::q_ptr</signature>
        <signature>.*\(.*Private.*\).*</signature>
        <!-- Thread related stuff belongs to the bindings language -->
        <signature>.*QtConcurrent.*</signature>
        <!-- this doesn't link, internal stuff.. -->
        <signature>.*qFindString.*</signature>
        <!-- windows internal helper functions -->
        <signature>.*qFrom.*Endian_helper.*</signature>
         <signature>.*QIPv6Address::c.*</signature>
   </exclude>
    <functions>
        <!-- include functions starting with 'q' -->
        <name>^q.*</name>

smoke/qt/qtopengl/smokeconfig.xml  view on Meta::CPAN

        <!-- both are classes, but they are represented as Smoke::t_voidp -->
        <typeName>QStringList</typeName>
        <typeName>QString</typeName>
    </voidpTypes>
    <exclude>
        <!-- we don't want private stuff in smoke.. -->
        <signature>.*::d</signature>
        <signature>.*::d_ptr</signature>
        <signature>.*::q_ptr</signature>
        <signature>.*\(.*Private.*\).*</signature>
        <!-- Thread related stuff belongs to the bindings language -->
        <signature>.*QtConcurrent.*</signature>
        <signature>.*QDomNode.*</signature>
        <!-- this doesn't link, internal stuff.. -->
        <signature>.*qFindString.*</signature>
        <!-- windows internal helper functions -->
        <signature>.*qFrom.*Endian_helper.*</signature>
   </exclude>
    <functions>
        <!-- include functions starting with 'q' -->
        <name>^q.*</name>

smoke/qt/qtsql/smokeconfig.xml  view on Meta::CPAN

        <!-- both are classes, but they are represented as Smoke::t_voidp -->
        <typeName>QStringList</typeName>
        <typeName>QString</typeName>
    </voidpTypes>
    <exclude>
        <!-- we don't want private stuff in smoke.. -->
        <signature>.*::d</signature>
        <signature>.*::d_ptr</signature>
        <signature>.*::q_ptr</signature>
        <signature>.*\(.*Private.*\).*</signature>
        <!-- Thread related stuff belongs to the bindings language -->
        <signature>.*QtConcurrent.*</signature>
        <signature>.*QDomNode.*</signature>
        <!-- this doesn't link, internal stuff.. -->
        <signature>.*qFindString.*</signature>
        <!-- windows internal helper functions -->
        <signature>.*qFrom.*Endian_helper.*</signature>
   </exclude>
    <functions>
        <!-- include functions starting with 'q' -->
        <name>^q.*</name>

smoke/qt/qtsvg/smokeconfig.xml  view on Meta::CPAN

        <!-- both are classes, but they are represented as Smoke::t_voidp -->
        <typeName>QStringList</typeName>
        <typeName>QString</typeName>
    </voidpTypes>
    <exclude>
        <!-- we don't want private stuff in smoke.. -->
        <signature>.*::d</signature>
        <signature>.*::d_ptr</signature>
        <signature>.*::q_ptr</signature>
        <signature>.*\(.*Private.*\).*</signature>
        <!-- Thread related stuff belongs to the bindings language -->
        <signature>.*QtConcurrent.*</signature>
        <signature>.*QDomNode.*</signature>
        <!-- this doesn't link, internal stuff.. -->
        <signature>.*qFindString.*</signature>
        <!-- windows internal helper functions -->
        <signature>.*qFrom.*Endian_helper.*</signature>
   </exclude>
    <functions>
        <!-- include functions starting with 'q' -->
        <name>^q.*</name>

smoke/qt/qtxml/smokeconfig.xml  view on Meta::CPAN

        <!-- both are classes, but they are represented as Smoke::t_voidp -->
        <typeName>QStringList</typeName>
        <typeName>QString</typeName>
    </voidpTypes>
    <exclude>
        <!-- we don't want private stuff in smoke.. -->
        <signature>.*::d</signature>
        <signature>.*::d_ptr</signature>
        <signature>.*::q_ptr</signature>
        <signature>.*\(.*Private.*\).*</signature>
        <!-- Thread related stuff belongs to the bindings language -->
        <signature>.*QtConcurrent.*</signature>
        <!-- this doesn't link, internal stuff.. -->
        <signature>.*qFindString.*</signature>
        <!-- windows internal helper functions -->
        <signature>.*qFrom.*Endian_helper.*</signature>
   </exclude>
    <functions>
        <!-- include functions starting with 'q' -->
        <name>^q.*</name>
        <name>.*::q.*</name>

smoke/qt/qtxmlpatterns/smokeconfig.xml  view on Meta::CPAN

        <!-- both are classes, but they are represented as Smoke::t_voidp -->
        <typeName>QStringList</typeName>
        <typeName>QString</typeName>
    </voidpTypes>
    <exclude>
        <!-- we don't want private stuff in smoke.. -->
        <signature>.*::d</signature>
        <signature>.*::d_ptr</signature>
        <signature>.*::q_ptr</signature>
        <signature>.*\(.*Private.*\).*</signature>
        <!-- Thread related stuff belongs to the bindings language -->
        <signature>.*QtConcurrent.*</signature>
        <signature>.*QAbstractXmlForwardIterator.*</signature>
        <signature>.*QPatternist::ItemType.*</signature>
        <!-- The following methods aren't in the lib -->
        <signature>.*QXmlNodeModelIndex::namespaceBindings.*</signature>
        <signature>.*QXmlNodeModelIndex::sendNamespaces.*</signature>
        <signature>.*QXmlNodeModelIndex::compareOrder.*</signature>
        <signature>.*QXmlNodeModelIndex::isDeepEqual.*</signature>
        <signature>.*QXmlNodeModelIndex::kind.*</signature>
        <signature>.*QXmlNodeModelIndex::baseUri.*</signature>



( run in 1.172 second using v1.01-cache-2.11-cpan-2398b32b56e )