GDCM
2.2.3
|
00001 /*========================================================================= 00002 00003 Program: GDCM (Grassroots DICOM). A DICOM library 00004 00005 Copyright (c) 2006-2011 Mathieu Malaterre 00006 All rights reserved. 00007 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notice for more information. 00012 00013 =========================================================================*/ 00014 #ifndef GDCMUSERINFORMATION_H 00015 #define GDCMUSERINFORMATION_H 00016 00017 #include "gdcmTypes.h" 00018 #include "gdcmMaximumLengthSub.h" 00019 #include "gdcmImplementationVersionNameSub.h" 00020 #include "gdcmImplementationClassUIDSub.h" 00021 00022 namespace gdcm 00023 { 00024 00025 namespace network 00026 { 00027 00028 class AsynchronousOperationsWindowSub; 00029 struct RoleSelectionSubItems; 00030 struct SOPClassExtendedNegociationSubItems; 00041 class UserInformation 00042 { 00043 public: 00044 UserInformation(); 00045 ~UserInformation(); 00046 std::istream &Read(std::istream &is); 00047 const std::ostream &Write(std::ostream &os) const; 00048 size_t Size() const; 00049 00050 void Print(std::ostream &os) const; 00051 00052 const MaximumLengthSub &GetMaximumLengthSub() const { return MLS; } 00053 MaximumLengthSub &GetMaximumLengthSub() { return MLS; } 00054 00055 private: 00056 static const uint8_t ItemType; 00057 static const uint8_t Reserved2; 00058 uint16_t ItemLength; // len of 00059 MaximumLengthSub MLS; 00060 ImplementationClassUIDSub ICUID; 00061 AsynchronousOperationsWindowSub *AOWS; 00062 //RoleSelectionSub *RSS; 00063 RoleSelectionSubItems *RSSI; 00064 //SOPClassExtendedNegociationSub *SOPCENS; 00065 SOPClassExtendedNegociationSubItems *SOPCENSI; 00066 ImplementationVersionNameSub IVNS; 00067 00068 UserInformation(const UserInformation&); // Not implemented 00069 public: 00070 UserInformation &operator=(const UserInformation&); 00071 }; 00072 00073 } // end namespace network 00074 00075 } // end namespace gdcm 00076 00077 #endif //GDCMUSERINFORMATION_H