00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision$ 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 MITKDATASTORAGESERVICE_H_ 00019 #define MITKDATASTORAGESERVICE_H_ 00020 00021 #include "../mitkIDataStorageService.h" 00022 00023 namespace mitk { 00024 00025 class DataStorageService : public IDataStorageService 00026 { 00027 public: 00028 00029 DataStorageService(); 00030 00031 bool IsA(const std::type_info& type); 00032 00033 const std::type_info& GetType() const; 00034 00035 IDataStorageReference::Pointer CreateDataStorage(const std::string& label); 00036 00037 std::vector<IDataStorageReference::Pointer> GetDataStorageReferences() const; 00038 00039 IDataStorageReference::Pointer GetDefaultDataStorage() const; 00040 00041 IDataStorageReference::Pointer GetActiveDataStorage() const; 00042 void SetActiveDataStorage(IDataStorageReference::Pointer dataStorageRef); 00043 00044 private: 00045 00046 IDataStorageReference::Pointer m_ActiveDataStorageRef; 00047 IDataStorageReference::Pointer m_DefaultDataStorageRef; 00048 std::vector<IDataStorageReference::Pointer> m_DataStorageReferences; 00049 }; 00050 00051 } 00052 00053 #endif /*MITKDATASTORAGESERVICE_H_*/