aboutsummaryrefslogtreecommitdiffstats
path: root/typesystem.h
diff options
context:
space:
mode:
authorHugo Lima <hugo.lima@openbossa.org>2009-11-12 17:38:09 -0200
committerMarcelo Lira <marcelo.lira@openbossa.org>2009-11-13 13:55:28 -0300
commita98088877fc638ce9f068aaaa5fa4c7f883a1a87 (patch)
treec10592b70efbc1e449dbfb872466dc2b5139854f /typesystem.h
parent9deca0a40aa9cd31510e0ba833fe207ac7e3dbab (diff)
APIExtractor is a huge amount of legacy code inherited from QtScriptGenerator,
but QtScriptGenerator itself isn't a library, this explains why libapiextractor does not care about things that every library SHOULD care, symbol visibility and binary compatibility. This commit adds symbol visibility rules to libapiextractor as the first step to make libapiextractor aware of binary compatibility. This is also needed if we want to be able to compile and use libapiextractor under Windows. Note: Not all symbols were made public, just the symbols needed by shiboken, boostpython and doc generators, because IMHO libapiextractor needs some love and a API review. More symbols could be added later if needed. Reviewed by Renato Araujo <renato.filho@openbossa.org>
Diffstat (limited to 'typesystem.h')
-rw-r--r--typesystem.h19
1 files changed, 10 insertions, 9 deletions
diff --git a/typesystem.h b/typesystem.h
index 58919620..dc8344f6 100644
--- a/typesystem.h
+++ b/typesystem.h
@@ -29,6 +29,7 @@
#include <QtCore/QStringList>
#include <QtCore/QMap>
#include <QtCore/QDebug>
+#include "apiextractormacros.h"
class Indentor;
@@ -46,7 +47,7 @@ extern QString stringsJavaLang;
extern QString strings_jchar;
extern QString strings_jobject;
-struct Include
+struct APIEXTRACTOR_API Include
{
enum IncludeType {
IncludePath,
@@ -144,7 +145,7 @@ struct ArgumentOwner
int index;
};
-class CodeSnipFragment
+class APIEXTRACTOR_API CodeSnipFragment
{
private:
const QString m_code;
@@ -161,7 +162,7 @@ public:
QString code() const;
};
-class CodeSnipAbstract
+class APIEXTRACTOR_API CodeSnipAbstract
{
public:
QString code() const;
@@ -231,7 +232,7 @@ private:
};
-class CodeSnip : public CodeSnipAbstract
+class APIEXTRACTOR_API CodeSnip : public CodeSnipAbstract
{
public:
enum Position {
@@ -449,7 +450,7 @@ typedef QList<FieldModification> FieldModificationList;
* This info will be used later to create a fake AbstractMetaFunction which
* will be inserted into the right AbstractMetaClass.
*/
-struct AddedFunction
+struct APIEXTRACTOR_API AddedFunction
{
/// Function access types.
enum Access {
@@ -582,7 +583,7 @@ private:
typedef QList<DocModification> DocModificationList;
-class TypeEntry
+class APIEXTRACTOR_API TypeEntry
{
public:
enum Type {
@@ -1010,7 +1011,7 @@ private:
};
-class PrimitiveTypeEntry : public TypeEntry
+class APIEXTRACTOR_API PrimitiveTypeEntry : public TypeEntry
{
public:
PrimitiveTypeEntry(const QString &name)
@@ -1316,7 +1317,7 @@ private:
};
-class ComplexTypeEntry : public TypeEntry
+class APIEXTRACTOR_API ComplexTypeEntry : public TypeEntry
{
public:
enum TypeFlag {
@@ -1842,7 +1843,7 @@ struct TypeRejection
QString enum_name;
};
-class TypeDatabase
+class APIEXTRACTOR_API TypeDatabase
{
TypeDatabase();
TypeDatabase(const TypeDatabase&);