/usr/include/dcmtk/dcmsr/dsrtpltn.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 | /*
*
* Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
* 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: dcmsr
*
* Author: Joerg Riesmeier
*
* Purpose:
* classes: DSRIncludedTemplateTreeNode
*
*/
#ifndef DSRTPLTN_H
#define DSRTPLTN_H
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#include "dcmtk/dcmsr/dsrdoctn.h"
#include "dcmtk/dcmsr/dsrstpl.h"
/*---------------------*
* class declaration *
*---------------------*/
/** Class for managing included templates (internal)
*/
class DCMTK_DCMSR_EXPORT DSRIncludedTemplateTreeNode
: public DSRDocumentTreeNode
{
public:
/** constructor.
* Also sets the template identification if available from 'referencedTemplate'.
** @param referencedTemplate shared pointer to template that should be managed
* @param defaultRelType default relationship type of the included template
*/
DSRIncludedTemplateTreeNode(const DSRSharedSubTemplate &referencedTemplate,
const E_RelationshipType defaultRelType);
/** copy constructor.
* Please note that the comments on the copy constructor of the base class
* DSRDocumentTreeNode apply.
** @param node tree node to be copied
*/
DSRIncludedTemplateTreeNode(const DSRIncludedTemplateTreeNode &node);
/** destructor
*/
virtual ~DSRIncludedTemplateTreeNode();
/** clone this tree node.
* Internally, the copy constructor is used, so the corresponding comments apply.
** @return copy of this tree node
*/
virtual DSRIncludedTemplateTreeNode *clone() const;
/** clear all member variables.
* Please note that the content item becomes invalid afterwards.
*/
virtual void clear();
/** check whether the content item is valid.
* The content item is valid if the base class is valid and the reference to the
* included template is valid.
** @return OFTrue if tree node is valid, OFFalse otherwise
*/
virtual OFBool isValid() const;
/** check whether the value of the content item, i.e.\ the reference to the included
* template is valid. See getValue().
** @return OFTrue if the value is valid, OFFalse otherwise
*/
virtual OFBool hasValidValue() const;
/** check whether the content is short.
* This method is used to check whether the rendered output of this content item can
* be expanded inline or not (used for renderHTML()).
** @param flags flag used to customize the output (see DSRTypes::HF_xxx)
** @return OFTrue if the content is short, OFFalse otherwise
*/
virtual OFBool isShort(const size_t flags) const;
/** print content item.
* A typical output looks like this: # INCLUDE TID 1600 (DCMR)
** @param stream output stream to which the content item should be printed
* @param flags flag used to customize the output (see DSRTypes::PF_xxx)
** @return status, EC_Normal if successful, an error code otherwise
*/
virtual OFCondition print(STD_NAMESPACE ostream &stream,
const size_t flags) const;
/** write content of included template in XML format
** @param stream output stream to which the XML document is written
* @param flags flag used to customize the output (see DSRTypes::XF_xxx)
** @return status, EC_Normal if successful (or included template is empty, so there
* is nothing to do), an error code otherwise
*/
virtual OFCondition writeXML(STD_NAMESPACE ostream &stream,
const size_t flags) const;
/** get reference to included template, i.e.\ the value of this content item
** @return reference to included template. The managed pointer might be NULL.
*/
inline const DSRSharedSubTemplate &getValue() const
{
return ReferencedTemplate;
}
/** set reference to included template, i.e.\ the value of this content item.
* Currently, no checks are performed on the passed 'referencedTemplate' parameter.
** @param referencedTemplate shared pointer to template that should be managed
** @return status, EC_Normal if successful, an error code otherwise
*/
virtual OFCondition setValue(const DSRSharedSubTemplate &referencedTemplate);
protected:
/** read content item from dataset
** @param dataset dummy parameter
* @param constraintChecker dummy parameter
* @param flags dummy parameter
** @return always returns SR_EC_CannotProcessIncludedTemplates
*/
virtual OFCondition read(DcmItem &dataset,
const DSRIODConstraintChecker *constraintChecker,
const size_t flags);
/** write content item to dataset
** @param dataset dummy parameter
* @param markedItems dummy parameter
** @return always returns SR_EC_CannotProcessIncludedTemplates
*/
virtual OFCondition write(DcmItem &dataset,
DcmStack *markedItems = NULL);
/** read general XML document tree node data
** @param doc dummy parameter
* @param cursor dummy parameter
* @param documentType dummy parameter
* @param flags dummy parameter
** @return always returns SR_EC_CannotProcessIncludedTemplates
*/
virtual OFCondition readXML(const DSRXMLDocument &doc,
DSRXMLCursor cursor,
const E_DocumentType documentType,
const size_t flags);
/** render content item in HTML/XHTML format
** @param docStream dummy parameter
* @param annexStream dummy parameter
* @param nestingLevel dummy parameter
* @param annexNumber dummy parameter
* @param flags dummy parameter
** @return always returns SR_EC_CannotProcessIncludedTemplates
*/
virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream,
STD_NAMESPACE ostream &annexStream,
const size_t nestingLevel,
size_t &annexNumber,
const size_t flags) const;
/** set the concept name
** @param conceptName dummy parameter
* @param check dummy parameter
** @return always returns EC_IllegalCall, since this method should not be called
*/
virtual OFCondition setConceptName(const DSRCodedEntryValue &conceptName,
const OFBool check = OFTrue);
/** set observation date/time
** @param observationDateTime dummy parameter
* @param check dummy parameter
** @return always returns EC_IllegalCall, since this method should not be called
*/
virtual OFCondition setObservationDateTime(const OFString &observationDateTime,
const OFBool check = OFTrue);
/** set observation date/time from element
** @param delem dummy parameter
* @param pos dummy parameter
* @param check dummy parameter
** @return always returns EC_IllegalCall, since this method should not be called
*/
virtual OFCondition setObservationDateTime(const DcmElement &delem,
const unsigned long pos = 0,
const OFBool check = OFTrue);
/** set observation date/time from dataset
** @param dataset dummy parameter
* @param tagKey dummy parameter
* @param pos dummy parameter
* @param check dummy parameter
** @return always returns EC_IllegalCall, since this method should not be called
*/
virtual OFCondition setObservationDateTime(DcmItem &dataset,
const DcmTagKey &tagKey,
const unsigned long pos = 0,
const OFBool check = OFTrue);
/** set observation unique identifier
** @param observationUID dummy parameter
* @param check dummy parameter
** @return always returns EC_IllegalCall, since this method should not be called
*/
virtual OFCondition setObservationUID(const OFString &observationUID,
const OFBool check = OFTrue);
/** set template identifier and mapping resource
** @param templateIdentifier dummy parameter
* @param mappingResource dummy parameter
* @param mappingResourceUID dummy parameter
* @param check dummy parameter
** @return always returns EC_IllegalCall, since this method should not be called
*/
virtual OFCondition setTemplateIdentification(const OFString &templateIdentifier,
const OFString &mappingResource,
const OFString &mappingResourceUID = "",
const OFBool check = OFTrue);
private:
/// shared pointer to included template that is managed by this class
DSRSharedSubTemplate ReferencedTemplate;
// --- declaration of default constructor and assignment operator
DSRIncludedTemplateTreeNode();
DSRIncludedTemplateTreeNode &operator=(const DSRIncludedTemplateTreeNode &);
};
#endif
|