Mercurial > hg > orthanc
diff OrthancFramework/SharedLibrary/OrthancFramework.h.in @ 4063:e00f3d089991 framework
shared library of orthanc framework
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 11 Jun 2020 16:40:34 +0200 |
parents | |
children | 50cb0fb99e34 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/OrthancFramework/SharedLibrary/OrthancFramework.h.in Thu Jun 11 16:40:34 2020 +0200 @@ -0,0 +1,283 @@ +#pragma once + +/** + * Besides the "pragma once" above that only protects this file, + * define a macro to prevent including different versions of + * "OrthancFramework.h" + **/ +#ifndef __ORTHANC_FRAMEWORK_H +#define __ORTHANC_FRAMEWORK_H + + +#if defined(_WIN32) || defined (__CYGWIN__) +# define ORTHANC_PUBLIC __declspec(dllimport) +# define ORTHANC_LOCAL +#else +# if __GNUC__ >= 4 +# define ORTHANC_PUBLIC __attribute__ ((visibility ("default"))) +# define ORTHANC_LOCAL __attribute__ ((visibility ("hidden"))) +# else +# define ORTHANC_PUBLIC +# define ORTHANC_LOCAL +# pragma warning Unknown dynamic link import/export semantics +# endif +#endif + + +/** + * Configuration macros that are always set to the same value if using + * "OrthancFrameworkConfiguration.cmake" + **/ + +#define ORTHANC_ENABLE_BASE64 1 +#define ORTHANC_ENABLE_MD5 1 + + + +/** + * Configuration macros that needn't to be renamed + **/ + +#define ORTHANC_SQLITE_VERSION @ORTHANC_SQLITE_VERSION@ +#define ORTHANC_VERSION "@ORTHANC_VERSION@" +#define ORTHANC_VERSION_MAJOR @ORTHANC_VERSION_MAJOR@ +#define ORTHANC_VERSION_MINOR @ORTHANC_VERSION_MINOR@ +#define ORTHANC_VERSION_REVISION @ORTHANC_VERSION_REVISION@ + +#cmakedefine01 ORTHANC_ENABLE_CIVETWEB +#cmakedefine01 ORTHANC_ENABLE_LOGGING +#cmakedefine01 ORTHANC_ENABLE_LOGGING_STDIO +#cmakedefine01 ORTHANC_ENABLE_MONGOOSE +#cmakedefine01 ORTHANC_SANDBOXED +#cmakedefine01 ORTHANC_STATIC_BOOST +#cmakedefine01 ORTHANC_STATIC_JSONCPP +#cmakedefine01 ORTHANC_STATIC_SQLITE + +#if ORTHANC_STATIC_BOOST == 1 && !defined(BOOST_LEXICAL_CAST_ASSUME_C_LOCALE) +# define BOOST_LEXICAL_CAST_ASSUME_C_LOCALE +#endif + +#if ORTHANC_STATIC_JSONCPP == 1 +# if defined(JSON_API) +# error JSON_API should not be defined +# else +# define JSON_API @ORTHANC_JSON_API@ +# endif +#endif + +#if ORTHANC_STATIC_SQLITE == 1 +# if defined(SQLITE_API) +# error SQLITE_API should not be defined +# else +# define SQLITE_API @ORTHANC_SQLITE_API@ +# endif +#endif + +#if ORTHANC_STATIC_PUGIXML == 1 +# if defined(PUGIXML_API) +# error PUGIXML_API should not be defined +# else +# define PUGIXML_API @ORTHANC_PUGIXML_API@ +# endif +#endif + + +#define ORTHANC_FRAMEWORK_VERSION_IS_ABOVE(major, minor, revision) \ + (ORTHANC_VERSION_MAJOR > major || \ + (ORTHANC_VERSION_MAJOR == major && \ + (ORTHANC_VERSION_MINOR > minor || \ + (ORTHANC_VERSION_MINOR == minor && \ + ORTHANC_VERSION_REVISION >= revision)))) + + +/** + * Configuration macros that must be renamed, prefixing them by + * "ORTHANC_" + **/ + +#cmakedefine01 ENABLE_DCMTK +#if !defined(ENABLE_DCMTK) +# error CMake error +#elif ENABLE_DCMTK == 1 +# define ORTHANC_ENABLE_DCMTK 1 +#else +# define ORTHANC_ENABLE_DCMTK 0 +#endif +#undef ENABLE_DCMTK + + +#cmakedefine01 ENABLE_DCMTK_NETWORKING +#if !defined(ENABLE_DCMTK_NETWORKING) +# error CMake error +#elif ENABLE_DCMTK_NETWORKING == 1 +# define ORTHANC_ENABLE_DCMTK_NETWORKING 1 +#else +# define ORTHANC_ENABLE_DCMTK_NETWORKING 0 +#endif +#undef ENABLE_DCMTK_NETWORKING + + +#cmakedefine01 ENABLE_DCMTK_JPEG +#if !defined(ENABLE_DCMTK_JPEG) +# error CMake error +#elif ENABLE_DCMTK_JPEG == 1 +# define ORTHANC_ENABLE_DCMTK_JPEG 1 +#else +# define ORTHANC_ENABLE_DCMTK_JPEG 0 +#endif +#undef ENABLE_DCMTK_JPEG + + +#cmakedefine01 ENABLE_DCMTK_JPEG_LOSSLESS +#if !defined(ENABLE_DCMTK_JPEG_LOSSLESS) +# error CMake error +#elif ENABLE_DCMTK_JPEG_LOSSLESS == 1 +# define ORTHANC_ENABLE_DCMTK_JPEG_LOSSLESS 1 +#else +# define ORTHANC_ENABLE_DCMTK_JPEG_LOSSLESS 0 +#endif +#undef ENABLE_DCMTK_JPEG_LOSSLESS + + +#cmakedefine01 ENABLE_DCMTK_TRANSCODING +#if !defined(ENABLE_DCMTK_TRANSCODING) +# error CMake error +#elif ENABLE_DCMTK_TRANSCODING == 1 +# define ORTHANC_ENABLE_DCMTK_TRANSCODING 1 +#else +# define ORTHANC_ENABLE_DCMTK_TRANSCODING 0 +#endif +#undef ENABLE_DCMTK_TRANSCODING + + +#cmakedefine01 ENABLE_JPEG +#if !defined(ENABLE_JPEG) +# error CMake error +#elif ENABLE_JPEG == 1 +# define ORTHANC_ENABLE_JPEG 1 +#else +# define ORTHANC_ENABLE_JPEG 0 +#endif +#undef ENABLE_JPEG + + +#cmakedefine01 ENABLE_LOCALE +#if !defined(ENABLE_LOCALE) +# error CMake error +#elif ENABLE_LOCALE == 1 +# define ORTHANC_ENABLE_LOCALE 1 +#else +# define ORTHANC_ENABLE_LOCALE 0 +#endif +#undef ENABLE_LOCALE + + +#cmakedefine01 ENABLE_LUA +#if !defined(ENABLE_LUA) +# error CMake error +#elif ENABLE_LUA == 1 +# define ORTHANC_ENABLE_LUA 1 +#else +# define ORTHANC_ENABLE_LUA 0 +#endif +#undef ENABLE_LUA + + +#cmakedefine01 ENABLE_PKCS11 +#if !defined(ENABLE_PKCS11) +# error CMake error +#elif ENABLE_PKCS11 == 1 +# define ORTHANC_ENABLE_PKCS11 1 +#else +# define ORTHANC_ENABLE_PKCS11 0 +#endif +#undef ENABLE_PKCS11 + + +#cmakedefine01 ENABLE_PNG +#if !defined(ENABLE_PNG) +# error CMake error +#elif ENABLE_PNG == 1 +# define ORTHANC_ENABLE_PNG 1 +#else +# define ORTHANC_ENABLE_PNG 0 +#endif +#undef ENABLE_PNG + + +#cmakedefine01 ENABLE_PUGIXML +#if !defined(ENABLE_PUGIXML) +# error CMake error +#elif ENABLE_PUGIXML == 1 +# define ORTHANC_ENABLE_PUGIXML 1 +#else +# define ORTHANC_ENABLE_PUGIXML 0 +#endif +#undef ENABLE_PUGIXML + + +#cmakedefine01 ENABLE_SQLITE +#if !defined(ENABLE_SQLITE) +# error CMake error +#elif ENABLE_SQLITE == 1 +# define ORTHANC_ENABLE_SQLITE 1 +#else +# define ORTHANC_ENABLE_SQLITE 0 +#endif +#undef ENABLE_SQLITE + + +#cmakedefine01 ENABLE_SSL +#if !defined(ENABLE_SSL) +# error CMake error +#elif ENABLE_SSL == 1 +# define ORTHANC_ENABLE_SSL 1 +#else +# define ORTHANC_ENABLE_SSL 0 +#endif +#undef ENABLE_SSL + + +#cmakedefine01 ENABLE_WEB_CLIENT +#if !defined(ENABLE_WEB_CLIENT) +# error CMake error +#elif ENABLE_WEB_CLIENT == 1 +# define ORTHANC_ENABLE_CURL 1 +#else +# define ORTHANC_ENABLE_CURL 0 +#endif +#undef ENABLE_WEB_CLIENT + + +#cmakedefine01 ENABLE_ZLIB +#if !defined(ENABLE_ZLIB) +# error CMake error +#elif ENABLE_ZLIB == 1 +# define ORTHANC_ENABLE_ZLIB 1 +#else +# define ORTHANC_ENABLE_ZLIB 0 +#endif +#undef ENABLE_ZLIB + + +#if ORTHANC_ENABLE_DCMTK == 1 +# define DCMTK_VERSION_NUMBER @DCMTK_VERSION_NUMBER@ +#endif + + +/** + * Initialization functions. + **/ + +#include <string> + +namespace Orthanc +{ + ORTHANC_PUBLIC void InitializeFramework(const std::string& locale, + bool loadPrivateDictionary); + + ORTHANC_PUBLIC void FinalizeFramework(); +} + + +#endif /* __ORTHANC_FRAMEWORK_H */