dvpspll.h

00001 /*
00002  *
00003  *  Copyright (C) 1998-2005, OFFIS
00004  *
00005  *  This software and supporting documentation were developed by
00006  *
00007  *    Kuratorium OFFIS e.V.
00008  *    Healthcare Information and Communication Systems
00009  *    Escherweg 2
00010  *    D-26121 Oldenburg, Germany
00011  *
00012  *  THIS SOFTWARE IS MADE AVAILABLE,  AS IS,  AND OFFIS MAKES NO  WARRANTY
00013  *  REGARDING  THE  SOFTWARE,  ITS  PERFORMANCE,  ITS  MERCHANTABILITY  OR
00014  *  FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES  OR
00015  *  ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND
00016  *  PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
00017  *
00018  *  Module: dcmpstat
00019  *
00020  *  Author: Marco Eichelberg
00021  *
00022  *  Purpose:
00023  *    classes: DVPSPresentationLUT_PList
00024  *
00025  *  Last Update:      $Author: meichel $
00026  *  Update Date:      $Date: 2005/12/08 16:03:56 $
00027  *  CVS/RCS Revision: $Revision: 1.9 $
00028  *  Status:           $State: Exp $
00029  *
00030  *  CVS/RCS Log at end of file
00031  *
00032  */
00033 
00034 #ifndef __DVPSPLL_H__
00035 #define __DVPSPLL_H__
00036 
00037 #include "dcmtk/config/osconfig.h"    /* make sure OS specific configuration is included first */
00038 #include "dcmtk/ofstd/oflist.h"
00039 #include "dcmtk/dcmdata/dctk.h"
00040 #include "dcmtk/dcmpstat/dvpstyp.h"     /* for enum types */
00041 #include "dcmtk/dcmnet/dimse.h"
00042 
00043 class DVPSPresentationLUT;
00044 class DVPSImageBoxContent_PList;
00045 
00051 class DVPSPresentationLUT_PList
00052 {
00053 public:
00055   DVPSPresentationLUT_PList();
00056   
00058   DVPSPresentationLUT_PList(const DVPSPresentationLUT_PList& copy);
00059 
00064   DVPSPresentationLUT_PList *clone() { return new DVPSPresentationLUT_PList(*this); }
00065 
00067   virtual ~DVPSPresentationLUT_PList();
00068 
00077   OFCondition read(DcmItem &dset);
00078   
00085   OFCondition write(DcmItem &dset);
00086 
00091   void clear();
00092     
00096   size_t size() const { return list_.size(); }
00097 
00103   void setLog(OFConsole *stream, OFBool verbMode, OFBool dbgMode);
00104 
00109   DVPSPresentationLUT *findPresentationLUT(const char *instanceUID);
00110 
00116   void cleanup(const char *filmBox, DVPSImageBoxContent_PList& imageBoxes);
00117 
00125   const char *addPresentationLUT(DVPSPresentationLUT *newLUT, OFBool inversePLUT);
00126 
00131   void insert(DVPSPresentationLUT *newLUT) { if (newLUT) list_.push_back(newLUT); }
00132 
00138   void printSCPDelete(T_DIMSE_Message& rq, T_DIMSE_Message& rsp);
00139 
00140 private:
00141 
00144   DVPSPresentationLUT_PList& operator=(const DVPSPresentationLUT_PList&);
00145 
00148   OFList<DVPSPresentationLUT *> list_;
00149   
00152   OFConsole *logstream;
00153 
00156   OFBool verboseMode;
00157    
00160   OFBool debugMode;
00161     
00162 };
00163 
00164 
00165 #endif
00166 
00167 /*
00168  *  $Log: dvpspll.h,v $
00169  *  Revision 1.9  2005/12/08 16:03:56  meichel
00170  *  Changed include path schema for all DCMTK header files
00171  *
00172  *  Revision 1.8  2003/06/04 10:18:06  meichel
00173  *  Replaced private inheritance from template with aggregation
00174  *
00175  *  Revision 1.7  2001/09/26 15:36:14  meichel
00176  *  Adapted dcmpstat to class OFCondition
00177  *
00178  *  Revision 1.6  2001/06/01 15:50:19  meichel
00179  *  Updated copyright header
00180  *
00181  *  Revision 1.5  2000/06/02 16:00:49  meichel
00182  *  Adapted all dcmpstat classes to use OFConsole for log and error output
00183  *
00184  *  Revision 1.4  2000/05/31 12:56:39  meichel
00185  *  Added initial Print SCP support
00186  *
00187  *  Revision 1.3  2000/03/08 16:28:54  meichel
00188  *  Updated copyright header.
00189  *
00190  *  Revision 1.2  2000/02/29 12:16:15  meichel
00191  *  Fixed bug in dcmpstat library that caused Monochrome1 images
00192  *    to be printed inverse if a Presentation LUT was applied.
00193  *
00194  *  Revision 1.1  1999/10/07 17:21:49  meichel
00195  *  Reworked management of Presentation LUTs in order to create tighter
00196  *    coupling between Softcopy and Print.
00197  *
00198  *
00199  */
00200 


Generated on 20 Dec 2005 for OFFIS DCMTK Version 3.5.4 by Doxygen 1.4.5