00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef DSRCSIDL_H
00032 #define DSRCSIDL_H
00033
00034 #include "dcmtk/config/osconfig.h"
00035
00036 #include "dcmtk/dcmsr/dsrtypes.h"
00037
00038 #include "dcmtk/ofstd/oflist.h"
00039
00040
00041
00042
00043
00044
00049 class DSRCodingSchemeIdentificationList
00050 : public DSRTypes
00051 {
00052
00053 public:
00054
00057 struct ItemStruct
00058 {
00062 ItemStruct(const OFString &codingSchemeDesignator)
00063 : CodingSchemeDesignator(codingSchemeDesignator),
00064 CodingSchemeRegistry(),
00065 CodingSchemeUID(),
00066 CodingSchemeExternalID(),
00067 CodingSchemeName(),
00068 CodingSchemeVersion(),
00069 ResponsibleOrganization()
00070 {}
00071
00074 void clear()
00075 {
00076 CodingSchemeRegistry.clear();
00077 CodingSchemeUID.clear();
00078 CodingSchemeExternalID.clear();
00079 CodingSchemeName.clear();
00080 CodingSchemeVersion.clear();
00081 ResponsibleOrganization.clear();
00082 }
00083
00085 const OFString CodingSchemeDesignator;
00087 OFString CodingSchemeRegistry;
00089 OFString CodingSchemeUID;
00091 OFString CodingSchemeExternalID;
00093 OFString CodingSchemeName;
00095 OFString CodingSchemeVersion;
00097 OFString ResponsibleOrganization;
00098 };
00099
00102 DSRCodingSchemeIdentificationList();
00103
00106 ~DSRCodingSchemeIdentificationList();
00107
00110 void clear();
00111
00115 OFBool empty() const;
00116
00120 size_t getNumberOfItems() const;
00121
00126 OFCondition read(DcmItem &dataset);
00127
00133 OFCondition write(DcmItem &dataset) const;
00134
00141 OFCondition readXML(const DSRXMLDocument &doc,
00142 DSRXMLCursor cursor,
00143 const size_t flags);
00144
00150 OFCondition writeXML(STD_NAMESPACE ostream &stream,
00151 const size_t flags = 0) const;
00152
00158 OFCondition addPrivateDcmtkCodingScheme();
00159
00169 OFCondition addItem(const OFString &codingSchemeDesignator);
00170
00175 OFCondition removeItem();
00176
00182 OFCondition removeItem(const OFString &codingSchemeDesignator);
00183
00188 OFCondition gotoItem(const OFString &codingSchemeDesignator);
00189
00194 OFCondition gotoFirstItem();
00195
00200 OFCondition gotoNextItem();
00201
00208 const OFString &getCodingSchemeDesignator(OFString &stringValue) const;
00209
00214 const OFString &getCodingSchemeRegistry(OFString &stringValue) const;
00215
00220 const OFString &getCodingSchemeUID(OFString &stringValue) const;
00221
00226 const OFString &getCodingSchemeExternalID(OFString &stringValue) const;
00227
00232 const OFString &getCodingSchemeName(OFString &stringValue) const;
00233
00238 const OFString &getCodingSchemeVersion(OFString &stringValue) const;
00239
00244 const OFString &getResponsibleOrganization(OFString &stringValue) const;
00245
00251 OFCondition setCodingSchemeRegistry(const OFString &value);
00252
00258 OFCondition setCodingSchemeUID(const OFString &value);
00259
00265 OFCondition setCodingSchemeExternalID(const OFString &value);
00266
00272 OFCondition setCodingSchemeName(const OFString &value);
00273
00279 OFCondition setCodingSchemeVersion(const OFString &value);
00280
00286 OFCondition setResponsibleOrganization(const OFString &value);
00287
00288
00289 protected:
00290
00296 OFCondition addItem(const OFString &codingSchemeDesignator,
00297 ItemStruct *&item);
00298
00302 ItemStruct *getCurrentItem() const;
00303
00304
00305 private:
00306
00308 OFList<ItemStruct *> ItemList;
00310 OFListIterator(ItemStruct *) Iterator;
00311
00312
00313 DSRCodingSchemeIdentificationList(const DSRCodingSchemeIdentificationList &);
00314
00315 DSRCodingSchemeIdentificationList &operator=(const DSRCodingSchemeIdentificationList &);
00316 };
00317
00318
00319 #endif
00320
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332
00333
00334
00335
00336
00337
00338
00339
00340
00341
00342
00343
00344
00345
00346
00347
00348
00349
00350
00351
00352
00353
00354
00355
00356
00357
00358
00359
00360
00361
00362
00363
00364
00365
00366