/usr/include/dcmtk/dcmiod/modmultiframefg.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 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, 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 concatentation 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
|