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 */