dcmnet/include/dcmtk/dcmnet/dcasccfg.h

00001 /*
00002  *
00003  *  Copyright (C) 1994-2010, OFFIS e.V.
00004  *  All rights reserved.  See COPYRIGHT file for details.
00005  *
00006  *  This software and supporting documentation were developed by
00007  *
00008  *    OFFIS e.V.
00009  *    R&D Division Health
00010  *    Escherweg 2
00011  *    D-26121 Oldenburg, Germany
00012  *
00013  *
00014  *  Module:  dcmnet
00015  *
00016  *  Author:  Marco Eichelberg
00017  *
00018  *  Purpose: 
00019  *
00020  *  Last Update:      $Author: joergr $
00021  *  Update Date:      $Date: 2010-10-14 13:17:22 $
00022  *  CVS/RCS Revision: $Revision: 1.4 $
00023  *  Status:           $State: Exp $
00024  *
00025  *  CVS/RCS Log at end of file
00026  *
00027  */
00028 
00029 #ifndef DCASCCFG_H
00030 #define DCASCCFG_H
00031 
00032 #include "dcmtk/config/osconfig.h"
00033 #include "dcmtk/ofstd/ofcond.h"   /* for class OFCondition */
00034 #include "dcmtk/dcmnet/assoc.h"    /* for T_ASC_Parameters */
00035 #include "dcmtk/dcmnet/dccftsmp.h" /* for class DcmTransferSyntaxMap */
00036 #include "dcmtk/dcmnet/dccfpcmp.h" /* for class DcmPresentationContextMap */
00037 #include "dcmtk/dcmnet/dccfrsmp.h" /* for class DcmRoleSelectionMap */
00038 #include "dcmtk/dcmnet/dccfenmp.h" /* for class DcmExtendedNegotiationMap */
00039 #include "dcmtk/dcmnet/dccfprmp.h" /* for class DcmProfileMap */
00040 
00041 
00045 class DcmAssociationConfiguration
00046 {
00047 public:
00049   DcmAssociationConfiguration();
00050 
00052   ~DcmAssociationConfiguration();
00053 
00060   OFCondition setAssociationParameters(
00061     const char *profile,
00062     T_ASC_Parameters& params) const;
00063 
00070   OFCondition evaluateAssociationParameters(
00071     const char *profile,
00072     T_ASC_Association &assoc) const;
00073 
00081   OFCondition addTransferSyntax(
00082     const char *key,
00083     const char *transferSyntaxUID);
00084 
00096   OFCondition addPresentationContext(
00097     const char *key,
00098     const char *abstractSyntaxUID,
00099     const char *transferSyntaxKey);
00100 
00110   OFCondition addRole(
00111     const char *key,
00112     const char *abstractSyntaxUID,
00113     T_ASC_SC_ROLE role);
00114 
00125   OFCondition addExtendedNegotiation(
00126     const char *key,
00127     const char *abstractSyntaxUID,
00128     const unsigned char *rawData,
00129     Uint32 length);
00130 
00144   OFCondition addProfile(
00145     const char *key,
00146     const char *presentationContextKey,
00147     const char *roleSelectionKey=NULL,
00148     const char *extendedNegotiationKey=NULL);
00149 
00154   OFBool isKnownProfile(const char *key) const;
00155 
00162   OFBool isValidSCPProfile(const char *key) const;
00163 
00164 private:
00166   DcmAssociationConfiguration(const DcmAssociationConfiguration& arg);
00167 
00169   DcmAssociationConfiguration& operator=(const DcmAssociationConfiguration& arg);
00170 
00172   DcmTransferSyntaxMap xferSyntaxes_;
00173 
00175   DcmPresentationContextMap contexts_;
00176 
00178   DcmRoleSelectionMap roleselection_;
00179 
00181   DcmExtendedNegotiationMap extneg_;
00182 
00184   DcmProfileMap profiles_;
00185 };
00186 
00187 #endif
00188 
00189 /*
00190  * CVS/RCS Log
00191  * $Log: dcasccfg.h,v $
00192  * Revision 1.4  2010-10-14 13:17:22  joergr
00193  * Updated copyright header. Added reference to COPYRIGHT file.
00194  *
00195  * Revision 1.3  2005/12/08 16:02:09  meichel
00196  * Changed include path schema for all DCMTK header files
00197  *
00198  * Revision 1.2  2003/08/14 10:58:49  meichel
00199  * Added check if association configuration profile is valid for SCP use
00200  *
00201  * Revision 1.1  2003/06/10 14:27:33  meichel
00202  * Initial release of class DcmAssociationConfiguration and support
00203  *   classes. This class maintains a list of association negotiation
00204  *   profiles that can be addressed by symbolic keys. The profiles may
00205  *   be read from a configuration file.
00206  *
00207  *
00208  */


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1