Odil
A C++11 library for the DICOM standard
Loading...
Searching...
No Matches
Response.h
Go to the documentation of this file.
1/*************************************************************************
2 * odil - Copyright (C) Universite de Strasbourg
3 * Distributed under the terms of the CeCILL-B license, as published by
4 * the CEA-CNRS-INRIA. Refer to the LICENSE file or to
5 * http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
6 * for details.
7 ************************************************************************/
8
9#ifndef _0dd2e31e_212a_494a_a8d3_93b235336658
10#define _0dd2e31e_212a_494a_a8d3_93b235336658
11
13#include "odil/odil.h"
14#include "odil/registry.h"
15#include "odil/Value.h"
16
17namespace odil
18{
19
20namespace message
21{
22
25{
26public:
28 enum Status
29 {
30 Success=0x0000,
31 // Warning: 0001 or Bxxx
32 // Failure: Axxx or Cxxx
33 Cancel=0xFE00,
34 Pending=0xFF00,
35
36 // Warning Status Classes, PS3.7, C.3
39
40 // Failure Status Classes, PS3.7, C.4
61 };
62
64 static bool is_pending(Value::Integer status);
65
67 static bool is_warning(Value::Integer status);
68
70 static bool is_failure(Value::Integer status);
71
73 Response(Value::Integer message_id_being_responded_to, Value::Integer status);
74
81 Response(std::shared_ptr<Message const> message);
82
84 message_id_being_responded_to, registry::MessageIDBeingRespondedTo)
86
88 offending_element, registry::OffendingElement)
90 error_comment, registry::ErrorComment)
92 error_id, registry::ErrorID)
94 affected_sop_instance_uid, registry::AffectedSOPInstanceUID)
96 attribute_identifier_list, registry::AttributeIdentifierList)
97
99 bool is_pending() const;
100
102 bool is_warning() const;
103
105 bool is_failure() const;
106
108 void set_status_fields(std::shared_ptr<DataSet const> status_fields);
109};
110
111}
112
113}
114
115#endif // _0dd2e31e_212a_494a_a8d3_93b235336658
DICOM Data set.
Definition DataSet.h:30
int64_t Integer
Integer type.
Definition Value.h:42
Message(std::shared_ptr< DataSet > command_set=std::make_shared< DataSet >(), std::shared_ptr< DataSet > data_set={})
Create a message with an empty command set and no data set.
static bool is_failure(Value::Integer status)
Test whether the status class is failure.
static bool is_warning(Value::Integer status)
Test whether the status class is warning.
Response(Value::Integer message_id_being_responded_to, Value::Integer status)
Create a response with given message id and status;.
registry::OffendingElement ODIL_MESSAGE_OPTIONAL_FIELD_STRING_MACRO(error_comment, registry::ErrorComment) ODIL_MESSAGE_OPTIONAL_FIELD_INTEGER_MACRO(error_id
static bool is_pending(Value::Integer status)
Test whether the status class is pending.
ODIL_MESSAGE_MANDATORY_FIELD_INTEGER_MACRO(message_id_being_responded_to, registry::MessageIDBeingRespondedTo) ODIL_MESSAGE_OPTIONAL_FIELD_STRING_MACRO(offending_element
Response(std::shared_ptr< Message const > message)
Create a response from the Message ID Being Responded To and the Status stored in the message command...
void set_status_fields(std::shared_ptr< DataSet const > status_fields)
Set the status fields (cf. PS.37, C).
Status
General status codes, from PS3.7, C.
Definition Response.h:29
@ Success
Definition Response.h:30
@ InvalidObjectInstance
Definition Response.h:47
@ MissingAttribute
Definition Response.h:48
@ MissingAttributeValue
Definition Response.h:49
@ NoSuchAttribute
Definition Response.h:52
@ NoSuchSOPClass
Definition Response.h:55
@ UnrecognizedOperation
Definition Response.h:58
@ Cancel
Definition Response.h:33
@ InvalidArgumentValue
Definition Response.h:45
@ InvalidAttributeValue
Definition Response.h:46
@ DuplicateInvocation
Definition Response.h:44
@ RefusedNotAuthorized
Definition Response.h:60
@ NoSuchActionType
Definition Response.h:59
@ AttributeValueOutOfRange
Definition Response.h:38
@ NoSuchEventType
Definition Response.h:53
@ ResourceLimitation
Definition Response.h:57
@ ClassInstanceConflict
Definition Response.h:42
@ AttributeListError
Definition Response.h:37
@ NoSuchArgument
Definition Response.h:51
@ ProcessingFailure
Definition Response.h:56
@ SOPClassNotSupported
Definition Response.h:41
@ NoSuchSOPInstance
Definition Response.h:54
@ Pending
Definition Response.h:34
@ MistypedArgument
Definition Response.h:50
@ DuplicateSOPInstance
Definition Response.h:43
#define ODIL_MESSAGE_OPTIONAL_FIELD_INTEGER_MACRO(name, tag)
Definition Message.h:67
#define ODIL_MESSAGE_OPTIONAL_FIELD_STRING_MACRO(name, tag)
Definition Message.h:70
#define ODIL_MESSAGE_MANDATORY_FIELD_INTEGER_MACRO(name, tag)
Definition Message.h:61
Definition Cancellation.h:21
Definition registry.h:97
Tag const OffendingElement(0x0000, 0x0901)
Tag const Status(0x0000, 0x0900)
Tag const MessageIDBeingRespondedTo(0x0000, 0x0120)
Definition Association.h:25
#define ODIL_API
Definition odil.h:28