GDCM 2.2.0

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

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

Public Member Functions
gdcm::network::BasePDU Class Reference

BasePDU base class for PDUs. More...

`#include <gdcmBasePDU.h>`

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

List of all members.

## 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

but! leave Mathieu's original classes untouched at this point (except for inheriting from this class) because those work, at least with c-echo.

## Constructor & Destructor Documentation

virtual gdcm::network::BasePDU::~BasePDU | ( |  | ) | `[inline, virtual]`

## 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