gdcmAAssociateACPDU.h
Go to the documentation of this file.
/*=========================================================================
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 GDCMAASSOCIATEACPDU_H
#define GDCMAASSOCIATEACPDU_H
#include "gdcmTypes.h"
#include "gdcmApplicationContext.h"
#include "gdcmPresentationContextAC.h"
#include "gdcmUserInformation.h"
#include "gdcmBasePDU.h"
#include <vector>
namespace gdcm
{
namespace network
{
class AAssociateRQPDU;
class AAssociateACPDU : public BasePDU
{
public:
AAssociateACPDU();
std::istream &Read(std::istream &is) override;
const std::ostream &Write(std::ostream &os) const override;
void AddPresentationContextAC( PresentationContextAC const &pcac );
typedef std::vector<PresentationContextAC>::size_type SizeType;
const PresentationContextAC &GetPresentationContextAC( SizeType i ) {
assert( !PresContextAC.empty() && i < PresContextAC.size() );
return PresContextAC[i];
}
SizeType GetNumberOfPresentationContextAC() const {
return PresContextAC.size();
}
const UserInformation &GetUserInformation() const { return UserInfo; }
SizeType Size() const override;
void Print(std::ostream &os) const override;
bool IsLastFragment() const override { return true; }
void InitFromRQ( AAssociateRQPDU const & rqpdu );
protected:
friend class AAssociateRQPDU;
void SetCalledAETitle(const char calledaetitle[16]);
void SetCallingAETitle(const char callingaetitle[16]);
private:
void InitSimple( AAssociateRQPDU const & rqpdu );
private:
static const uint8_t ItemType; // PDUType ?
static const uint8_t Reserved2;
uint32_t PDULength; // len of
static const uint16_t ProtocolVersion;
static const uint16_t Reserved9_10;
// This reserved field shall be sent with a value identical to the value
// received in the same field of the A-ASSOCIATE-RQ PDU, but its value
// shall not be tested when received.
char Reserved11_26[16];
// This reserved field shall be sent with a value identical to the value
// received in the same field of the A-ASSOCIATE-RQ PDU, but its value
// shall not be tested when received.
char Reserved27_42[16];
// This reserved field shall be sent with a value identical to the value
// received in the same field of the A-ASSOCIATE-RQ PDU, but its value
// shall not be tested when received.
char Reserved43_74[32];
/*
75-xxx Variable items This variable field shall contain the following items: one Application
Context Item, one or more Presentation Context Item(s) and one User
Information Item. For a complete description of these items see Sections
7.1.1.2, 7.1.1.14, and 7.1.1.6.
*/
ApplicationContext AppContext;
std::vector<PresentationContextAC> PresContextAC;
UserInformation UserInfo;
};
} // end namespace network
} // end namespace gdcm
#endif //GDCMAASSOCIATEACPDU_H
gdcm::network::AAssociateACPDU::GetUserInformation
const UserInformation & GetUserInformation() const
Definition gdcmAAssociateACPDU.h:54
gdcm::network::AAssociateACPDU::SizeType
std::vector< PresentationContextAC >::size_type SizeType
Definition gdcmAAssociateACPDU.h:46
gdcm::network::AAssociateACPDU::AAssociateACPDU
AAssociateACPDU()
gdcm::network::AAssociateACPDU::AAssociateRQPDU
friend class AAssociateRQPDU
Definition gdcmAAssociateACPDU.h:63
gdcm::network::AAssociateACPDU::AddPresentationContextAC
void AddPresentationContextAC(PresentationContextAC const &pcac)
gdcm::network::AAssociateACPDU::IsLastFragment
bool IsLastFragment() const override
Definition gdcmAAssociateACPDU.h:59
gdcm::network::AAssociateACPDU::InitFromRQ
void InitFromRQ(AAssociateRQPDU const &rqpdu)
gdcm::network::AAssociateACPDU::GetNumberOfPresentationContextAC
SizeType GetNumberOfPresentationContextAC() const
Definition gdcmAAssociateACPDU.h:51
gdcm::network::AAssociateACPDU::GetPresentationContextAC
const PresentationContextAC & GetPresentationContextAC(SizeType i)
Definition gdcmAAssociateACPDU.h:47
gdcm::network::AAssociateACPDU::SetCalledAETitle
void SetCalledAETitle(const char calledaetitle[16])
gdcm::network::AAssociateACPDU::Read
std::istream & Read(std::istream &is) override
gdcm::network::AAssociateACPDU::Print
void Print(std::ostream &os) const override
gdcm::network::AAssociateACPDU::Size
SizeType Size() const override
gdcm::network::AAssociateACPDU::SetCallingAETitle
void SetCallingAETitle(const char callingaetitle[16])
gdcm::network::AAssociateACPDU::Write
const std::ostream & Write(std::ostream &os) const override
gdcm::network::AAssociateRQPDU
AAssociateRQPDU.
Definition gdcmAAssociateRQPDU.h:36
gdcm::network::ApplicationContext
ApplicationContext.
Definition gdcmApplicationContext.h:33
gdcm::network::BasePDU
BasePDU.
Definition gdcmBasePDU.h:51
gdcm::network::PresentationContextAC
PresentationContextAC.
Definition gdcmPresentationContextAC.h:33
gdcm::network::UserInformation
UserInformation.
Definition gdcmUserInformation.h:44
gdcmApplicationContext.h
gdcmBasePDU.h
gdcmPresentationContextAC.h
gdcmTypes.h
gdcmUserInformation.h
gdcm::network
Definition gdcmAAbortPDU.h:24
gdcm
Definition gdcmASN1.h:21