diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2013-10-30 18:24:51 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2013-10-30 18:24:51 +0100 |
commit | 95f7e4c5b9608c550d008c662dc41fa049a6b725 (patch) | |
tree | ff52e80085cf49afb5e68225c1d9af51e0c5e92b /opentrack-api | |
parent | 181875f3385391aed537c7e5fcff8fda199d39e6 (diff) |
clean up the visibility mess in a messiest way possible
Signed-off-by: Stanislaw Halik <sthalik@misaki.pl>
Diffstat (limited to 'opentrack-api')
-rw-r--r-- | opentrack-api/context.cpp | 15 | ||||
-rw-r--r-- | opentrack-api/opentrack-guts.h | 24 | ||||
-rw-r--r-- | opentrack-api/opentrack.h | 7 |
3 files changed, 30 insertions, 16 deletions
diff --git a/opentrack-api/context.cpp b/opentrack-api/context.cpp index 100acf5c..1fdf6713 100644 --- a/opentrack-api/context.cpp +++ b/opentrack-api/context.cpp @@ -17,7 +17,10 @@ # define LIB_PREFIX "lib" #endif -// shamelessly copied from core +#ifdef __GNUC__ +# pragma GCC visibility push(protected) +#endif + static Metadata* get_metadata(DynamicLibrary* lib, QString& longName, QIcon& icon) { Metadata* meta; @@ -89,20 +92,24 @@ opentrack_ctx::~opentrack_ctx() extern "C" { -const char** OPENTRACK_EXPORT opentrack_enum_trackers(opentrack ctx) +const char** opentrack_enum_trackers(opentrack ctx) { return const_cast<const char**>(ctx->list); } -opentrack OPENTRACK_EXPORT opentrack_make_ctx(const char *dir) +opentrack opentrack_make_ctx(const char *dir) { QDir d(dir); return new opentrack_ctx(d); } -void OPENTRACK_EXPORT opentrack_finalize_ctx(opentrack foo) +void opentrack_finalize_ctx(opentrack foo) { delete foo; } } + +#ifdef __GNUC__ +# pragma GCC visibility pop +#endif diff --git a/opentrack-api/opentrack-guts.h b/opentrack-api/opentrack-guts.h index 3f8806cc..01463cfc 100644 --- a/opentrack-api/opentrack-guts.h +++ b/opentrack-api/opentrack-guts.h @@ -1,8 +1,9 @@ #pragma once -#include "ftnoir_tracker_base/ftnoir_tracker_base.h" -#include "facetracknoir/global-settings.h" -#include <QString> +#ifdef __GNUC__ +# pragma GCC visibility push(protected) +#endif + #include <QDir> #include <QList> #include <QStringList> @@ -10,16 +11,13 @@ #include <QIcon> #include <iostream> #include <cstring> - -#ifdef __GNUC__ -# define OPENTRACK_HIDDEN __attribute__((visibility ("hidden"))) -#else -# define OPENTRACK_HIDDEN -#endif +#include <QString> +#include "ftnoir_tracker_base/ftnoir_tracker_base.h" +#include "facetracknoir/global-settings.h" typedef ITracker* opentrack_tracker; -class OPENTRACK_HIDDEN opentrack_meta { +class opentrack_meta { public: Metadata* meta; QString path; @@ -35,7 +33,7 @@ public: } }; -typedef class OPENTRACK_HIDDEN opentrack_ctx { +typedef class opentrack_ctx { public: QDir dir; char** list; @@ -44,3 +42,7 @@ public: opentrack_ctx(QDir& dir); ~opentrack_ctx(); } *opentrack; + +#ifdef __GNUC__ +# pragma GCC visibility pop +#endif diff --git a/opentrack-api/opentrack.h b/opentrack-api/opentrack.h index 8d28b5b8..1c8fcee5 100644 --- a/opentrack-api/opentrack.h +++ b/opentrack-api/opentrack.h @@ -15,7 +15,11 @@ typedef opentrack_opaque_tracker* opentrack_tracker; # ifdef _WIN32 # define OPENTRACK_EXPORT __declspec(dllexport) # else -# define OPENTRACK_EXPORT +# ifdef __GNUC__ +# define OPENTRACK_EXPORT __attribute__((visibility ("default"))) +# else +# define OPENTRACK_EXPORT +# endif # endif #else # ifdef _WIN32 @@ -55,3 +59,4 @@ void opentrack_finalize_tracker(opentrack_tracker tracker); #ifdef __cplusplus } #endif + |