"Install location for data (relative to prefix).")
MARK_AS_ADVANCED(GDCM_DATA_DIR)
+#-----------------------------------------------------------------------------
+# Provide compatibility options.
+OPTION(GDCM_LEGACY_REMOVE "Remove all legacy code completely." OFF)
+OPTION(GDCM_LEGACY_SILENT "Silence all legacy code messages." OFF)
+MARK_AS_ADVANCED(GDCM_LEGACY_REMOVE GDCM_LEGACY_SILENT)
+
#-----------------------------------------------------------------------------
# Build shared lib by default
OPTION(GDCM_BUILD_SHARED_LIBS "Build GDCM with shared libraries." ON)
Program: gdcm
Module: $RCSfile: gdcmConfigure.h.in,v $
Language: C++
- Date: $Date: 2005/06/07 14:41:46 $
- Version: $Revision: 1.16 $
+ Date: $Date: 2005/07/19 14:43:46 $
+ Version: $Revision: 1.17 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#define GDCM_BUILD_VERSION @GDCM_BUILD_VERSION@
#define GDCM_VERSION "@GDCM_VERSION@"
+/*--------------------------------------------------------------------------*/
+/* GDCM deprecation mechanism */
+#cmakedefine GDCM_LEGACY_REMOVE
+#cmakedefine GDCM_LEGACY_SILENT
+
#endif
Program: gdcm
Module: $RCSfile: gdcmCommon.h,v $
Language: C++
- Date: $Date: 2005/07/18 10:20:20 $
- Version: $Revision: 1.81 $
+ Date: $Date: 2005/07/19 14:43:48 $
+ Version: $Revision: 1.82 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include <iostream>
#endif
+
+//-----------------------------------------------------------------------------
/// \brief namespace for Grass root DiCoM
namespace gdcm
{
Program: gdcm
Module: $RCSfile: gdcmDebug.h,v $
Language: C++
- Date: $Date: 2005/06/21 14:05:06 $
- Version: $Revision: 1.35 $
+ Date: $Date: 2005/07/19 14:43:48 $
+ Version: $Revision: 1.36 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
}
#endif //NDEBUG
+//-----------------------------------------------------------------------------
+//
+// Define GDCM_LEGACY macro to mark legacy methods where they are
+// declared in their class. Example usage:
+//
+// // @deprecated Replaced by MyOtherMethod() as of gdcm 2.0.
+// GDCM_LEGACY(void MyMethod());
+#if defined(GDCM_LEGACY_REMOVE)
+ // Remove legacy methods completely.
+# define GDCM_LEGACY(method)
+#elif defined(GDCM_LEGACY_SILENT)
+ // Provide legacy methods with no warnings.
+# define GDCM_LEGACY(method) method
+#else
+ // Setup compile-time warnings for uses of deprecated methods if
+ // possible on this compiler.
+# if defined(__GNUC__) && !defined(__INTEL_COMPILER) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
+# define GDCM_LEGACY(method) method __attribute__((deprecated))
+# elif defined(_MSC_VER) && _MSC_VER >= 1300
+# define GDCM_LEGACY(method) __declspec(deprecated) method
+# else
+# define GDCM_LEGACY(method) method
+# endif
+#endif
+
+// Macros to create runtime deprecation warning messages in function
+// bodies. Example usage:
+//
+// void MyClass::MyOldMethod()
+// {
+// GDCM_LEGACY_BODY(MyClass::MyOldMethod, 2.0);
+// }
+//
+// void MyClass::MyMethod()
+// {
+// GDCM_LEGACY_REPLACED_BODY(MyClass::MyMethod, 5.0,
+// MyClass::MyOtherMethod);
+// }
+#if defined(GDCM_LEGACY_REMOVE) || defined(GDCM_LEGACY_SILENT)
+# define GDCM_LEGACY_BODY(method, version)
+# define GDCM_LEGACY_REPLACED_BODY(method, version, replace)
+#else
+# define GDCM_LEGACY_BODY(method, version) \
+ gdcmWarningMacro(#method " was deprecated for gdcm" #version " and will be removed in a future version.")
+# define GDCM_LEGACY_REPLACED_BODY(method, version, replace) \
+ gdcmWarningMacro(#method " was deprecated for gdcm" #version " and will be removed in a future version. Use " #replace " instead.")
+#endif
+
#endif
Program: gdcm
Module: $RCSfile: gdcmFile.cxx,v $
Language: C++
- Date: $Date: 2005/07/07 16:37:40 $
- Version: $Revision: 1.249 $
+ Date: $Date: 2005/07/19 14:43:48 $
+ Version: $Revision: 1.250 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
return DoTheLoadingJob( );
}
-/**
- * \brief Loader. (DEPRECATED : not to break the API)
- * @param fileName file to be open for parsing
- * @return false if file cannot be open or no swap info was found,
- * or no tag was found.
- */
-bool File::Load( std::string const &fileName )
-{
- SetFileName( fileName );
- if ( ! this->Document::Load( ) )
- return false;
-
- return DoTheLoadingJob( );
-}
/**
* \brief Does the Loading Job (internal use only)
}
}
+// These are the deprecated method that one day should be removed (after the next release)
+#ifndef GDCM_LEGACY_REMOVE
+/**
+ * \brief Loader. (DEPRECATED : not to break the API)
+ * @param fileName file to be open for parsing
+ * @return false if file cannot be open or no swap info was found,
+ * or no tag was found.
+ * @deprecated Use the Load() function instead
+ */
+bool File::Load( std::string const &fileName )
+{
+ GDCM_LEGACY_REPLACED_BODY(File::Load(std::string), "1.2",
+ File::Load());
+ SetFileName( fileName );
+ if ( ! this->Document::Load( ) )
+ return false;
+
+ return DoTheLoadingJob( );
+}
+#endif
+
//-----------------------------------------------------------------------------
// Print
Program: gdcm
Module: $RCSfile: gdcmFile.h,v $
Language: C++
- Date: $Date: 2005/07/07 16:37:41 $
- Version: $Revision: 1.108 $
+ Date: $Date: 2005/07/19 14:44:57 $
+ Version: $Revision: 1.109 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
~File();
// Loading
- bool Load( std::string const &filename );
+ GDCM_LEGACY(bool Load( std::string const &filename ));
bool Load();
// Standard values and informations contained in the header
bool IsReadable();