This file is indexed.

/usr/include/dcmtk/dcmiod/modmultiframefg.h is in libdcmtk-dev 3.6.2-3build3.

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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
/*
 *
 *  Copyright (C) 2015-2016, Open Connections GmbH
 *  All rights reserved.  See COPYRIGHT file for details.
 *
 *  This software and supporting documentation are maintained by
 *
 *    OFFIS e.V.
 *    R&D Division Health
 *    Escherweg 2
 *    D-26121 Oldenburg, Germany
 *
 *
 *  Module: dcmiod
 *
 *  Author: Michael Onken
 *
 *  Purpose: Class for managing the Multi-frame Functional Groups Module
 *
 */

#ifndef MODMULTIFRAMEFG_H
#define MODMULTIFRAMEFG_H

#include "dcmtk/config/osconfig.h"
#include "dcmtk/dcmdata/dcsequen.h"
#include "dcmtk/dcmdata/dcdeftag.h"
#include "dcmtk/dcmdata/dcdatset.h"
#include "dcmtk/dcmiod/iodrules.h"
#include "dcmtk/dcmiod/ioddef.h"
#include "dcmtk/dcmiod/modbase.h"

/** Class managing the data from the Multi-Frame Functional Group Module. The
 *  actual functional groups are not included and can be interfaced by the
 *  FGInterface class in module "dcmfg".
 */
class DCMTK_DCMIOD_EXPORT IODMultiFrameFGModule : public IODModule
{

public:

  // Forward declaration
  class ConcatenationInfo;

  /** Constructor
   *  @param  data The item to be used for data storage. If NULL, the
   *          class creates an empty data container.
   *  @param  rules The rule set for this class. If NULL, the class creates
   *          one from scratch and adds its values.
   */
  IODMultiFrameFGModule(OFshared_ptr<DcmItem> data,
                        OFshared_ptr<IODRules> rules);

  /** Constructor
   */
  IODMultiFrameFGModule();

  /** Virtual destructor
   */
  virtual ~IODMultiFrameFGModule();

  /** Get name of the module ("MultiframeFunctionalGroupsModule")
   *  @return Name of the module ("MultiframeFunctionalGroupsModule")
   */
  virtual OFString getName() const;

  /** Reset attribute rules to their default values
   */
  virtual void resetRules();

  // -- getters --

  /** Get Instance Number
   *  @param  value Reference to variable in which the value should be stored
   *  @param  pos Index of the value to get (0..vm-1), -1 for all components
   *  @return EC_Normal if successful, an error code otherwise
   */
  virtual OFCondition getInstanceNumber(Sint32 &value,
                                        const unsigned int pos = 0);

   /** Get Content Date
    *  @param  value Reference to variable in which the value should be stored
    *  @param  pos Index of the value to get (0..vm-1), -1 for all components
    *  @return EC_Normal if successful, an error code otherwise
    */
  virtual OFCondition getContentDate(OFString &value,
                                     const signed long pos = 0);

   /** Get Content Time
    *  @param  value Reference to variable in which the value should be stored
    *  @param  pos Index of the value to get (0..vm-1), -1 for all components
    *  @return EC_Normal if successful, an error code otherwise
    */
  virtual OFCondition getContentTime(OFString &value,
                                     const signed long pos = 0);

   /** Get Number of Frames
    *  @param  value Reference to variable in which the value should be stored
    *  @param  pos Index of the value to get (0..vm-1), -1 for all components
    *  @return EC_Normal if successful, an error code otherwise
    */
  virtual OFCondition getNumberOfFrames(Sint32 &value,
                                        const unsigned int pos = 0);

   /** Get Representative Frame Number
    *  @param  value Reference to variable in which the value should be stored
    *  @param  pos Index of the value to get (0..vm-1), -1 for all components
    *  @return EC_Normal if successful, an error code otherwise
    */
  virtual OFCondition getRepresentativeFrameNumber(Uint16 &value,
                                                   const unsigned int pos = 0);

  /** Get Concatenation Information
   *  @return Reference to the concatenation information
   */
  virtual ConcatenationInfo& getConcatenationInfo();

   // -- setters --

  /** Set Instance Number
   *  @param  value Value to be stored
   *  @param  checkValue Check 'value' for conformance with VR (IS) and VM (1) if enabled
   *  @return EC_Normal if successful, an error code otherwise
   */
  virtual OFCondition setInstanceNumber(const OFString& value,
                                        const OFBool checkValue = OFTrue);

  /** Set Content Date
   *  @param  value Value to be stored
   *  @param  checkValue Check 'value' for conformance with VR (DA) and VM (1) if enabled
   *  @return EC_Normal if successful, an error code otherwise
   */
  virtual OFCondition setContentDate(const OFString &value,
                                     const OFBool checkValue = OFTrue);

  /** Set Content Time
   *  @param  value Value to be stored
   *  @param  checkValue Check 'value' for conformance with VR (TM) and VM (1) if enabled
   *  @return EC_Normal if successful, an error code otherwise
   */
  virtual OFCondition setContentTime(const OFString &value,
                                     const OFBool checkValue = OFTrue);

  /** Set Number of Frames
   *  @param  value Value to be stored
   *  @return EC_Normal if successful, an error code otherwise
   */
  virtual OFCondition setNumberOfFrames(const Uint16 value);

  /** Set Representative Frame Number
   *  @param  value Value to be stored
   *  @return EC_Normal if successful, an error code otherwise
   */
  virtual OFCondition setRepresentativeFrameNumber(const Uint16 value);

  /** Set concatenation information
   *  @param concatenationInfo The concatenation info to set
   *  @return EC_Normal if successful, error otherwise
   */
  virtual OFCondition setConcatenationInfo(const ConcatenationInfo& concatenationInfo);

  /** Helper class encapsulating concatenation information, including
   *  Concatenation Frame Offset Number,
   *  Concatenation UID,
   *  SOP Instance UID of Concatenation Source,
   *  In-concatenation Number,
   *  In-concatenation Total Number
   */
  class DCMTK_DCMIOD_EXPORT ConcatenationInfo : public IODComponent
  {

  public:

    /** Constructor
     *  @param  data The item to be used for data storage. If NULL, the
     *          class creates an empty data container.
     *  @param  rules The rule set where this classes rules are added to. If NULL, the
     *          class creates an empty rule set.
     */
    ConcatenationInfo(OFshared_ptr<DcmItem> data,
                      OFshared_ptr<IODRules> rules);

    /** Constructor
     *  @param  parent The parent component of this class (if applicable, might be NULL)
     */
    ConcatenationInfo(IODComponent* parent = NULL);

    /** Virtual destructor
     */
    virtual ~ConcatenationInfo();

    /** Resets attribute rules to their default values
     */
    virtual void resetRules();

    /** Get name of this component ("ConcatenationInfo")
     */
    virtual OFString getName() const;

    // -- getters --

    /** Get Concatenation Frame Offset Number
     *  @param  value Reference to variable in which the value should be stored
     *  @param  pos Index of the value to get (0..vm-1), -1 for all components
     *  @return EC_Normal if successful, an error code otherwise
     */
    OFCondition getConcatenationFrameOffsetNumber(Uint32& value,
                                                  const unsigned int pos);

    /** Get Concatenation UID
     *  @param  value Reference to variable in which the value should be stored
     *  @param  pos Index of the value to get (0..vm-1), -1 for all components
     *  @return EC_Normal if successful, an error code otherwise
     */
    OFCondition getConcatenationUID(OFString& value,
                                    const signed long pos);

    /** Get SOP Instance UID of Concatenation Source
     *  @param  value Reference to variable in which the value should be stored
     *  @param  pos Index of the value to get (0..vm-1), -1 for all components
     *  @return EC_Normal if successful, an error code otherwise
     */
    OFCondition getSOPInstanceUIDOfConcatenationSource(OFString& value,
                                                       const signed long pos);

    /** Get Concatenation Number
     *  @param  value Reference to variable in which the value should be stored
     *  @param  pos Index of the value to get (0..vm-1), -1 for all components
     *  @return EC_Normal if successful, an error code otherwise
     */
    OFCondition getInConcatenationNumber(Uint16& value,
                                         const unsigned int pos);

    /** Get Concatenation Total Number
     *  @param  value Reference to variable in which the value should be stored
     *  @param  pos Index of the value to get (0..vm-1), -1 for all components
     *  @return EC_Normal if successful, an error code otherwise
     */
    OFCondition getInConcatenationTotalNumber(Uint16& value,
                                              const unsigned int pos);

    // -- setters --

    /** Set Concatenation Frame Offset Number
     *  @param  value Value to be stored
     *  @return EC_Normal if successful, an error code otherwise
     */
    virtual OFCondition setConcatenationFrameOffsetNumber(const Uint32 value);

    /** Set Concatenation UID
     *  @param  value Value to be stored
     *  @param  checkValue If OFTrue, the value is checked for conformance
     *          (VR = UID and VM = 1).
     *  @return EC_Normal if successful, an error code otherwise
     */
    virtual OFCondition setConcatenationUID(const OFString &value,
                                            const OFBool checkValue = OFTrue);

    /** Set SOP Instance UID of Concatenation Source
     *  @param  value Value to be stored
     *  @param  checkValue If OFTrue, the value is checked for conformance
     *          (VR = UID and VM = 1).
     *  @return EC_Normal if successful, an error code otherwise
     */
    virtual OFCondition setSOPInstanceUIDOfConcatenationSource(const OFString &value,
                                                               const OFBool checkValue = OFTrue);

    /** Set In-concatenation Number
     *  @param  value Value to be stored
     *  @return EC_Normal if successful, an error code otherwise
     */
    virtual OFCondition setInConcatenationNumber(const Uint16 value);

    /** Set In-concatenation Total Number
     *  @param  value Value to be stored
     *  @return EC_Normal if successful, an error code otherwise
     */
    virtual OFCondition setInConcatenationTotalNumber(const Uint16 value);

  }; // ConcatenationInfoClass


private:

  /// Concatenation Information
  ConcatenationInfo m_ConcatenationInfo;

  /// Module name ("MultiframeFunctionalGroupsModule"
  static const OFString m_ModuleName;
};

#endif // MODMULTIFRAMEFG_H