PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
pacs-network-dimse.cppm
Go to the documentation of this file.
1// BSD 3-Clause License
2// Copyright (c) 2025, 🍀☀🌕🌥 🌊
3// See the LICENSE file in the project root for full license information.
4
18module;
19
20// Standard library imports
21#include <cstdint>
22#include <memory>
23#include <optional>
24#include <string>
25#include <string_view>
26#include <vector>
27
28// PACS DIMSE headers
38
39export module kcenon.pacs:network_dimse;
40
41// ============================================================================
42// Re-export pacs::network::dimse namespace (full)
43// ============================================================================
44
45export namespace pacs::network::dimse {
46
47// ==========================================================================
48// Core Message Types
49// ==========================================================================
50
51// DIMSE message class
52using pacs::network::dimse::dimse_message;
53
54// Command field enumeration
55using pacs::network::dimse::command_field;
56
57// ==========================================================================
58// Status Codes
59// ==========================================================================
60
61// Status code type
62using pacs::network::dimse::status_code;
63
64// General status codes
65using pacs::network::dimse::status_success;
66using pacs::network::dimse::status_pending;
67using pacs::network::dimse::status_pending_warning;
68using pacs::network::dimse::status_cancel;
69
70// Failure status codes
71using pacs::network::dimse::status_refused_out_of_resources;
72using pacs::network::dimse::status_refused_out_of_resources_matches;
73using pacs::network::dimse::status_refused_out_of_resources_subops;
74using pacs::network::dimse::status_refused_move_destination_unknown;
75using pacs::network::dimse::status_refused_sop_class_not_supported;
76using pacs::network::dimse::status_error_dataset_mismatch;
77using pacs::network::dimse::status_error_cannot_understand;
78using pacs::network::dimse::status_error_unable_to_process;
79using pacs::network::dimse::status_error_duplicate_sop_instance;
80using pacs::network::dimse::status_error_missing_attribute;
81using pacs::network::dimse::status_error_missing_attribute_value;
82
83// Warning status codes
84using pacs::network::dimse::status_warning_coercion;
85using pacs::network::dimse::status_warning_elements_discarded;
86using pacs::network::dimse::status_warning_dataset_mismatch;
87
88// Status category checks
89using pacs::network::dimse::is_success;
90using pacs::network::dimse::is_pending;
91using pacs::network::dimse::is_warning;
92using pacs::network::dimse::is_failure;
93using pacs::network::dimse::status_to_string;
94
95// ==========================================================================
96// C-* Message Factory Functions
97// ==========================================================================
98
99// C-ECHO
100using pacs::network::dimse::make_c_echo_rq;
101using pacs::network::dimse::make_c_echo_rsp;
102
103// C-STORE
104using pacs::network::dimse::make_c_store_rq;
105using pacs::network::dimse::make_c_store_rsp;
106
107// C-FIND
108using pacs::network::dimse::make_c_find_rq;
109using pacs::network::dimse::make_c_find_rsp;
110
111// C-MOVE
112using pacs::network::dimse::make_c_move_rq;
113using pacs::network::dimse::make_c_move_rsp;
114
115// C-GET
116using pacs::network::dimse::make_c_get_rq;
117using pacs::network::dimse::make_c_get_rsp;
118
119// C-CANCEL
120using pacs::network::dimse::make_c_cancel_rq;
121
122// ==========================================================================
123// N-* Message Factory Functions
124// ==========================================================================
125
126// N-ACTION
127using pacs::network::dimse::make_n_action_rq;
128using pacs::network::dimse::make_n_action_rsp;
129
130// N-CREATE
131using pacs::network::dimse::make_n_create_rq;
132using pacs::network::dimse::make_n_create_rsp;
133
134// N-DELETE
135using pacs::network::dimse::make_n_delete_rq;
136using pacs::network::dimse::make_n_delete_rsp;
137
138// N-EVENT-REPORT
139using pacs::network::dimse::make_n_event_report_rq;
140using pacs::network::dimse::make_n_event_report_rsp;
141
142// N-GET
143using pacs::network::dimse::make_n_get_rq;
144using pacs::network::dimse::make_n_get_rsp;
145
146// N-SET
147using pacs::network::dimse::make_n_set_rq;
148using pacs::network::dimse::make_n_set_rsp;
149
150} // namespace pacs::network::dimse
DIMSE command field enumeration.
DIMSE message encoding and decoding.
N-ACTION DIMSE service.
N-CREATE DIMSE service.
N-DELETE DIMSE service.
N-EVENT-REPORT DIMSE service.
N-GET DIMSE service.
N-SET DIMSE service.
DIMSE status codes.