GDCM 2.2.1

- Main Page
- Related Pages
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
gdcm::network::BasePDU Class Referenceabstract

BasePDU base class for PDUs. More...

`#include <gdcmBasePDU.h>`

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

## Public Member Functions

virtual | ~BasePDU ()
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

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

inlinevirtual

## Member Function Documentation

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

pure virtual

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

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

pure virtual

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

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

pure virtual

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

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

pure virtual

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

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

pure virtual

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

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

- gdcmBasePDU.h