gdcm::network::BasePDU Class Referenceabstract

BasePDU. More...

`#include <gdcmBasePDU.h>`

Inheritance diagram for gdcm::network::BasePDU:
[legend]

## Public Member Functions

virtual | ~BasePDU ()=default
virtual bool | IsLastFragment () const =0
virtual void | Print (std::ostream &os) const =0
virtual std::istream & | Read (std::istream &is)=0
virtual size_t | Size () const =0
virtual const std::ostream & | Write (std::ostream &os) const =0

## Detailed Description

BasePDU.

base class for PDUs

all PDUs start with the first ten bytes as specified: 01 PDU type 02 reserved 3-6 PDU Length (unsigned) 7-10 variable

on some, 7-10 are split (7-8 as protocol version in Associate-RQ, for instance, while associate-rj splits those four bytes differently).

Also common to all the PDUs is their ability to read and write to a stream.

So, let's just get them all bunched together into one (abstract) class, shall we?

Why? 1) so that the ULEvent can have the PDU stored in it, since the event takes PDUs and not other class structures (other class structures get converted into PDUs) 2) to make reading PDUs in the event loop cleaner

## Constructor & Destructor Documentation

## ~BasePDU()

virtual gdcm::network::BasePDU::~BasePDU | ( |  | ) |

virtual default

## Member Function Documentation

## IsLastFragment()

virtual bool gdcm::network::BasePDU::IsLastFragment | ( |  | ) | const

pure virtual

Implemented in gdcm::network::AAbortPDU, gdcm::network::AAssociateACPDU, gdcm::network::AAssociateRJPDU, gdcm::network::AAssociateRQPDU, gdcm::network::AReleaseRPPDU, gdcm::network::AReleaseRQPDU, and gdcm::network::PDataTFPDU.

## Print()

virtual void gdcm::network::BasePDU::Print | ( | std::ostream & | os | ) | const

pure virtual

Implemented in gdcm::network::AAbortPDU, gdcm::network::AAssociateACPDU, gdcm::network::AAssociateRJPDU, gdcm::network::AAssociateRQPDU, gdcm::network::AReleaseRPPDU, gdcm::network::AReleaseRQPDU, and gdcm::network::PDataTFPDU.

## Read()

virtual std::istream & gdcm::network::BasePDU::Read | ( | std::istream & | is | ) |

pure virtual

Implemented in gdcm::network::AAbortPDU, gdcm::network::AAssociateACPDU, gdcm::network::AAssociateRJPDU, gdcm::network::AAssociateRQPDU, gdcm::network::AReleaseRPPDU, gdcm::network::AReleaseRQPDU, and gdcm::network::PDataTFPDU.

## Size()

virtual size_t gdcm::network::BasePDU::Size | ( |  | ) | const

pure virtual

Implemented in gdcm::network::AAbortPDU, gdcm::network::AAssociateACPDU, gdcm::network::AAssociateRJPDU, gdcm::network::AAssociateRQPDU, gdcm::network::AReleaseRPPDU, gdcm::network::AReleaseRQPDU, and gdcm::network::PDataTFPDU.

## Write()

virtual const std::ostream & gdcm::network::BasePDU::Write | ( | std::ostream & | os | ) | const

pure virtual

Implemented in gdcm::network::AAbortPDU, gdcm::network::AAssociateACPDU, gdcm::network::AAssociateRJPDU, gdcm::network::AAssociateRQPDU, gdcm::network::AReleaseRPPDU, gdcm::network::AReleaseRQPDU, and gdcm::network::PDataTFPDU.

The documentation for this class was generated from the following file:

- gdcmBasePDU.h