00001 /* 00002 ** 00003 ** Author: Andrew Hewett, medigration GmbH 00004 ** 00005 ** Module: extneg.h 00006 ** 00007 ** Purpose: 00008 ** Extended Negotiation for A-ASSOCIATE 00009 ** 00010 ** Last Update: $Author: joergr $ 00011 ** Update Date: $Date: 2010-10-14 13:17:22 $ 00012 ** CVS/RCS Revision: $Revision: 1.4 $ 00013 ** Status: $State: Exp $ 00014 ** 00015 ** CVS/RCS Log at end of file 00016 ** 00017 */ 00018 00019 #ifndef EXTNEG_H 00020 #define EXTNEG_H 00021 00022 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ 00023 00024 #include "dcmtk/ofstd/ofstring.h" 00025 #include "dcmtk/ofstd/oflist.h" 00026 00027 #define DUL_TYPESOPCLASSEXTENDEDNEGOTIATION (unsigned char)0x56 00028 00029 00030 struct SOPClassExtendedNegotiationSubItem { 00031 unsigned char itemType; 00032 unsigned char reserved1; 00033 unsigned short itemLength; 00034 unsigned short sopClassUIDLength; 00035 OFString sopClassUID; 00036 unsigned char* serviceClassAppInfo; 00037 unsigned short serviceClassAppInfoLength; 00038 00039 SOPClassExtendedNegotiationSubItem() 00040 : itemType(0x56) 00041 , reserved1(0) 00042 , itemLength(0) 00043 , sopClassUIDLength(0) 00044 , sopClassUID() 00045 , serviceClassAppInfo(NULL) 00046 , serviceClassAppInfoLength(0) 00047 { 00048 } 00049 00050 private: 00051 // private undefined copy constructor and operator= 00052 SOPClassExtendedNegotiationSubItem(const SOPClassExtendedNegotiationSubItem& arg); 00053 SOPClassExtendedNegotiationSubItem& operator= (const SOPClassExtendedNegotiationSubItem& arg); 00054 }; 00055 00056 typedef OFList<SOPClassExtendedNegotiationSubItem*> SOPClassExtendedNegotiationSubItemList; 00057 00058 void appendList(const SOPClassExtendedNegotiationSubItemList& from, SOPClassExtendedNegotiationSubItemList& to); 00059 00060 void deleteListMembers(SOPClassExtendedNegotiationSubItemList& lst); 00061 00062 #endif 00063 00064 /* 00065 ** CVS/RCS Log: 00066 ** $Log: extneg.h,v $ 00067 ** Revision 1.4 2010-10-14 13:17:22 joergr 00068 ** Updated copyright header. Added reference to COPYRIGHT file. 00069 ** 00070 ** Revision 1.3 2005/12/08 16:02:24 meichel 00071 ** Changed include path schema for all DCMTK header files 00072 ** 00073 ** Revision 1.2 2003/06/02 16:44:11 meichel 00074 ** Renamed local variables to avoid name clashes with STL 00075 ** 00076 ** Revision 1.1 1999/04/19 08:39:55 meichel 00077 ** Added experimental support for extended SOP class negotiation. 00078 ** 00079 ** 00080 */