18#ifndef PACS_SERVICES_N_GET_SCU_HPP
19#define PACS_SERVICES_N_GET_SCU_HPP
65 return (
status & 0xF000) == 0xB000;
137 explicit n_get_scu(std::shared_ptr<di::ILogger> logger =
nullptr);
146 std::shared_ptr<di::ILogger> logger =
nullptr);
173 std::string_view sop_class_uid,
174 std::string_view sop_instance_uid,
175 const std::vector<core::dicom_tag>& attribute_tags = {});
DICOM Association management per PS3.8.
std::atomic< uint16_t > message_id_counter_
void reset_statistics() noexcept
Reset statistics counters to zero.
uint16_t next_message_id() noexcept
Get the next message ID for DIMSE operations.
size_t gets_performed() const noexcept
Get the number of N-GET operations performed.
network::Result< n_get_result > get(network::association &assoc, std::string_view sop_class_uid, std::string_view sop_instance_uid, const std::vector< core::dicom_tag > &attribute_tags={})
Retrieve attributes from a managed SOP Instance.
n_get_scu & operator=(const n_get_scu &)=delete
n_get_scu & operator=(n_get_scu &&)=delete
n_get_scu(std::shared_ptr< di::ILogger > logger=nullptr)
Construct N-GET SCU with default configuration.
std::atomic< size_t > gets_performed_
std::shared_ptr< di::ILogger > logger_
n_get_scu(n_get_scu &&)=delete
n_get_scu(const n_get_scu &)=delete
DICOM Dataset - ordered collection of Data Elements.
DICOM Tag representation (Group, Element pairs)
DIMSE message encoding and decoding.
Logger interface for dependency injection.
Result of an N-GET operation.
std::chrono::milliseconds elapsed
Time taken for the operation.
bool is_error() const noexcept
Check if this was an error status.
std::string error_comment
Error comment from the SCP (if any)
core::dicom_dataset attributes
Retrieved attributes from the SOP Instance.
bool is_warning() const noexcept
Check if this was a warning status.
uint16_t status
DIMSE status code (0x0000 = success)
bool is_success() const noexcept
Check if the operation was successful.
Configuration for N-GET SCU service.
std::chrono::milliseconds timeout
Timeout for receiving DIMSE response.