This file is indexed.

/usr/include/dcmtk/dcmqrdb/dcmqrcbg.h is in libdcmtk-dev 3.6.1~20160216-4.

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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
/*
 *
 *  Copyright (C) 1993-2011, OFFIS e.V.
 *  All rights reserved.  See COPYRIGHT file for details.
 *
 *  This software and supporting documentation were developed by
 *
 *    OFFIS e.V.
 *    R&D Division Health
 *    Escherweg 2
 *    D-26121 Oldenburg, Germany
 *
 *
 *  Module:  dcmqrdb
 *
 *  Author:  Marco Eichelberg
 *
 *  Purpose: class DcmQueryRetrieveGetContext
 *
 */

#ifndef DCMQRCBG_H
#define DCMQRCBG_H

#include "dcmtk/config/osconfig.h"    /* make sure OS specific configuration is included first */
#include "dcmtk/dcmnet/dimse.h"
#include "dcmtk/dcmqrdb/qrdefine.h"

class DcmQueryRetrieveDatabaseHandle;
class DcmQueryRetrieveOptions;
class DcmQueryRetrieveDatabaseStatus;

/** this class maintains the context information that is passed to the
 *  callback function called by DIMSE_getProvider.
 */
class DCMTK_DCMQRDB_EXPORT DcmQueryRetrieveGetContext
{
public:
    /** constructor
     *  @param handle reference to database handle
     *  @param options options for the Q/R service
     *  @param priorstatus prior DIMSE status
     *  @param origassoc pointer to DIMSE association
     *  @param origmsgid DIMSE message ID
     *  @param prior DIMSE priority
     *  @param origpresid presentation context ID
     */
    DcmQueryRetrieveGetContext(DcmQueryRetrieveDatabaseHandle& handle,
      const DcmQueryRetrieveOptions& options,
      DIC_US priorstatus,
      T_ASC_Association *origassoc,
      DIC_US origmsgid,
      T_DIMSE_Priority prior,
      T_ASC_PresentationContextID origpresid)
    : dbHandle(handle)
    , options_(options)
    , priorStatus(priorstatus)
    , origAssoc(origassoc)
    , assocStarted(OFFalse)
    , origPresId(origpresid)
    , origMsgId(origmsgid)
    , origAETitle()
//    , origHostName()
    , priority(prior)
    , ourAETitle()
    , failedUIDs(NULL)
    , nRemaining(0)
    , nCompleted(0)
    , nFailed(0)
    , nWarning(0)
    , getCancelled(OFFalse)
    {
      origHostName[0] = '\0';
    }

    /** set the AEtitle under which this application operates
     *  @param ae AEtitle, is copied into this object.
     */
    void setOurAETitle(const char *ae)
    {
      if (ae) ourAETitle = ae; else ourAETitle.clear();
    }

    /** callback handler called by the DIMSE_storeProvider callback function.
     *  @param cancelled (in) flag indicating whether a C-CANCEL was received
     *  @param request original get request (in)
     *  @param requestIdentifiers original get request identifiers (in)
     *  @param responseCount get response count (in)
     *  @param response get response (out)
     *  @param stDetail status detail for get response (out)
     *  @param responseIdentifiers get response identifiers (out)
     */
    void callbackHandler(
        /* in */
        OFBool cancelled, T_DIMSE_C_GetRQ *request,
        DcmDataset *requestIdentifiers, int responseCount,
        /* out */
        T_DIMSE_C_GetRSP *response, DcmDataset **stDetail,
        DcmDataset **responseIdentifiers);

private:

    /// private undefined copy constructor
    DcmQueryRetrieveGetContext(const DcmQueryRetrieveGetContext& other);

    /// private undefined assignment operator
    DcmQueryRetrieveGetContext& operator=(const DcmQueryRetrieveGetContext& other);

    void addFailedUIDInstance(const char *sopInstance);
    OFCondition performGetSubOp(DIC_UI sopClass, DIC_UI sopInstance, char *fname);
    void getNextImage(DcmQueryRetrieveDatabaseStatus * dbStatus);
    void buildFailedInstanceList(DcmDataset ** rspIds);

    /// reference to database handle
    DcmQueryRetrieveDatabaseHandle& dbHandle;

    /// reference to Q/R service options
    const DcmQueryRetrieveOptions& options_;

    /// prior DIMSE status
    DIC_US  priorStatus;

    /// pointer to association on which the C-GET-RQ was received
    T_ASC_Association   *origAssoc;

    /// true if the association was started
    OFBool assocStarted;

    /// presentation context id of request
    T_ASC_PresentationContextID origPresId;

    /// message id of request
    DIC_US origMsgId;

    /// title of requestor
    OFString origAETitle;

    /// hostname of requestor
    DIC_NODENAME origHostName;


    /// priority of request
    T_DIMSE_Priority priority;

    /// our current title
    OFString ourAETitle;

    /// instance UIDs of failed store sub-ops
    char *failedUIDs;

    /// number of remaining sub-operations
    DIC_US nRemaining;

    /// number of completed sub-operations
    DIC_US nCompleted;

    /// number of failed sub-operations
    DIC_US nFailed;

    /// number of completed sub-operations that causes warnings
    DIC_US nWarning;

    /// true if the get sub-operations have been cancelled
    OFBool getCancelled;

};

#endif