12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- /***************************************************************************
- * E-Com Technology Ltd.
- *
- * ECOMPACS DICOM Network Transport Libraries * Version 0.1 Beta
- ***************************************************************************/
- #ifndef _DICOM_FILE_
- #define _DICOM_FILE_
- class MetaInfo;
- class DICOMFileSet;
- class InBuffer;
- //////////////////////////////////////////////////////////////////////
- // class DICOMFile
- class DICOM_API DICOMFile : public DICOMDataSet
- {
- public:
- DICOMFile ();
- DICOMFile (const DICOMFile & DcmFile);
- DICOMFile (const DICOMVRSet & VRSet);
- DICOMFile (const char * FullFileName);
- virtual ~DICOMFile ();
- void GetTransferSyntax (UID & TrnsynUID) const;
- void SetTransferSyntax (const UID & TrnsynUID);
- virtual BOOL ConvertTo (const UID & TrnsynUID);
- virtual BOOL IsValid (void) const { return TRUE; } // I don't know whether it is valid
- virtual BOOL FixMe (void) { return TRUE; } // I don't know how to fixe me
- BOOL ValidateFileName (const char * filename) const;
- virtual BOOL ReadFile (const char * filename);
- virtual int ReadFileTillTag (const char * filename, UINT32 Tag);
- virtual int ReadFileNoImage (const char * filename);
- virtual BOOL ReadMetaHead (const char * filename);
- virtual BOOL WriteFile (const char * filename, BOOL IsPart10 = TRUE) const;
- virtual int Serialize (BYTE * pBuffer, int BufferSize) const;
- virtual int Deserialize (const BYTE * pBuffer, int BufferSize);
- virtual int DeserializeTillTag (const BYTE * pBuffer, int BufferSize, UINT32 Tag);
- BOOL Load (void);
- const char * GetFileName (void) const { return FileLocation; }
- UINT32 GetFileSize (void) const;
- virtual void Reset (void);
- BOOL SetSourceApplicationAE (const char * AETitle);
- BOOL SetImplementationClassUID (const char * ClassUID);
- BOOL SetImplementationVersionName (const char * VersionName);
- BOOL TransferTo (DICOMFile & ToFile);
- BOOL TransferTo (DICOMVRSet & VRS);
- BOOL CopyTo (DICOMFile & ToFile) const;
- BOOL CopyTo (DICOMVRSet & VRS) const;
- BOOL GetMetaInfo (DICOMDataSet * DDS) const;
- UINT32 GetEncodeSize (BOOL IsPart10 = true) const;
- virtual DString ToString (void) const;
- protected:
- virtual BOOL BuildMetaHead (void) const;
- BOOL RemoveMetaHead (void);
- BOOL LoadMetaInfo (InBuffer & VRBuffer);
- virtual BOOL Load (InBuffer & VRBuffer);
- virtual BOOL Write (OutBuffer & VRBuffer, BOOL IsPart10) const;
- virtual int LoadTillTag (InBuffer & VRBuffer, UINT32 Tag, BOOL IsImplicit);
- virtual int BigEndianLoadTillTag (InBuffer & VRBuffer, UINT32 Tag);
- protected:
- mutable MetaInfo * MetaInfo;
- mutable char FileLocation[_MAX_PATH]; // FileName
- friend DICOMFileSet;
- friend void DumpDicomFile (const DICOMFile &);
- friend void DumpDicomFile (const DICOMFile &, Array <DStringArray> *);
- };
- #endif
|