MeVisLabToolboxReference
|
00001 //---------------------------------------------------------------------------------- 00002 // **InsertLicense** code 00003 //---------------------------------------------------------------------------------- 00005 00010 // implementations of this class have to convert from the specific character set to UTF8 00011 //---------------------------------------------------------------------------------- 00012 #ifndef CLASS_DCMTREE_READER 00013 #define CLASS_DCMTREE_READER 00014 00015 #include "DCMTree_Lib.h" 00016 #include "DCMTree_Defines.h" 00017 #include "DCMTree_TagId.h" 00018 #include "DCMTree_IOParameter.h" 00019 00020 #ifdef _MSC_VER 00021 #pragma warning (push) 00022 #pragma warning (disable : 4251) 00023 #endif 00024 00044 namespace DCMTree 00045 { 00046 class Reader; 00047 typedef boost::shared_ptr<Reader> ReaderPtr; 00048 typedef boost::shared_ptr<const Reader> Const_ReaderPtr; 00049 00050 class DCMTREE_EXPORT Reader 00051 { 00052 public: 00057 static ReaderPtr create(const Const_DictPtr &dictArg); 00058 00060 virtual ~Reader(); 00061 00066 virtual MessagePtr read (const Const_IOParameterPtr ¶meter)=0; 00067 00071 Const_DictPtr dict() const; 00072 00073 protected: 00080 static ReaderPtr create(const Const_ReaderPtr &prototype, const Const_DictPtr &dictArg); 00081 00083 static Const_ReaderPtr prototype(); 00084 00086 static void setPrototype(Const_ReaderPtr prototype); 00087 00092 virtual ReaderPtr createConcrete(const Const_DictPtr &dictArg) const = 0; 00093 00095 Reader (Const_DictPtr dictArg); 00096 00098 Reader (); 00099 00100 private: 00102 static Const_ReaderPtr _prototype; 00103 00104 Const_DictPtr _dict; 00105 }; 00106 } 00107 00108 #ifdef _MSC_VER 00109 #pragma warning (pop) 00110 #endif 00111 00112 #endif 00113 00114