# H323ServiceControlSession Class Reference

`#include <svcctrl.h>`

Inheritance diagram for H323ServiceControlSession:

[legend]

## Operations

enum | ChangeType { OpenSession, RefreshSession, CloseSession }
virtual PBoolean | IsValid () const =0
virtual PString | GetServiceControlType () const
virtual PBoolean | OnReceivedPDU (const H225_ServiceControlDescriptor &descriptor)=0
virtual PBoolean | OnSendingPDU (H225_ServiceControlDescriptor &descriptor) const =0
virtual void | OnChange (unsigned type, unsigned sessionId, H323EndPoint &endpoint, H323Connection *connection) const =0

## Public Member Functions

Construction
| H323ServiceControlSession ()

## Detailed Description

This is a base class for H.323 Service Control Session handling. This implements the service class session management as per Annex K/H.323.

## Member Enumeration Documentation

enum H323ServiceControlSession::ChangeType

Enumerator:

  OpenSession |
  RefreshSession |
  CloseSession |

## Constructor & Destructor Documentation

H323ServiceControlSession::H323ServiceControlSession | ( |  | ) |

Create a new handler for a Service Control.

## Member Function Documentation

virtual PString H323ServiceControlSession::GetServiceControlType | ( |  | ) | const`[virtual]`

Get identification name for the Control Service. This function separates the dynamic data from the fundamental type of the control service which will cause a new session ID to be generated by the gatekeeper server.

Default behaviour returns the class name.

Reimplemented in H323HTTPServiceControl.

virtual PBoolean H323ServiceControlSession::IsValid | ( |  | ) | const`[pure virtual]`

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

Default behaviour is pure.

Implemented in H323HTTPServiceControl, and H323CallCreditServiceControl.

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

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

Default behaviour is pure.

Implemented in H323HTTPServiceControl, and H323CallCreditServiceControl.

virtual PBoolean H323ServiceControlSession::OnReceivedPDU | ( | const H225_ServiceControlDescriptor & | descriptor | ) | `[pure virtual]`

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

Returns false is PDU is not sutiable for the class type.

Default behaviour is pure.

Implemented in H323HTTPServiceControl, H323H248ServiceControl, and H323CallCreditServiceControl.

virtual PBoolean H323ServiceControlSession::OnSendingPDU | ( | H225_ServiceControlDescriptor & | descriptor | ) | const`[pure virtual]`

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

Returns false is PDU cannot be created.

Default behaviour is pure.

Implemented in H323HTTPServiceControl, H323H248ServiceControl, and H323CallCreditServiceControl.

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

- svcctrl.h