/usr/include/dcmtk/dcmsr/dsrxmlc.h is in libdcmtk2-dev 3.6.0-9.
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 | /*
*
* Copyright (C) 2003-2010, 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: dcmsr
*
* Author: Joerg Riesmeier
*
* Purpose:
* classes: DSRXMLCursor
*
* Last Update: $Author: joergr $
* Update Date: $Date: 2010-10-14 13:16:33 $
* CVS/RCS Revision: $Revision: 1.7 $
* Status: $State: Exp $
*
* CVS/RCS Log at end of file
*
*/
#ifndef DSRXMLC_H
#define DSRXMLC_H
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#include "dcmtk/ofstd/oftypes.h" /* for definition of OFBool */
#define INCLUDE_CSTDLIB
#define INCLUDE_CSTDDEF
#include "dcmtk/ofstd/ofstdinc.h"
#ifdef WITH_LIBXML
#include <libxml/parser.h>
#endif
/*--------------------*
* type definitions *
*--------------------*/
#ifndef WITH_LIBXML
// define pointer type if 'libxml' absent
typedef void (*xmlNodePtr);
#endif
/*-----------------------*
* forward declaration *
*-----------------------*/
class DSRXMLDocument;
/*---------------------*
* class declaration *
*---------------------*/
/** Class for XML document cursors.
* This class encapsulates the access to the 'libxml' node pointer and,
* therefore, allows to replace the XML library with little effort (if
* required).
*/
class DSRXMLCursor
{
// allow DSRXMLDocument to access private member variable 'Node' directly
friend class DSRXMLDocument;
public:
/** default constructor
*/
DSRXMLCursor();
/** copy constructor
** @param cursor cursor object to be copied
*/
DSRXMLCursor(const DSRXMLCursor &cursor);
/** destructor
*/
virtual ~DSRXMLCursor();
/** assignment operator
** @param cursor cursor object to be copied
** @return reference to this cursor object after 'cursor' has been copied
*/
DSRXMLCursor &operator=(const DSRXMLCursor &cursor);
/** check whether cursor is valid.
* Valid means that the cursor points to a valid XML node.
** @return OFTrue if valid, OFFalse otherwise
*/
inline OFBool valid() const
{
return (Node != NULL);
}
/** set cursor to next XML node (same level).
* Blank (empty or whitespace only) nodes are ignored/skipped.
** @return reference to this cursor object (might be invalid)
*/
DSRXMLCursor &gotoNext();
/** set cursor to first XML child node (next lower level).
* Blank (empty or whitespace only) nodes are ignored/skipped.
** @return reference to this cursor object (might be invalid)
*/
DSRXMLCursor &gotoChild();
/** get cursor pointing to next XML node (same level).
* This cursor object is not modified.
** @return copy of the requested cursor object (might be invalid)
*/
DSRXMLCursor getNext() const;
/** get cursor pointing to first XML child node (next lower level).
* This cursor object is not modified.
** @return copy of the requested cursor object (might be invalid)
*/
DSRXMLCursor getChild() const;
private:
/// pointer to the associated 'libxml' node
xmlNodePtr Node;
};
#endif
/*
* CVS/RCS Log:
* $Log: dsrxmlc.h,v $
* Revision 1.7 2010-10-14 13:16:33 joergr
* Updated copyright header. Added reference to COPYRIGHT file.
*
* Revision 1.6 2005-12-08 16:05:35 meichel
* Changed include path schema for all DCMTK header files
*
* Revision 1.5 2003/10/06 09:51:43 joergr
* Replaced wrong newline character sequence.
*
* Revision 1.4 2003/09/04 10:14:30 joergr
* Combined two #include "ofstdinc.h" statements.
*
* Revision 1.3 2003/09/03 16:00:11 meichel
* Added standard includes needed on Win32
*
* Revision 1.2 2003/08/29 12:52:02 joergr
* Replaced inclusion of unistd.h by cstddef/stddef.h to compile under Windows
* with libxml support (required for definition of NULL).
*
* Revision 1.1 2003/08/07 12:16:37 joergr
* Added interface classes hiding the access to libxml (document and cursor
* class).
*
*
*/
|