This file is indexed.

/usr/include/odil/message/Response.h is in libodil-dev 0.8.0-4build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
/*************************************************************************
 * odil - Copyright (C) Universite de Strasbourg
 * Distributed under the terms of the CeCILL-B license, as published by
 * the CEA-CNRS-INRIA. Refer to the LICENSE file or to
 * http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
 * for details.
 ************************************************************************/

#ifndef _0dd2e31e_212a_494a_a8d3_93b235336658
#define _0dd2e31e_212a_494a_a8d3_93b235336658

#include "odil/message/Message.h"
#include "odil/odil.h"
#include "odil/registry.h"
#include "odil/Value.h"

namespace odil
{

namespace message
{

/// @brief Base class for all DIMSE response messages.
class ODIL_API Response: public Message
{
public:
    /// @brief General status codes, from PS3.7, C
    enum Status
    {
        Success=0x0000,
        // Warning: 0001 or Bxxx
        // Failure: Axxx or Cxxx
        Cancel=0xFE00,
        Pending=0xFF00,

        // Warning Status Classes, PS3.7, C.3
        AttributeListError=0x0107,
        AttributeValueOutOfRange=0x0116,

        // Failure Status Classes, PS3.7, C.4
        SOPClassNotSupported=0x0122,
        ClassInstanceConflict=0x0119,
        DuplicateSOPInstance=0x0111,
        DuplicateInvocation=0x0210,
        InvalidArgumentValue=0x0115,
        InvalidAttributeValue=0x0106,
        InvalidObjectInstance=0x0117,
        MissingAttribute=0x0120,
        MissingAttributeValue=0x0121,
        MistypedArgument=0x0212,
        NoSuchArgument=0x0114,
        NoSuchAttribute=0x0105,
        NoSuchEventType=0x0113,
        NoSuchSOPInstance=0x0112,
        NoSuchSOPClass=0x0118,
        ProcessingFailure=0x0110,
        ResourceLimitation=0x0213,
        UnrecognizedOperation=0x0211,
        NoSuchActionType=0x0123,
        RefusedNotAuthorized=0x0124,
    };

    /// @brief Test whether the status class is pending.
    static bool is_pending(Value::Integer status);

    /// @brief Test whether the status class is warning.
    static bool is_warning(Value::Integer status);

    /// @brief Test whether the status class is failure.
    static bool is_failure(Value::Integer status);

    /// @brief Create a response with given message id and status;
    Response(Value::Integer message_id_being_responded_to, Value::Integer status);

    /**
     * @brief Create a response from the Message ID Being Responded To and the
     * Status stored in the message command set.
     *
     * Raise an exception is either of those elements is missing.
     */
    Response(Message const & message);

    /// @brief Destructor.
    virtual ~Response();

    ODIL_MESSAGE_MANDATORY_FIELD_INTEGER_MACRO(
        message_id_being_responded_to, registry::MessageIDBeingRespondedTo)
    ODIL_MESSAGE_MANDATORY_FIELD_INTEGER_MACRO(status, registry::Status)

    ODIL_MESSAGE_OPTIONAL_FIELD_STRING_MACRO(
        offending_element, registry::OffendingElement)
    ODIL_MESSAGE_OPTIONAL_FIELD_STRING_MACRO(
        error_comment, registry::ErrorComment)
    ODIL_MESSAGE_OPTIONAL_FIELD_INTEGER_MACRO(
        error_id, registry::ErrorID)
    ODIL_MESSAGE_OPTIONAL_FIELD_STRING_MACRO(
        affected_sop_instance_uid, odil::registry::AffectedSOPInstanceUID)
    ODIL_MESSAGE_OPTIONAL_FIELD_STRING_MACRO(
        attribute_identifier_list, odil::registry::AttributeIdentifierList)

    /// @brief Test whether the status class is pending.
    bool is_pending() const;

    /// @brief Test whether the status class is warning.
    bool is_warning() const;

    /// @brief Test whether the status class is failure.
    bool is_failure() const;

    /// @brief Set the status fields (cf. PS.37, C)
    void set_status_fields(DataSet const & status_fields);
};

}

}

#endif // _0dd2e31e_212a_494a_a8d3_93b235336658