UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
defines.hpp
1 /* defines.hpp */
2 /* $Id$ */
3 #ifndef __defines_hpp
4 #define __defines_hpp
5 
6 #include <QtCore/qglobal.h>
7 
8 // Fix for some compillers
9 #if defined(HDS_SHARED_LIBRARY)
10 # define HDS_SHARED_EXPORT Q_DECL_EXPORT
11 #else
12 # define HDS_SHARED_EXPORT Q_DECL_IMPORT
13 #endif
14 
15 // Export method for abstract module object dynamic generation.
16 // Constructed module should be deleted after using.
17 #define HDS_EXPORT_MODULE_OBJ( mod_obj_name ) \
18  class mod_obj_name; \
19  extern "C" HDS_SHARED_EXPORT hds::Module* hds_genModule() \
20  {return new mod_obj_name;}
21 
22 // Export method for batch module object dynamic generation.
23 // Constructed module should be deleted after using.
24 #define HDS_EXPORT_BATCH_MODULE_OBJ( mod_obj_name ) \
25  class mod_obj_name; \
26  extern "C" HDS_SHARED_EXPORT hds::BatchModule* hds_genBatchModule() \
27  {return new mod_obj_name;}
28 
29 #endif /* defines.hpp */