|
PACS System 0.1.0
PACS DICOM system library
|
DIMSE message class. More...
#include <dimse_message.h>

Public Types | |
| using | encoded_message = std::pair<std::vector<uint8_t>, std::vector<uint8_t>> |
| Encoded message result type: pair of (command_set_bytes, dataset_bytes) | |
Public Member Functions | |
| dimse_message (command_field cmd, uint16_t message_id) | |
| Construct a new DIMSE message. | |
| dimse_message ()=default | |
| Default constructor (creates an invalid message) | |
| dimse_message (const dimse_message &)=default | |
| Copy constructor. | |
| dimse_message (dimse_message &&) noexcept=default | |
| Move constructor. | |
| auto | operator= (const dimse_message &) -> dimse_message &=default |
| Copy assignment. | |
| auto | operator= (dimse_message &&) noexcept -> dimse_message &=default |
| Move assignment. | |
| ~dimse_message ()=default | |
| Destructor. | |
| auto | command () const noexcept -> command_field |
| Get the command field. | |
| auto | message_id () const noexcept -> uint16_t |
| Get the message ID. | |
| auto | command_set () noexcept -> core::dicom_dataset & |
| Get mutable reference to the command set. | |
| auto | command_set () const noexcept -> const core::dicom_dataset & |
| Get const reference to the command set. | |
| auto | has_dataset () const noexcept -> bool |
| Check if the message has an associated data set. | |
| auto | dataset () -> kcenon::pacs::Result< std::reference_wrapper< core::dicom_dataset > > |
| Get mutable reference to the data set. | |
| auto | dataset () const -> kcenon::pacs::Result< std::reference_wrapper< const core::dicom_dataset > > |
| Get const reference to the data set. | |
| void | set_dataset (core::dicom_dataset ds) |
| Set the data set for this message. | |
| void | clear_dataset () noexcept |
| Remove the data set from this message. | |
| auto | status () const -> status_code |
| Get the status code (for response messages) | |
| void | set_status (status_code status) |
| Set the status code (for response messages) | |
| auto | affected_sop_class_uid () const -> std::string |
| Get the Affected SOP Class UID. | |
| void | set_affected_sop_class_uid (std::string_view uid) |
| Set the Affected SOP Class UID. | |
| auto | affected_sop_instance_uid () const -> std::string |
| Get the Affected SOP Instance UID. | |
| void | set_affected_sop_instance_uid (std::string_view uid) |
| Set the Affected SOP Instance UID. | |
| auto | priority () const -> uint16_t |
| Get the priority. | |
| void | set_priority (uint16_t priority) |
| Set the priority. | |
| auto | message_id_responded_to () const -> uint16_t |
| Get the Message ID Being Responded To (for responses) | |
| void | set_message_id_responded_to (uint16_t id) |
| Set the Message ID Being Responded To (for responses) | |
| auto | requested_sop_class_uid () const -> std::string |
| Get the Requested SOP Class UID (for N-SET, N-GET, N-ACTION, N-DELETE) | |
| void | set_requested_sop_class_uid (std::string_view uid) |
| Set the Requested SOP Class UID. | |
| auto | requested_sop_instance_uid () const -> std::string |
| Get the Requested SOP Instance UID (for N-SET, N-GET, N-ACTION, N-DELETE) | |
| void | set_requested_sop_instance_uid (std::string_view uid) |
| Set the Requested SOP Instance UID. | |
| auto | event_type_id () const -> std::optional< uint16_t > |
| Get the Event Type ID (for N-EVENT-REPORT) | |
| void | set_event_type_id (uint16_t type_id) |
| Set the Event Type ID. | |
| auto | action_type_id () const -> std::optional< uint16_t > |
| Get the Action Type ID (for N-ACTION) | |
| void | set_action_type_id (uint16_t type_id) |
| Set the Action Type ID. | |
| auto | attribute_identifier_list () const -> std::vector< core::dicom_tag > |
| Get the Attribute Identifier List (for N-GET) | |
| void | set_attribute_identifier_list (const std::vector< core::dicom_tag > &tags) |
| Set the Attribute Identifier List. | |
| auto | remaining_subops () const -> std::optional< uint16_t > |
| Get the number of remaining sub-operations. | |
| void | set_remaining_subops (uint16_t count) |
| Set the number of remaining sub-operations. | |
| auto | completed_subops () const -> std::optional< uint16_t > |
| Get the number of completed sub-operations. | |
| void | set_completed_subops (uint16_t count) |
| Set the number of completed sub-operations. | |
| auto | failed_subops () const -> std::optional< uint16_t > |
| Get the number of failed sub-operations. | |
| void | set_failed_subops (uint16_t count) |
| Set the number of failed sub-operations. | |
| auto | warning_subops () const -> std::optional< uint16_t > |
| Get the number of warning sub-operations. | |
| void | set_warning_subops (uint16_t count) |
| Set the number of warning sub-operations. | |
| auto | is_valid () const noexcept -> bool |
| Check if the message is valid. | |
| auto | is_request () const noexcept -> bool |
| Check if this is a request message. | |
| auto | is_response () const noexcept -> bool |
| Check if this is a response message. | |
Static Public Member Functions | |
| static auto | encode (const dimse_message &msg, const encoding::transfer_syntax &dataset_ts) -> dimse_result< encoded_message > |
| Encode the DIMSE message to bytes. | |
| static auto | decode (std::span< const uint8_t > command_data, std::span< const uint8_t > dataset_data, const encoding::transfer_syntax &dataset_ts) -> dimse_result< dimse_message > |
| Decode a DIMSE message from bytes. | |
Private Member Functions | |
| void | update_data_set_type () |
| Update the CommandDataSetType field based on dataset presence. | |
| void | update_command_group_length () |
| Calculate and set CommandGroupLength. | |
Private Attributes | |
| command_field | command_ {} |
| uint16_t | message_id_ {0} |
| core::dicom_dataset | command_set_ |
| std::optional< core::dicom_dataset > | dataset_ |
DIMSE message class.
Represents a DICOM Message Service Element (DIMSE) message, consisting of a command set and an optional data set.
The command set is always encoded using Implicit VR Little Endian. The data set uses the negotiated transfer syntax.
Definition at line 202 of file dimse_message.h.
| using kcenon::pacs::network::dimse::dimse_message::encoded_message = std::pair<std::vector<uint8_t>, std::vector<uint8_t>> |
Encoded message result type: pair of (command_set_bytes, dataset_bytes)
Definition at line 488 of file dimse_message.h.
| kcenon::pacs::network::dimse::dimse_message::dimse_message | ( | command_field | cmd, |
| uint16_t | message_id ) |
Construct a new DIMSE message.
| cmd | The command field (type of operation) |
| message_id | Unique message identifier |
Definition at line 35 of file dimse_message.cpp.
References command_set_, message_id(), kcenon::pacs::core::dicom_dataset::set_numeric(), kcenon::pacs::network::dimse::tag_command_field, kcenon::pacs::network::dimse::tag_message_id, update_data_set_type(), and kcenon::pacs::encoding::US.

|
default |
Default constructor (creates an invalid message)
|
default |
Copy constructor.
|
defaultnoexcept |
Move constructor.
|
default |
Destructor.
|
nodiscard |
Get the Action Type ID (for N-ACTION)
Definition at line 174 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::get_numeric(), and kcenon::pacs::network::dimse::tag_action_type_id.
Referenced by kcenon::pacs::services::print_scp::handle_n_action(), kcenon::pacs::services::storage_commitment_scp::handle_n_action(), kcenon::pacs::services::ups_push_scp::handle_n_action(), and kcenon::pacs::services::ups_watch_scp::handle_n_action().


|
nodiscard |
Get the Affected SOP Class UID.
Definition at line 112 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::get_string(), and kcenon::pacs::network::dimse::tag_affected_sop_class_uid.
Referenced by kcenon::pacs::network::dicom_server::dispatch_to_service(), kcenon::pacs::services::retrieve_scp::handle_c_get(), kcenon::pacs::services::retrieve_scp::handle_c_move(), kcenon::pacs::services::query_scp::handle_message(), kcenon::pacs::services::storage_scp::handle_message(), kcenon::pacs::services::ups_query_scp::handle_message(), kcenon::pacs::services::worklist_scp::handle_message(), kcenon::pacs::services::print_scp::handle_n_action(), kcenon::pacs::services::storage_commitment_scp::handle_n_action(), kcenon::pacs::services::mpps_scp::handle_n_create(), kcenon::pacs::services::print_scp::handle_n_create(), kcenon::pacs::services::ups_push_scp::handle_n_create(), kcenon::pacs::services::print_scp::handle_n_delete(), kcenon::pacs::services::print_scp::handle_n_get(), kcenon::pacs::services::mpps_scp::handle_n_set(), and kcenon::pacs::services::print_scp::handle_n_set().


|
nodiscard |
Get the Affected SOP Instance UID.
Definition at line 121 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::get_string(), and kcenon::pacs::network::dimse::tag_affected_sop_instance_uid.
Referenced by kcenon::pacs::services::print_scp::create_film_box(), kcenon::pacs::services::print_scp::create_film_session(), kcenon::pacs::services::ups_watch_scu::handle_event_report(), kcenon::pacs::services::storage_scp::handle_message(), kcenon::pacs::services::print_scp::handle_n_action(), kcenon::pacs::services::ups_push_scp::handle_n_action(), kcenon::pacs::services::ups_watch_scp::handle_n_action(), kcenon::pacs::services::mpps_scp::handle_n_create(), kcenon::pacs::services::ups_push_scp::handle_n_create(), kcenon::pacs::services::print_scp::handle_n_delete(), kcenon::pacs::services::print_scp::handle_n_get(), kcenon::pacs::services::mpps_scp::handle_n_set(), kcenon::pacs::services::print_scp::handle_n_set(), and kcenon::pacs::services::ups_push_scp::handle_n_set().


|
nodiscard |
Get the Attribute Identifier List (for N-GET)
Definition at line 182 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::get(), and kcenon::pacs::network::dimse::tag_attribute_identifier_list.
Referenced by kcenon::pacs::services::n_get_scp::handle_message().


|
noexcept |
Remove the data set from this message.
Definition at line 91 of file dimse_message.cpp.
References dataset_, and update_data_set_type().

|
nodiscardnoexcept |
Get the command field.
Definition at line 48 of file dimse_message.cpp.
References command_.
Referenced by kcenon::pacs::network::v2::dicom_association_handler::dispatch_to_service(), kcenon::pacs::services::storage_commitment_scu::handle_event_report(), kcenon::pacs::services::ups_watch_scu::handle_event_report(), kcenon::pacs::services::mpps_scp::handle_message(), kcenon::pacs::services::n_get_scp::handle_message(), kcenon::pacs::services::print_scp::handle_message(), kcenon::pacs::services::query_scp::handle_message(), kcenon::pacs::services::retrieve_scp::handle_message(), kcenon::pacs::services::storage_commitment_scp::handle_message(), kcenon::pacs::services::storage_scp::handle_message(), kcenon::pacs::services::ups_push_scp::handle_message(), kcenon::pacs::services::ups_query_scp::handle_message(), kcenon::pacs::services::ups_watch_scp::handle_message(), kcenon::pacs::services::verification_scp::handle_message(), and kcenon::pacs::services::worklist_scp::handle_message().

|
nodiscardnoexcept |
Get const reference to the command set.
Definition at line 60 of file dimse_message.cpp.
References command_set_.
|
nodiscardnoexcept |
Get mutable reference to the command set.
Definition at line 56 of file dimse_message.cpp.
References command_set_.
Referenced by kcenon::pacs::services::retrieve_scp::get_move_destination(), kcenon::pacs::services::storage_commitment_scp::handle_n_action(), kcenon::pacs::services::print_scp::handle_n_get(), kcenon::pacs::services::mpps_scp::handle_n_set(), kcenon::pacs::services::print_scp::handle_n_set(), and kcenon::pacs::services::ups_push_scp::handle_n_set().

|
nodiscard |
Get the number of completed sub-operations.
Definition at line 235 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::get_numeric(), and kcenon::pacs::network::dimse::tag_number_of_completed_subops.

|
nodiscard |
Get mutable reference to the data set.
Definition at line 72 of file dimse_message.cpp.
References kcenon::pacs::network::dimse::invalid_data_format.
Referenced by kcenon::pacs::services::print_scp::create_film_box(), kcenon::pacs::services::print_scp::create_film_session(), encode(), kcenon::pacs::services::retrieve_scp::handle_c_get(), kcenon::pacs::services::retrieve_scp::handle_c_move(), kcenon::pacs::services::storage_commitment_scu::handle_event_report(), kcenon::pacs::services::ups_watch_scu::handle_event_report(), kcenon::pacs::services::query_scp::handle_message(), kcenon::pacs::services::storage_scp::handle_message(), kcenon::pacs::services::ups_query_scp::handle_message(), kcenon::pacs::services::worklist_scp::handle_message(), kcenon::pacs::services::storage_commitment_scp::handle_n_action(), kcenon::pacs::services::ups_push_scp::handle_n_action(), kcenon::pacs::services::mpps_scp::handle_n_create(), kcenon::pacs::services::ups_push_scp::handle_n_create(), kcenon::pacs::services::mpps_scp::handle_n_set(), kcenon::pacs::services::print_scp::handle_n_set(), and kcenon::pacs::services::ups_push_scp::handle_n_set().

|
nodiscard |
Get const reference to the data set.
Definition at line 79 of file dimse_message.cpp.
References dataset_, and kcenon::pacs::network::dimse::invalid_data_format.
|
staticnodiscard |
Decode a DIMSE message from bytes.
| command_data | The encoded command set (Implicit VR LE) |
| dataset_data | The encoded data set (per transfer syntax) |
| dataset_ts | The transfer syntax of the data set |
Definition at line 293 of file dimse_message.cpp.
References command_set_, dataset_, kcenon::pacs::encoding::explicit_vr_codec::decode(), kcenon::pacs::encoding::implicit_vr_codec::decode(), kcenon::pacs::network::dimse::decoding_error, kcenon::pacs::encoding::implicit, kcenon::pacs::network::dimse::is_request(), kcenon::pacs::network::dimse::missing_required_field, kcenon::pacs::network::dimse::tag_command_field, and kcenon::pacs::network::dimse::tag_message_id.
Referenced by kcenon::pacs::network::v2::dicom_association_handler::handle_p_data_tf().


|
staticnodiscard |
Encode the DIMSE message to bytes.
| msg | The message to encode |
| dataset_ts | The transfer syntax for the data set |
The command set is always encoded using Implicit VR Little Endian. The data set uses the specified transfer syntax.
Definition at line 266 of file dimse_message.cpp.
References command_set_, dataset(), kcenon::pacs::encoding::explicit_vr_codec::encode(), kcenon::pacs::encoding::implicit_vr_codec::encode(), has_dataset(), kcenon::pacs::encoding::implicit, and update_command_group_length().

|
nodiscard |
Get the Event Type ID (for N-EVENT-REPORT)
Definition at line 166 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::get_numeric(), and kcenon::pacs::network::dimse::tag_event_type_id.
Referenced by kcenon::pacs::services::ups_watch_scu::handle_event_report().


|
nodiscard |
Get the number of failed sub-operations.
Definition at line 244 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::get_numeric(), and kcenon::pacs::network::dimse::tag_number_of_failed_subops.

|
nodiscardnoexcept |
Check if the message has an associated data set.
Definition at line 68 of file dimse_message.cpp.
References dataset_.
Referenced by kcenon::pacs::services::print_scp::create_film_box(), kcenon::pacs::services::print_scp::create_film_session(), encode(), kcenon::pacs::services::retrieve_scp::handle_c_get(), kcenon::pacs::services::retrieve_scp::handle_c_move(), kcenon::pacs::services::storage_commitment_scu::handle_event_report(), kcenon::pacs::services::ups_watch_scu::handle_event_report(), kcenon::pacs::services::query_scp::handle_message(), kcenon::pacs::services::storage_scp::handle_message(), kcenon::pacs::services::ups_query_scp::handle_message(), kcenon::pacs::services::worklist_scp::handle_message(), kcenon::pacs::services::storage_commitment_scp::handle_n_action(), kcenon::pacs::services::ups_push_scp::handle_n_action(), kcenon::pacs::services::mpps_scp::handle_n_create(), kcenon::pacs::services::ups_push_scp::handle_n_create(), kcenon::pacs::services::mpps_scp::handle_n_set(), kcenon::pacs::services::print_scp::handle_n_set(), and kcenon::pacs::services::ups_push_scp::handle_n_set().

|
nodiscardnoexcept |
Check if this is a request message.
Definition at line 348 of file dimse_message.cpp.
References command_, and kcenon::pacs::network::dimse::is_request().

|
nodiscardnoexcept |
Check if this is a response message.
Definition at line 352 of file dimse_message.cpp.
References command_, and kcenon::pacs::network::dimse::is_response().

|
nodiscardnoexcept |
Check if the message is valid.
Definition at line 343 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::network::dimse::tag_command_field, and kcenon::pacs::network::dimse::tag_message_id.
Referenced by kcenon::pacs::network::association::send_dimse().


|
nodiscardnoexcept |
Get the message ID.
Definition at line 52 of file dimse_message.cpp.
References message_id_.
Referenced by kcenon::pacs::services::print_scp::create_film_box(), kcenon::pacs::services::print_scp::create_film_session(), dimse_message(), kcenon::pacs::services::retrieve_scp::handle_c_get(), kcenon::pacs::services::retrieve_scp::handle_c_move(), kcenon::pacs::services::n_get_scp::handle_message(), kcenon::pacs::services::query_scp::handle_message(), kcenon::pacs::services::storage_scp::handle_message(), kcenon::pacs::services::ups_query_scp::handle_message(), kcenon::pacs::services::verification_scp::handle_message(), kcenon::pacs::services::worklist_scp::handle_message(), kcenon::pacs::services::print_scp::handle_n_action(), kcenon::pacs::services::storage_commitment_scp::handle_n_action(), kcenon::pacs::services::ups_push_scp::handle_n_action(), kcenon::pacs::services::ups_watch_scp::handle_n_action(), kcenon::pacs::services::mpps_scp::handle_n_create(), kcenon::pacs::services::print_scp::handle_n_create(), kcenon::pacs::services::ups_push_scp::handle_n_create(), kcenon::pacs::services::print_scp::handle_n_delete(), kcenon::pacs::services::print_scp::handle_n_get(), kcenon::pacs::services::ups_push_scp::handle_n_get(), kcenon::pacs::services::mpps_scp::handle_n_set(), kcenon::pacs::services::print_scp::handle_n_set(), and kcenon::pacs::services::ups_push_scp::handle_n_set().

|
nodiscard |
Get the Message ID Being Responded To (for responses)
Definition at line 138 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::get_numeric(), and kcenon::pacs::network::dimse::tag_message_id_responded_to.

|
default |
Copy assignment.
|
defaultnoexcept |
Move assignment.
|
nodiscard |
Get the priority.
Definition at line 130 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::get_numeric(), kcenon::pacs::network::dimse::priority_medium, and kcenon::pacs::network::dimse::tag_priority.
Referenced by set_priority().


|
nodiscard |
Get the number of remaining sub-operations.
Definition at line 226 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::get_numeric(), and kcenon::pacs::network::dimse::tag_number_of_remaining_subops.

|
nodiscard |
Get the Requested SOP Class UID (for N-SET, N-GET, N-ACTION, N-DELETE)
Definition at line 150 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::get_string(), and kcenon::pacs::network::dimse::tag_requested_sop_class_uid.
Referenced by kcenon::pacs::services::n_get_scp::handle_message().


|
nodiscard |
Get the Requested SOP Instance UID (for N-SET, N-GET, N-ACTION, N-DELETE)
Definition at line 158 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::get_string(), and kcenon::pacs::network::dimse::tag_requested_sop_instance_uid.
Referenced by kcenon::pacs::services::n_get_scp::handle_message(), kcenon::pacs::services::ups_push_scp::handle_n_action(), kcenon::pacs::services::ups_watch_scp::handle_n_action(), and kcenon::pacs::services::ups_push_scp::handle_n_get().


| void kcenon::pacs::network::dimse::dimse_message::set_action_type_id | ( | uint16_t | type_id | ) |
Set the Action Type ID.
| type_id | The action type ID |
Definition at line 178 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::set_numeric(), kcenon::pacs::network::dimse::tag_action_type_id, and kcenon::pacs::encoding::US.
Referenced by kcenon::pacs::network::dimse::make_n_action_rq(), and kcenon::pacs::network::dimse::make_n_action_rsp().


| void kcenon::pacs::network::dimse::dimse_message::set_affected_sop_class_uid | ( | std::string_view | uid | ) |
Set the Affected SOP Class UID.
| uid | The SOP Class UID |
Definition at line 116 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::set_string(), kcenon::pacs::network::dimse::tag_affected_sop_class_uid, kcenon::pacs::encoding::UI, and uid.
Referenced by kcenon::pacs::network::dimse::make_c_echo_rq(), kcenon::pacs::network::dimse::make_c_echo_rsp(), kcenon::pacs::network::dimse::make_c_find_rq(), kcenon::pacs::network::dimse::make_c_find_rsp(), kcenon::pacs::network::dimse::make_c_store_rq(), kcenon::pacs::network::dimse::make_c_store_rsp(), kcenon::pacs::network::dimse::make_n_action_rsp(), kcenon::pacs::network::dimse::make_n_create_rq(), kcenon::pacs::network::dimse::make_n_create_rsp(), kcenon::pacs::network::dimse::make_n_delete_rsp(), kcenon::pacs::network::dimse::make_n_event_report_rq(), kcenon::pacs::network::dimse::make_n_event_report_rsp(), kcenon::pacs::network::dimse::make_n_get_rsp(), and kcenon::pacs::network::dimse::make_n_set_rsp().


| void kcenon::pacs::network::dimse::dimse_message::set_affected_sop_instance_uid | ( | std::string_view | uid | ) |
Set the Affected SOP Instance UID.
| uid | The SOP Instance UID |
Definition at line 125 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::set_string(), kcenon::pacs::network::dimse::tag_affected_sop_instance_uid, kcenon::pacs::encoding::UI, and uid.
Referenced by kcenon::pacs::network::dimse::make_c_store_rq(), kcenon::pacs::network::dimse::make_c_store_rsp(), kcenon::pacs::network::dimse::make_n_action_rsp(), kcenon::pacs::network::dimse::make_n_create_rq(), kcenon::pacs::network::dimse::make_n_create_rsp(), kcenon::pacs::network::dimse::make_n_delete_rsp(), kcenon::pacs::network::dimse::make_n_event_report_rq(), kcenon::pacs::network::dimse::make_n_event_report_rsp(), kcenon::pacs::network::dimse::make_n_get_rsp(), and kcenon::pacs::network::dimse::make_n_set_rsp().


| void kcenon::pacs::network::dimse::dimse_message::set_attribute_identifier_list | ( | const std::vector< core::dicom_tag > & | tags | ) |
Set the Attribute Identifier List.
| tags | Vector of tags to retrieve |
Definition at line 205 of file dimse_message.cpp.
References kcenon::pacs::encoding::AT, command_set_, kcenon::pacs::core::dicom_dataset::insert(), and kcenon::pacs::network::dimse::tag_attribute_identifier_list.
Referenced by kcenon::pacs::network::dimse::make_n_get_rq().


| void kcenon::pacs::network::dimse::dimse_message::set_completed_subops | ( | uint16_t | count | ) |
Set the number of completed sub-operations.
Definition at line 239 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::set_numeric(), kcenon::pacs::network::dimse::tag_number_of_completed_subops, and kcenon::pacs::encoding::US.

| void kcenon::pacs::network::dimse::dimse_message::set_dataset | ( | core::dicom_dataset | ds | ) |
Set the data set for this message.
| ds | The data set to associate with this message |
Definition at line 86 of file dimse_message.cpp.
References dataset_, and update_data_set_type().

| void kcenon::pacs::network::dimse::dimse_message::set_event_type_id | ( | uint16_t | type_id | ) |
Set the Event Type ID.
| type_id | The event type ID |
Definition at line 170 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::set_numeric(), kcenon::pacs::network::dimse::tag_event_type_id, and kcenon::pacs::encoding::US.
Referenced by kcenon::pacs::network::dimse::make_n_event_report_rq(), and kcenon::pacs::network::dimse::make_n_event_report_rsp().


| void kcenon::pacs::network::dimse::dimse_message::set_failed_subops | ( | uint16_t | count | ) |
Set the number of failed sub-operations.
Definition at line 248 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::set_numeric(), kcenon::pacs::network::dimse::tag_number_of_failed_subops, and kcenon::pacs::encoding::US.

| void kcenon::pacs::network::dimse::dimse_message::set_message_id_responded_to | ( | uint16_t | id | ) |
Set the Message ID Being Responded To (for responses)
| id | The message ID being responded to |
Definition at line 142 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::set_numeric(), kcenon::pacs::network::dimse::tag_message_id_responded_to, and kcenon::pacs::encoding::US.
Referenced by kcenon::pacs::network::dimse::make_c_echo_rsp(), kcenon::pacs::network::dimse::make_c_find_rsp(), kcenon::pacs::network::dimse::make_c_store_rsp(), kcenon::pacs::network::dimse::make_n_action_rsp(), kcenon::pacs::network::dimse::make_n_create_rsp(), kcenon::pacs::network::dimse::make_n_delete_rsp(), kcenon::pacs::network::dimse::make_n_event_report_rsp(), kcenon::pacs::network::dimse::make_n_get_rsp(), and kcenon::pacs::network::dimse::make_n_set_rsp().


| void kcenon::pacs::network::dimse::dimse_message::set_priority | ( | uint16_t | priority | ) |
Set the priority.
| priority | The priority value |
Definition at line 134 of file dimse_message.cpp.
References command_set_, priority(), kcenon::pacs::core::dicom_dataset::set_numeric(), kcenon::pacs::network::dimse::tag_priority, and kcenon::pacs::encoding::US.
Referenced by kcenon::pacs::network::dimse::make_c_find_rq(), and kcenon::pacs::network::dimse::make_c_store_rq().


| void kcenon::pacs::network::dimse::dimse_message::set_remaining_subops | ( | uint16_t | count | ) |
Set the number of remaining sub-operations.
Definition at line 230 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::set_numeric(), kcenon::pacs::network::dimse::tag_number_of_remaining_subops, and kcenon::pacs::encoding::US.

| void kcenon::pacs::network::dimse::dimse_message::set_requested_sop_class_uid | ( | std::string_view | uid | ) |
Set the Requested SOP Class UID.
| uid | The SOP Class UID |
Definition at line 154 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::set_string(), kcenon::pacs::network::dimse::tag_requested_sop_class_uid, kcenon::pacs::encoding::UI, and uid.
Referenced by kcenon::pacs::network::dimse::make_n_action_rq(), kcenon::pacs::network::dimse::make_n_delete_rq(), kcenon::pacs::network::dimse::make_n_get_rq(), and kcenon::pacs::network::dimse::make_n_set_rq().


| void kcenon::pacs::network::dimse::dimse_message::set_requested_sop_instance_uid | ( | std::string_view | uid | ) |
Set the Requested SOP Instance UID.
| uid | The SOP Instance UID |
Definition at line 162 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::set_string(), kcenon::pacs::network::dimse::tag_requested_sop_instance_uid, kcenon::pacs::encoding::UI, and uid.
Referenced by kcenon::pacs::network::dimse::make_n_action_rq(), kcenon::pacs::network::dimse::make_n_delete_rq(), kcenon::pacs::network::dimse::make_n_get_rq(), and kcenon::pacs::network::dimse::make_n_set_rq().


| void kcenon::pacs::network::dimse::dimse_message::set_status | ( | status_code | status | ) |
Set the status code (for response messages)
| status | The status code to set |
Definition at line 104 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::set_numeric(), status(), kcenon::pacs::network::dimse::tag_status, and kcenon::pacs::encoding::US.
Referenced by kcenon::pacs::network::dimse::make_c_echo_rsp(), kcenon::pacs::network::dimse::make_c_find_rsp(), kcenon::pacs::network::dimse::make_c_store_rsp(), kcenon::pacs::network::dimse::make_n_action_rsp(), kcenon::pacs::network::dimse::make_n_create_rsp(), kcenon::pacs::network::dimse::make_n_delete_rsp(), kcenon::pacs::network::dimse::make_n_event_report_rsp(), kcenon::pacs::network::dimse::make_n_get_rsp(), and kcenon::pacs::network::dimse::make_n_set_rsp().


| void kcenon::pacs::network::dimse::dimse_message::set_warning_subops | ( | uint16_t | count | ) |
Set the number of warning sub-operations.
Definition at line 257 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::set_numeric(), kcenon::pacs::network::dimse::tag_number_of_warning_subops, and kcenon::pacs::encoding::US.

|
nodiscard |
Get the status code (for response messages)
Definition at line 100 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::get_numeric(), and kcenon::pacs::network::dimse::tag_status.
Referenced by set_status().


|
private |
Calculate and set CommandGroupLength.
Definition at line 370 of file dimse_message.cpp.
References command_set_, kcenon::pacs::encoding::implicit_vr_codec::encode(), kcenon::pacs::core::dicom_dataset::remove(), kcenon::pacs::core::dicom_dataset::set_numeric(), kcenon::pacs::network::dimse::tag_command_group_length, and kcenon::pacs::encoding::UL.
Referenced by encode().


|
private |
Update the CommandDataSetType field based on dataset presence.
Definition at line 360 of file dimse_message.cpp.
References kcenon::pacs::network::dimse::command_data_set_type_null, kcenon::pacs::network::dimse::command_data_set_type_present, command_set_, dataset_, kcenon::pacs::core::dicom_dataset::set_numeric(), kcenon::pacs::network::dimse::tag_command_data_set_type, and kcenon::pacs::encoding::US.
Referenced by clear_dataset(), dimse_message(), and set_dataset().


|
nodiscard |
Get the number of warning sub-operations.
Definition at line 253 of file dimse_message.cpp.
References command_set_, kcenon::pacs::core::dicom_dataset::get_numeric(), and kcenon::pacs::network::dimse::tag_number_of_warning_subops.

|
private |
Definition at line 546 of file dimse_message.h.
Referenced by command(), is_request(), and is_response().
|
private |
Definition at line 548 of file dimse_message.h.
Referenced by action_type_id(), affected_sop_class_uid(), affected_sop_instance_uid(), attribute_identifier_list(), command_set(), command_set(), completed_subops(), decode(), dimse_message(), encode(), event_type_id(), failed_subops(), is_valid(), message_id_responded_to(), priority(), remaining_subops(), requested_sop_class_uid(), requested_sop_instance_uid(), set_action_type_id(), set_affected_sop_class_uid(), set_affected_sop_instance_uid(), set_attribute_identifier_list(), set_completed_subops(), set_event_type_id(), set_failed_subops(), set_message_id_responded_to(), set_priority(), set_remaining_subops(), set_requested_sop_class_uid(), set_requested_sop_instance_uid(), set_status(), set_warning_subops(), status(), update_command_group_length(), update_data_set_type(), and warning_subops().
|
private |
Definition at line 549 of file dimse_message.h.
Referenced by clear_dataset(), dataset(), decode(), has_dataset(), set_dataset(), and update_data_set_type().
|
private |