MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //----------------------------------------------------------------------------- 00003 00004 #ifndef DCMTREE_FILECHACHE_H 00005 #define DCMTREE_FILECHACHE_H 00006 00007 #include "DCMTree_TagId.h" 00008 00009 #include <string> 00010 00011 namespace DCMTree 00012 { 00013 // Abstract base class for a DICOM tag cache 00014 // a DICOM tag can be left in file and read on demand 00015 // The file cache class handles the read requests 00016 00017 class DCMTREE_EXPORT FileCache 00018 { 00019 public: 00020 // init the file cache for filename filename and the DICOM tag id 00021 virtual void init(std::string const & filename, TagId const & id) =0; 00022 virtual bool isInitialized() const =0; 00023 // copy DICOM attribute value to buffer dest with size bufSize 00024 // caller needs to prepare buffer with right size 00025 // For values with multiple entries (especially multiframe images) 00026 // idx is the index of the requested value 00027 virtual bool getValue(boost::uint32_t idx, unsigned char *dest, boost::uint32_t bufSize) =0; 00028 virtual bool getValue(boost::uint32_t idx, unsigned char *dest, boost::uint32_t bufSize, 00029 std::string & colorModel, unsigned int & fragment) =0; 00030 }; 00031 } 00032 00033 #endif