13 #ifndef mitkIDataStorageService_h
14 #define mitkIDataStorageService_h
116 virtual bool AddDataStorage(
const std::string& label, DataStorage::Pointer storage) = 0;
Lightweight metadata container for DataStorage instances.
Abstract data management class that organizes DataNode objects in a directed acyclic graph.
Service interface for managing DataStorage instances.
virtual std::optional< DataStorageReference > CreateDataStorage(const std::string &label)=0
Create a new DataStorage with the given label.
virtual std::optional< std::string > GetLabel(const DataStorage *storage) const =0
Get the label of a registered DataStorage.
virtual DataStorageReference GetActiveDataStorageReference() const =0
Get info about the currently active DataStorage.
virtual std::vector< std::string > GetAllLabels() const =0
Get all labels of registered DataStorages.
virtual DataStorage::Pointer GetDefaultDataStorage() const =0
Get the default (primary) DataStorage.
virtual std::optional< DataStorageReference > GetDataStorageReference(const std::string &label) const =0
Get info about a specific DataStorage by label.
virtual bool RemoveDataStorage(const std::string &label)=0
Remove a DataStorage from the service by label.
virtual bool HasDataStorage(const std::string &label) const =0
Check if a DataStorage with the given label exists.
virtual ~IDataStorageService()
virtual std::vector< DataStorageReference > GetAllDataStorages() const =0
Get information about all registered DataStorages.
virtual bool AddDataStorage(const std::string &label, DataStorage::Pointer storage)=0
Register an existing DataStorage with this service.
virtual StorageThreadDispatcherBase * GetDispatcher() const =0
Get the configured thread dispatcher (if any).
virtual DataStorage::Pointer GetActiveDataStorage() const =0
Get the currently active DataStorage.
virtual bool SetActiveDataStorage(const std::string &label)=0
Set the active DataStorage by label.
Abstract base class for dispatching tasks to the thread that owns DataStorage.
Provides the MITK_DECLARE_SERVICE_INTERFACE macro for registering C++ interfaces with both the CppMic...
#define MITK_DECLARE_SERVICE_INTERFACE(IFace, IId)
Declare a C++ interface for use with CppMicroServices (Qt not available).
Find image slices visible on a given plane.