00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision: 1.12 $ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #ifndef mitkSerializeBaseData_h_included 00019 #define mitkSerializeBaseData_h_included 00020 00021 #include "SceneSerializationBaseExports.h" 00022 #include "mitkSerializerMacros.h" 00023 00024 #include <itkObjectFactoryBase.h> 00025 #include "mitkBaseData.h" 00026 00027 namespace mitk 00028 { 00029 00041 class SceneSerializationBase_EXPORT BaseDataSerializer : public itk::Object 00042 { 00043 public: 00044 00045 mitkClassMacro( BaseDataSerializer, itk::Object ); 00046 00047 itkSetStringMacro(FilenameHint); 00048 itkGetStringMacro(FilenameHint); 00049 00050 itkSetStringMacro(WorkingDirectory); 00051 itkGetStringMacro(WorkingDirectory); 00052 00053 itkSetConstObjectMacro(Data, BaseData); 00054 00061 virtual std::string Serialize(); 00062 00063 protected: 00064 00065 BaseDataSerializer(); 00066 virtual ~BaseDataSerializer(); 00067 00068 std::string GetUniqueFilenameInWorkingDirectory(); 00069 00070 std::string m_FilenameHint; 00071 std::string m_WorkingDirectory; 00072 BaseData::ConstPointer m_Data; 00073 }; 00074 00075 } // namespace 00076 00077 #endif 00078