view release on metacpan or search on metacpan
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()
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
# 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&\).*</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&\).*</signature>
<signature>.*QGraphicsSceneEvent::QGraphicsSceneEvent\(const QGraphicsSceneEvent&\).*</signature>
<signature>.*QGraphicsScene.*Event::QGraphicsScene.*Event\(const QGraphicsScene.*Event&\).*</signature>
<signature>.*QPainterPathStroker::QPainterPathStroker\(const QPainterPathStroker&\)</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>