ProtocolInfo Class Reference

`#include <ProtocolInfo.h>`

## Public Member Functions

const tstring & | getProtocolValue (tstring &label)
const tstring & | getValue (tstring &label)
bool | isActive ()
| ProtocolInfo (const ProtocolInfo *pInfo)
| ProtocolInfo (STATE tunnelState, ProtocolVersion protocolVersion, ProtocolCipher protocolCipher, COMPR_ALGORITHM comprAlgorithm, bool bIsActive)

## Static Public Member Functions

static const tstring::value_type *const * | getProtocolInfoStringTable ()

## Static Public Attributes

static tstring | State
static tstring | Protocol
static tstring | Cipher
static tstring | Compression

## Static Protected Attributes

static const tstring::value_type *const | sm_pProtocolInfoStringTable []

## Friends

VPN_VPNAPI tostream & | operator<< (tostream &outStream, VPNStatsBase &stats)

## Detailed Description

Use this class to retrieve details regarding the protocol in use for the VPN tunnel. These details include State, Protocol, Cipher and Compression.

It's possible multiple ProtocolInfo objects (for example, one each for TLS and DTLS protocol) are available. To check whether the Protocol for a given instance of ProtocolInfo is the currently active one, use the ProtocolInfo::isActive method.

## Member Function Documentation

## getProtocolValue()

const tstring & ProtocolInfo::getProtocolValue | ( | tstring & | label | ) |

Use this method to retrieve various protocol related values. The valid labels or tags to use in this retrieval include: State, Protocol, Cipher and Compression. (for example, getProtocolValue(State), getProtocolValue(Protocol), etc.)

## getValue()

const tstring & ProtocolInfo::getValue | ( | tstring & | label | ) |

inline

Alias for getProtocolValue.

{ return getProtocolValue(label); }
ProtocolInfo::getProtocolValue
const tstring & getProtocolValue(tstring &label)

## isActive()

bool ProtocolInfo::isActive | ( |  | ) |

Return true if this is the active protocol.

## Member Data Documentation

## Cipher

tstring ProtocolInfo::Cipher

static

Use ProtocolInfo::getProtocolValue with this tag to get the Cipher value (for example, RSA_AES_256_SHA1).

## Compression

tstring ProtocolInfo::Compression

static

Use ProtocolInfo::getProtocolValue with this tag to get the Compression value (for example, Deflate). The returned compression value is a localized string.

## Protocol

tstring ProtocolInfo::Protocol

static

Use ProtocolInfo::getProtocolValue with this tag to get the protocol value (for example, DTLS).

## State

tstring ProtocolInfo::State

static

Use ProtocolInfo::getProtocolValue with this tag to get the current state of the referenced protocol. The returned state is a localized string.