|
PACS System 0.1.0
PACS DICOM system library
|
Abstract storage interface for DICOM persistence. More...
#include <storage_interface.h>


Public Member Functions | |
| virtual | ~storage_interface ()=default |
| Virtual destructor for proper polymorphic destruction. | |
| virtual auto | store (const core::dicom_dataset &dataset) -> VoidResult=0 |
| Store a DICOM dataset. | |
| virtual auto | retrieve (std::string_view sop_instance_uid) -> Result< core::dicom_dataset >=0 |
| Retrieve a DICOM dataset by SOP Instance UID. | |
| virtual auto | remove (std::string_view sop_instance_uid) -> VoidResult=0 |
| Remove a DICOM dataset by SOP Instance UID. | |
| virtual auto | exists (std::string_view sop_instance_uid) const -> bool=0 |
| Check if a DICOM instance exists. | |
| virtual auto | find (const core::dicom_dataset &query) -> Result< std::vector< core::dicom_dataset > >=0 |
| Find DICOM datasets matching query criteria. | |
| virtual auto | store_batch (const std::vector< core::dicom_dataset > &datasets) -> VoidResult |
| Store multiple DICOM datasets in a single operation. | |
| virtual auto | retrieve_batch (const std::vector< std::string > &sop_instance_uids) -> Result< std::vector< core::dicom_dataset > > |
| Retrieve multiple DICOM datasets by their SOP Instance UIDs. | |
| virtual auto | get_statistics () const -> storage_statistics=0 |
| Get storage statistics. | |
| virtual auto | verify_integrity () -> VoidResult=0 |
| Verify storage integrity. | |
Protected Member Functions | |
| storage_interface ()=default | |
| Protected default constructor for derived classes. | |
| storage_interface (const storage_interface &)=delete | |
| Non-copyable. | |
| storage_interface & | operator= (const storage_interface &)=delete |
| storage_interface (storage_interface &&)=default | |
| Movable. | |
| storage_interface & | operator= (storage_interface &&)=default |
Abstract storage interface for DICOM persistence.
Provides a unified API for storing, retrieving, and querying DICOM data. All concrete storage implementations must inherit from this interface.
Thread Safety:
Definition at line 93 of file storage_interface.h.
|
virtualdefault |
Virtual destructor for proper polymorphic destruction.
|
protecteddefault |
Protected default constructor for derived classes.
|
protecteddelete |
Non-copyable.
|
protecteddefault |
Movable.
|
nodiscardpure virtual |
Check if a DICOM instance exists.
| sop_instance_uid | The unique identifier to check |
Implemented in kcenon::pacs::di::test::MockStorage, kcenon::pacs::storage::azure_blob_storage, kcenon::pacs::storage::file_storage, kcenon::pacs::storage::hsm_storage, and kcenon::pacs::storage::s3_storage.
|
nodiscardpure virtual |
Find DICOM datasets matching query criteria.
Performs a search using DICOM C-FIND semantics. The query dataset contains the search criteria where empty values act as wildcards.
| query | The query dataset containing search criteria |
Implemented in kcenon::pacs::di::test::MockStorage, kcenon::pacs::storage::azure_blob_storage, kcenon::pacs::storage::file_storage, kcenon::pacs::storage::hsm_storage, and kcenon::pacs::storage::s3_storage.
|
nodiscardpure virtual |
Get storage statistics.
Returns aggregated metrics about the current state of storage.
Implemented in kcenon::pacs::di::test::MockStorage, kcenon::pacs::storage::azure_blob_storage, kcenon::pacs::storage::file_storage, kcenon::pacs::storage::hsm_storage, and kcenon::pacs::storage::s3_storage.
|
protecteddelete |
|
protecteddefault |
|
nodiscardpure virtual |
Remove a DICOM dataset by SOP Instance UID.
| sop_instance_uid | The unique identifier for the instance to remove |
Implemented in kcenon::pacs::di::test::MockStorage, kcenon::pacs::storage::azure_blob_storage, kcenon::pacs::storage::file_storage, kcenon::pacs::storage::hsm_storage, and kcenon::pacs::storage::s3_storage.
|
nodiscardpure virtual |
Retrieve a DICOM dataset by SOP Instance UID.
| sop_instance_uid | The unique identifier for the instance |
Implemented in kcenon::pacs::di::test::MockStorage, kcenon::pacs::storage::azure_blob_storage, kcenon::pacs::storage::file_storage, kcenon::pacs::storage::hsm_storage, and kcenon::pacs::storage::s3_storage.
|
nodiscardvirtual |
Retrieve multiple DICOM datasets by their SOP Instance UIDs.
Default implementation calls retrieve() for each UID. Concrete implementations may override for better performance.
| sop_instance_uids | The collection of UIDs to retrieve |
Definition at line 33 of file storage_interface.cpp.
References uid.
|
nodiscardpure virtual |
Store a DICOM dataset.
Stores the dataset using its SOP Instance UID as the key. If a dataset with the same UID already exists, it will be replaced.
| dataset | The DICOM dataset to store |
Implemented in kcenon::pacs::di::test::MockStorage, kcenon::pacs::storage::azure_blob_storage, kcenon::pacs::storage::file_storage, kcenon::pacs::storage::hsm_storage, and kcenon::pacs::storage::s3_storage.
|
nodiscardvirtual |
Store multiple DICOM datasets in a single operation.
Default implementation calls store() for each dataset. Concrete implementations may override for better performance.
| datasets | The collection of datasets to store |
Definition at line 22 of file storage_interface.cpp.
|
nodiscardpure virtual |
Verify storage integrity.
Performs a consistency check on the storage backend. The specific checks depend on the implementation.
Implemented in kcenon::pacs::di::test::MockStorage, kcenon::pacs::storage::azure_blob_storage, kcenon::pacs::storage::file_storage, kcenon::pacs::storage::hsm_storage, and kcenon::pacs::storage::s3_storage.