GDCM
2.2.0
|
00001 /*========================================================================= 00002 00003 Program: GDCM (Grassroots DICOM). A DICOM library 00004 00005 Copyright (c) 2006-2011 Mathieu Malaterre 00006 All rights reserved. 00007 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notice for more information. 00012 00013 =========================================================================*/ 00014 00015 #ifndef GDCMDECODER_H 00016 #define GDCMDECODER_H 00017 00018 #include "gdcmTypes.h" 00019 #include "gdcmDataElement.h" // FIXME 00020 00021 namespace gdcm 00022 { 00023 00024 class TransferSyntax; 00025 class DataElement; 00029 class GDCM_EXPORT Decoder 00030 { 00031 public: 00032 virtual ~Decoder() {} 00033 00035 virtual bool CanDecode(TransferSyntax const &) const = 0; 00036 00038 virtual bool Decode(DataElement const &is_, DataElement &os) { (void)is_;(void)os;return false; } 00039 protected: 00040 virtual bool Decode(std::istream &is_, std::ostream &os) { (void)is_; (void)os;return false; } 00041 }; 00042 00043 } // end namespace gdcm 00044 00045 #endif //GDCMDECODER_H