# OpalIMConnection Class Reference

`#include <im_ep.h>`

Inheritance diagram for OpalIMConnection:

[legend]
Collaboration diagram for OpalIMConnection:
[legend]

## Public Member Functions

Construction
| OpalIMConnection (OpalCall &call, OpalIMEndPoint &endpoint, void *userData, unsigned options, OpalConnection::StringOptions *stringOptions)
Overrides from OpalConnection
virtual PBoolean | IsNetworkConnection () const
virtual PBoolean | OnSetUpConnection ()
virtual void | OnEstablished ()
virtual void | OnReleased ()

## Protected Attributes

OpalIMContext * | m_context

## Detailed Description

Instant messaging connection. This class is primarily for internal use where a IM context requires and active connection, e.g. SIP with T.140.

## Constructor & Destructor Documentation

OpalIMConnection::OpalIMConnection | ( | OpalCall & | call,
|  | OpalIMEndPoint & | endpoint,
|  | void * | userData,
|  | unsigned | options,
|  | OpalConnection::StringOptions * | stringOptions |
| ) |  |  |

Create a new connection.

Parameters:

  call | Owner call for connection
  endpoint | Owner endpoint for connection
  userData | Arbitrary data to pass to connection
  options | Option bit mask to pass to connection
  stringOptions | Options to pass to connection

## Member Function Documentation

virtual PBoolean OpalIMConnection::IsNetworkConnection | ( |  | ) | const`[inline, virtual]`

Get indication of connection being to a "network". This indicates the if the connection may be regarded as a "network" connection. The distinction is about if there is a concept of a "remote" party being connected to and is best described by example: sip, h323, iax and pstn are all "network" connections as they connect to something "remote". While pc, pots and ivr are not as the entity being connected to is intrinsically local.

Implements OpalConnection.

virtual void OpalIMConnection::OnEstablished | ( |  | ) | `[virtual]`

A call back function whenever a connection is established. This indicates that a connection to an endpoint was established. This usually occurs after OnConnected() and indicates that the connection is both connected and has media flowing.

In the context of H.323 this means that the signalling and control channels are open and the TerminalCapabilitySet and MasterSlave negotiations are complete.

The default behaviour calls the OpalEndPoint function of the same name.

Reimplemented from OpalConnection.

virtual void OpalIMConnection::OnReleased | ( |  | ) | `[virtual]`

Clean up the termination of the connection. This function can do any internal cleaning up and waiting on background threads that may be using the connection object.

The default behaviour closes the context the calls the ancestor.

Reimplemented from OpalConnection.

virtual PBoolean OpalIMConnection::OnSetUpConnection | ( |  | ) | `[virtual]`

Callback for outgoing connection, it is invoked after SetUpConnection This function allows the application to set up some parameters or to log some messages

Reimplemented from OpalConnection.

## Field Documentation

OpalIMContext* OpalIMConnection::m_context `[protected]`

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

- im_ep.h