9 #ifndef _dcfa5213_ad7e_4194_8b4b_e630aa0df2e8 10 #define _dcfa5213_ad7e_4194_8b4b_e630aa0df2e8 23 #define ODIL_MESSAGE_MANDATORY_FIELD_MACRO(name, tag, TValueType, function) \ 25 TValueType const & get_##name() const \ 27 auto const & data = this->_command_set.function(tag); \ 30 throw Exception("Empty element"); \ 35 void set_##name(TValueType const & value) \ 37 if(!this->_command_set.has(tag)) \ 39 this->_command_set.add(tag); \ 41 this->_command_set.function(tag) = { value }; \ 44 #define ODIL_MESSAGE_OPTIONAL_FIELD_MACRO(name, tag, TValueType, function) \ 45 ODIL_MESSAGE_MANDATORY_FIELD_MACRO(name, tag, TValueType, function) \ 46 bool has_##name() const \ 48 return this->_command_set.has(tag);; \ 50 void delete_##name() \ 52 this->_command_set.remove(tag); \ 55 #define ODIL_MESSAGE_SET_OPTIONAL_FIELD_MACRO(dataset, name, tag, function) \ 56 if(dataset.has(tag)) \ 58 this->set_##name(dataset.function(tag, 0)); \ 61 #define ODIL_MESSAGE_MANDATORY_FIELD_INTEGER_MACRO(name, tag) \ 62 ODIL_MESSAGE_MANDATORY_FIELD_MACRO(name, tag, Value::Integer, as_int) 64 #define ODIL_MESSAGE_MANDATORY_FIELD_STRING_MACRO(name, tag) \ 65 ODIL_MESSAGE_MANDATORY_FIELD_MACRO(name, tag, Value::String, as_string) 67 #define ODIL_MESSAGE_OPTIONAL_FIELD_INTEGER_MACRO(name, tag) \ 68 ODIL_MESSAGE_OPTIONAL_FIELD_MACRO(name, tag, Value::Integer, as_int) 70 #define ODIL_MESSAGE_OPTIONAL_FIELD_STRING_MACRO(name, tag) \ 71 ODIL_MESSAGE_OPTIONAL_FIELD_MACRO(name, tag, Value::String, as_string) 100 N_EVENT_REPORT_RQ = 0x0100,
101 N_EVENT_REPORT_RSP = 0x8100,
109 N_ACTION_RQ = 0x0130,
110 N_ACTION_RSP = 0x8130,
112 N_CREATE_RQ = 0x0140,
113 N_CREATE_RSP = 0x8140,
115 N_DELETE_RQ = 0x0150,
116 N_DELETE_RSP = 0x8150,
158 DataSet const & get_command_set()
const;
161 bool has_data_set()
const;
167 DataSet const & get_data_set()
const;
176 void set_data_set(
DataSet const & data_set);
179 void set_data_set(
DataSet && data_set);
182 void delete_data_set();
199 #endif // _dcfa5213_ad7e_4194_8b4b_e630aa0df2e8
Type
Definition: Message.h:132
DICOM Data set.
Definition: DataSet.h:29
#define ODIL_MESSAGE_MANDATORY_FIELD_INTEGER_MACRO(name, tag)
Definition: Message.h:61
Base class for all DIMSE messages.
Definition: Message.h:76
DataSet _command_set
Command set of the message.
Definition: Message.h:189
Tag const CommandField(0x0000, 0x0100)
Definition: Association.h:24
Definition: Message.h:130
Type
Definition: Message.h:122
#define ODIL_API
Definition: odil.h:28
Type
Definition: Message.h:81
DataSet _data_set
Data set of the message.
Definition: Message.h:192
Definition: Message.h:120