]> Creatis software - gdcm.git/blobdiff - src/gdcmParser.h
2004-03-23 Jean-Pierre Roux
[gdcm.git] / src / gdcmParser.h
index 10943f5ff1010ffde2f93099b22a175200e5f2f5..1a84b010d7cceb1ab54acc6089f5768ce78df04a 100644 (file)
@@ -35,12 +35,6 @@ typedef std::map<GroupKey, int> GroupHT;
 class GDCM_EXPORT gdcmParser
 {
 public:
-   gdcmParser(bool exception_on_error  = false);
-   gdcmParser(const char *inFilename, 
-              bool  exception_on_error = false, 
-              bool  enable_sequences   = false,
-             bool  ignore_shadow      = false);
-   virtual ~gdcmParser(void);
 
 // Print
    /**
@@ -126,6 +120,15 @@ public:
    guint32 UnswapLong(guint32);  // needed by gdcmFile
 
 protected:
+// constructor and destructor are protected to forbid end user 
+// to instanciate class gdcmParser 
+// (only gdcmHeader and gdcmDicomDir are meaningfull)
+   gdcmParser(bool exception_on_error  = false);
+   gdcmParser(const char *inFilename, 
+              bool  exception_on_error = false, 
+              bool  enable_sequences   = false,
+             bool  ignore_shadow      = false);
+   virtual ~gdcmParser(void);
 // Entry
    int CheckIfEntryExistByNumber(guint16 Group, guint16 Elem ); // int !
    virtual std::string GetEntryByName    (std::string tagName);
@@ -159,7 +162,14 @@ protected:
    void WriteEntriesDeprecated(FILE *_fp,FileType type); // JPR
 
    void AddHeaderEntry       (gdcmHeaderEntry *);
-
+   
+   /**
+    * \ingroup gdcmParser
+    * \brief   Set the external File Name 
+    */
+   inline void SetFileName(char* fileName) 
+      {filename = fileName;}
+      
 // Variables
    /**
    * \brief File Pointer, open during Header parsing
@@ -170,8 +180,11 @@ protected:
    */
    FileType filetype;  
 
+/// after opening the file, we read HEADER_LENGTH_TO_READ bytes.
    static const unsigned int HEADER_LENGTH_TO_READ; 
+/// Elements whose value is longer than MAX_SIZE_LOAD_ELEMENT_VALUE are NOT loaded
    static const unsigned int MAX_SIZE_LOAD_ELEMENT_VALUE;
+/// Elements whose value is longer than  MAX_SIZE_PRINT_ELEMENT_VALUE are NOT printed  
    static const unsigned int MAX_SIZE_PRINT_ELEMENT_VALUE;
 
 protected:
@@ -260,7 +273,7 @@ private:
    
    // Deprecated (Not used) --> commented out
    //gdcmHeaderEntry *NewManualHeaderEntryToPubDict(std::string NewTagName,
-   //                                                  std::string VR);
+   //                                               std::string VR);
    
    guint32 GenerateFreeTagKeyInGroup(guint16 group);