
| Current Path : /usr/include/gdcm-3.0/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //usr/include/gdcm-3.0/gdcmPresentationContext.h |
/*=========================================================================
Program: GDCM (Grassroots DICOM). A DICOM library
Copyright (c) 2006-2011 Mathieu Malaterre
All rights reserved.
See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
#ifndef GDCMPRESENTATIONCONTEXT_H
#define GDCMPRESENTATIONCONTEXT_H
#include "gdcmTypes.h"
#include "gdcmUIDs.h"
#include <vector>
namespace gdcm
{
/**
* \brief PresentationContext
* \see PresentationContextAC PresentationContextRQ
*/
class GDCM_EXPORT PresentationContext
{
public:
PresentationContext();
/// Initialize Presentation Context with AbstractSyntax set to asname
/// and with a single TransferSyntax set to tsname (default to Implicit VR
/// LittleEndian when not specified ).
PresentationContext( UIDs::TSName asname,
UIDs::TSName tsname = UIDs::ImplicitVRLittleEndianDefaultTransferSyntaxforDICOM );
void SetAbstractSyntax( const char *absyn ) { AbstractSyntax = absyn; }
const char *GetAbstractSyntax() const { return AbstractSyntax.c_str(); }
void AddTransferSyntax( const char *tsstr );
typedef std::vector<std::string> TransferSyntaxArrayType;
typedef TransferSyntaxArrayType::size_type SizeType;
const char *GetTransferSyntax(SizeType i) const { return TransferSyntaxes[i].c_str(); }
SizeType GetNumberOfTransferSyntaxes() const { return TransferSyntaxes.size(); }
void SetPresentationContextID( uint8_t id );
uint8_t GetPresentationContextID() const;
void Print(std::ostream &os) const;
bool operator==(const PresentationContext & pc) const
{
assert( TransferSyntaxes.size() == 1 ); // TODO
assert( pc.TransferSyntaxes.size() == 1 );
return AbstractSyntax == pc.AbstractSyntax && TransferSyntaxes == pc.TransferSyntaxes;
}
protected :
std::string AbstractSyntax;
std::vector<std::string> TransferSyntaxes;
uint8_t /*PresentationContext*/ID;
};
} // end namespace gdcm
#endif //GDCMPRESENTATIONCONTEXT_H