From 4501ea093dadd3c44e88da9901eff683b0a91614 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 30 Oct 2013 17:47:38 +0100 Subject: add visibility modifiers for GNU C --- opentrack-api/opentrack-guts.h | 10 ++++++++-- opentrack-api/opentrack.h | 20 +++++++++++++------- 2 files changed, 21 insertions(+), 9 deletions(-) (limited to 'opentrack-api') diff --git a/opentrack-api/opentrack-guts.h b/opentrack-api/opentrack-guts.h index 1061d75d..3f8806cc 100644 --- a/opentrack-api/opentrack-guts.h +++ b/opentrack-api/opentrack-guts.h @@ -11,9 +11,15 @@ #include #include +#ifdef __GNUC__ +# define OPENTRACK_HIDDEN __attribute__((visibility ("hidden"))) +#else +# define OPENTRACK_HIDDEN +#endif + typedef ITracker* opentrack_tracker; -class opentrack_meta { +class OPENTRACK_HIDDEN opentrack_meta { public: Metadata* meta; QString path; @@ -29,7 +35,7 @@ public: } }; -typedef class opentrack_ctx { +typedef class OPENTRACK_HIDDEN opentrack_ctx { public: QDir dir; char** list; diff --git a/opentrack-api/opentrack.h b/opentrack-api/opentrack.h index 8d28b5b8..95339d08 100644 --- a/opentrack-api/opentrack.h +++ b/opentrack-api/opentrack.h @@ -25,6 +25,12 @@ typedef opentrack_opaque_tracker* opentrack_tracker; # endif #endif +#ifdef __GNUC__ +# define OPENTRACK_VISIBLE __attribute__((visibility ("default"))) +#else +# define OPENTRACK_VISIBLE +#endif + /* for `opentrack_tracker_tick', individual headpose elts */ #ifndef IN_OPENTRACK enum opentrack_dof { @@ -38,20 +44,20 @@ enum opentrack_dof { }; #endif -opentrack opentrack_make_ctx(const char* dir); -void opentrack_finalize_ctx(opentrack self); +opentrack OPENTRACK_VISIBLE opentrack_make_ctx(const char* dir); +void OPENTRACK_VISIBLE opentrack_finalize_ctx(opentrack self); /* no need to free the return value; invalid to modify it */ -const char** opentrack_enum_trackers(opentrack self); +const char** OPENTRACK_VISIBLE opentrack_enum_trackers(opentrack self); /* * don't `opentrack_tracker_tick an unstarted tracker, it's invalid to do so * it's also invalid to start a finalized tracker */ -opentrack_tracker opentrack_make_tracker(opentrack ctx, const char* name); -void opentrack_tracker_start(opentrack self, opentrack_tracker tracker); -int opentrack_tracker_tick(opentrack_tracker tracker, double* headpose); -void opentrack_finalize_tracker(opentrack_tracker tracker); +opentrack_tracker OPENTRACK_VISIBLE opentrack_make_tracker(opentrack ctx, const char* name); +void OPENTRACK_VISIBLE opentrack_tracker_start(opentrack self, opentrack_tracker tracker); +int OPENTRACK_VISIBLE opentrack_tracker_tick(opentrack_tracker tracker, double* headpose); +void OPENTRACK_VISIBLE opentrack_finalize_tracker(opentrack_tracker tracker); #ifdef __cplusplus } #endif -- cgit v1.2.3