# H323CallCreditServiceControl Class Reference

`#include <svcctrl.h>`

Inheritance diagram for H323CallCreditServiceControl:

[legend]
Collaboration diagram for H323CallCreditServiceControl:
[legend]

## Public Member Functions

Construction
| H323CallCreditServiceControl (const PString &amount, PBoolean mode, unsigned duration=0)
| H323CallCreditServiceControl (const H225_ServiceControlDescriptor &contents)
Operations
virtual PBoolean | IsValid () const
virtual PBoolean | OnReceivedPDU (const H225_ServiceControlDescriptor &contents)
virtual PBoolean | OnSendingPDU (H225_ServiceControlDescriptor &contents) const
virtual void | OnChange (unsigned type, unsigned sessionId, H323EndPoint &endpoint, H323Connection *connection) const
Member access
const PString & | GetAmount () const
| Return the amount string.
bool | GetMode () const
| Return the mode of operation.
unsigned | GetDurationLimit () const
| Return the duration limit.

## Protected Attributes

PString | amount
bool | mode
unsigned | durationLimit

## Detailed Description

This class is for H.323 Service Control Session handling for call credit.

## Constructor & Destructor Documentation

H323CallCreditServiceControl::H323CallCreditServiceControl | ( | const PString & | amount,
|  | PBoolean | mode,
|  | unsigned | duration = `0` |
| ) |  |  |

Create a new handler for a Service Control.

H323CallCreditServiceControl::H323CallCreditServiceControl | ( | const H225_ServiceControlDescriptor & | contents | ) |

Create a new handler for a Service Control, initialise to PDU.

## Member Function Documentation

const PString& H323CallCreditServiceControl::GetAmount | ( |  | ) | const`[inline]`

Return the amount string.

unsigned H323CallCreditServiceControl::GetDurationLimit | ( |  | ) | const`[inline]`

Return the duration limit.

bool H323CallCreditServiceControl::GetMode | ( |  | ) | const`[inline]`

Return the mode of operation.

virtual PBoolean H323CallCreditServiceControl::IsValid | ( |  | ) | const`[virtual]`

Determine of the session is valid. That is has all of the data it needs to correctly encode a PDU.

Default behaviour returns true if amount or duration is set.

Implements H323ServiceControlSession.

virtual void H323CallCreditServiceControl::OnChange | ( | unsigned | type,
|  | unsigned | sessionId,
|  | H323EndPoint & | endpoint,
|  | H323Connection * | connection |
| ) |  |  | const`[virtual]`

Handle a change of the state of the Service Control Session.

Default behaviour calls endpoint.OnCallCreditServiceControl() and optionally connection->SetEnforceDurationLimit().

Implements H323ServiceControlSession.

virtual PBoolean H323CallCreditServiceControl::OnReceivedPDU | ( | const H225_ServiceControlDescriptor & | contents | ) | `[virtual]`

Handle a received PDU. Update in the internal state from the received PDU.

Default behaviour gets the contents for an e_callCreditServiceControl.

Implements H323ServiceControlSession.

virtual PBoolean H323CallCreditServiceControl::OnSendingPDU | ( | H225_ServiceControlDescriptor & | contents | ) | const`[virtual]`

Handle a sent PDU. Set the PDU fields from in the internal state.

Default behaviour sets the contents to an e_callCreditServiceControl.

Implements H323ServiceControlSession.

## Field Documentation

PString H323CallCreditServiceControl::amount `[protected]`

unsigned H323CallCreditServiceControl::durationLimit `[protected]`

bool H323CallCreditServiceControl::mode `[protected]`

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

- svcctrl.h