Program: gdcm
Module: $RCSfile: gdcmFile.cxx,v $
Language: C++
- Date: $Date: 2005/06/30 14:49:02 $
- Version: $Revision: 1.245 $
+ Date: $Date: 2005/07/07 16:37:40 $
+ Version: $Revision: 1.249 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include "gdcmRLEFramesInfo.h"
#include "gdcmJPEGFragmentsInfo.h"
-#include <stdio.h> //sscanf
#include <vector>
+#include <stdio.h> //sscanf
+#include <stdlib.h> // for atoi
namespace gdcm
{
* @param filename name of the file whose header we want to analyze
*/
File::File( std::string const &filename )
- :Document(filename)
+ :Document( )
{
RLEInfo = new RLEFramesInfo;
JPEGInfo = new JPEGFragmentsInfo;
- Load( filename );
+ Load( filename ); // gdcm::Document is first Loaded, then the 'File part'
}
/**
//-----------------------------------------------------------------------------
// Public
-
/**
* \brief Loader
+ * @return false if file cannot be open or no swap info was found,
+ * or no tag was found.
+ */
+bool File::Load( )
+{
+ if ( ! this->Document::Load( ) )
+ return false;
+
+ 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 )
{
- this->Document::Load( fileName );
+ SetFileName( fileName );
+ if ( ! this->Document::Load( ) )
+ return false;
+
+ return DoTheLoadingJob( );
+}
+
+/**
+ * \brief Does the Loading Job (internal use only)
+ * @return false if file cannot be open or no swap info was found,
+ * or no tag was found.
+ */
+bool File::DoTheLoadingJob( )
+{
// for some ACR-NEMA images GrPixel, NumPixel is *not* 7fe0,0010
// We may encounter the 'RETired' (0x0028, 0x0200) tag