dccfprmp.h

00001 /*
00002  *
00003  *  Copyright (C) 1994-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:  dcmnet
00019  *
00020  *  Author:  Marco Eichelberg
00021  *
00022  *  Purpose: 
00023  *    class DcmProfileEntry
00024  *    class DcmProfileMap
00025  *
00026  *  Last Update:      $Author: meichel $
00027  *  Update Date:      $Date: 2005/12/08 16:02:12 $
00028  *  Source File:      $Source: /share/dicom/cvs-depot/dcmtk/dcmnet/include/dcmtk/dcmnet/dccfprmp.h,v $
00029  *  CVS/RCS Revision: $Revision: 1.3 $
00030  *  Status:           $State: Exp $
00031  *
00032  *  CVS/RCS Log at end of file
00033  *
00034  */
00035 
00036 #ifndef DCCFPRMP_H
00037 #define DCCFPRMP_H
00038 
00039 #include "dcmtk/config/osconfig.h"
00040 #include "dcmtk/ofstd/ofstring.h" /* for class OFString */
00041 #include "dcmtk/ofstd/ofcond.h"   /* for class OFCondition */
00042 #include "dcmtk/dcmnet/dcmsmap.h"  /* for class DcmSimpleMap<> */
00043 
00044 
00048 class DcmProfileEntry
00049 {
00050 public:
00056   DcmProfileEntry(
00057     const OFString& presentationContextGroup,
00058     const OFString& roleSelectionGroup,
00059     const OFString& extendedNegotiationGroup);
00060 
00062   DcmProfileEntry(const DcmProfileEntry& arg);
00063  
00065   ~DcmProfileEntry();
00066 
00070   const char *getPresentationContextKey() const;
00071 
00075   const char *getRoleSelectionKey() const;
00076 
00080   const char *getExtendedNegotiationKey() const;
00081 
00086   OFBool operator==(const DcmProfileEntry& arg) const
00087   {
00088     return (presentationContextGroup_ == arg.presentationContextGroup_) 
00089         && (roleSelectionGroup_ == arg.roleSelectionGroup_)
00090         && (extendedNegotiationGroup_ == arg.extendedNegotiationGroup_); 
00091   }
00092 
00093 private:
00094 
00096   DcmProfileEntry& operator=(const DcmProfileEntry& arg);
00097 
00099   OFString presentationContextGroup_;
00100 
00102   OFString roleSelectionGroup_;
00103 
00105   OFString extendedNegotiationGroup_;
00106 };
00107 
00108 
00112 class DcmProfileMap
00113 {
00114 public:
00116   DcmProfileMap();
00117 
00119   ~DcmProfileMap();
00120 
00128   OFCondition add(
00129     const char *key,
00130     const char *presentationContextKey,
00131     const char *roleSelectionKey,
00132     const char *extendedNegotiationKey);
00133 
00138   OFBool isKnownKey(const char *key) const;
00139 
00144   const char *getPresentationContextKey(const char *key) const;
00145 
00150   const char *getRoleSelectionKey(const char *key) const;
00151 
00156   const char *getExtendedNegotiationKey(const char *key) const;
00157 
00158 private:
00160   DcmProfileMap(const DcmProfileMap& arg);
00161 
00163   DcmProfileMap& operator=(const DcmProfileMap& arg);
00164 
00166   DcmSimpleMap<DcmProfileEntry *> map_;
00167 
00168 };
00169 
00170 
00171 #endif
00172 
00173 /*
00174  * CVS/RCS Log
00175  * $Log: dccfprmp.h,v $
00176  * Revision 1.3  2005/12/08 16:02:12  meichel
00177  * Changed include path schema for all DCMTK header files
00178  *
00179  * Revision 1.2  2003/06/18 08:16:16  meichel
00180  * Added comparison operators to keep MSVC5 compiler happy
00181  *
00182  * Revision 1.1  2003/06/10 14:27:33  meichel
00183  * Initial release of class DcmAssociationConfiguration and support
00184  *   classes. This class maintains a list of association negotiation
00185  *   profiles that can be addressed by symbolic keys. The profiles may
00186  *   be read from a configuration file.
00187  *
00188  *
00189  */


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