VPNStats.h
/**************************************************************************
* Copyright (c) 2006, Cisco Systems, All Rights Reserved
***************************************************************************
*
* File: VpnStats.h
* Date: 08/2006
*
***************************************************************************
*
* VPN Statistics class implementation for the Client API.
*
***************************************************************************/
#ifndef _VPNSTATS_
#define _VPNSTATS_
#include "VPNStatsBase.h"
/**
* Use this class to retrieve statistics related to the tunnel and
* protocol being used.
*
* The class has two uses: it provides a consistent localized label
* definition mechanism and it uses this label mechanism to do
* values lookups.
*
* Labels are automatically localized at application startup.
* See the AnyConnect Release notes for additional information on localization.
*
* To retrieve a value for one of the labels, use the method getStatValue().
* For example, to get Time connected use: getStatValue(VPNStats::TimeConnected)
*/
class VPN_VPNAPI VPNStats : public VPNStatsBase
{
public:
/**
* Get a list of Secure Routes.
* Method returns a list of RouteInfo pointers
*/
const std::list<RouteInfo *> &getSecureRoutes();
/**
* Get a list of Nonsecure Routes.
* Method returns a list of RouteInfo pointers
*/
const std::list<RouteInfo *> &getNonsecureRoutes();
/**
* Get a list of protocol Info objects.
* Method returns a list of ProtocolInfo pointers
*/
const std::list<ProtocolInfo *> &getProtocolInfo();
/**
* Get a list of firewall Info objects.
* Method returns a list of FirewallInfo pointers
*/
const std::list<FirewallInfo *> &getFirewallInfo();
/**
* Method used to retrieve statistics by name.
*/
const tstring &getStatValue(tstring &label);
/**
* Alias for getStatValue.
*/
const tstring &getValue(tstring &label) { return getStatValue(label); }
/**
* Return a translated stats label. As an example, passing
* VPNStats::State will return a translated label for State text.
*
* NOTE: Do not use this translated label to retrieve stats
* values; it is meant only as a label translation mechanism.
*/
static tstring getTranslatedLabel(tstring &label);
//
// These static localized strings can be used in conjunction with the
// getStatValue method to retrieve VPN statisitics.
//
static tstring State; /**< Current state (see ::VPNState) of
the VPN tunnel. */
static tstring MgmtTunState; /**< Current state (see ::VPNState) of
the management VPN tunnel. */
static tstring TimeConnected; /**< Time hh:mm:ss the VPN tunnel has
been active. */
static tstring SessionDisconnect; /**< Estimate of time left until VPN session is
disconnected due to ASA configured timeout. */
//
// Data byte/packet counts, does not include encap/encrypt overhead
//
static tstring BytesSent; /**< Bytes sent to the remote network. */
static tstring BytesReceived; /**< Bytes received from the remote
network. */
static tstring PacketsSent; /**< Packets sent to the remote
network. */
static tstring PacketsReceived; /**< Packets received from the remote
network. */
//
// Control byte/packet count include size of DPD/Keepalive/etc
//
static tstring ControlBytesSent; /**< Control bytes sent to the
remote gateway. */
static tstring ControlBytesReceived; /**< Control bytes received
from the remote gateway. */
static tstring ControlPacketsSent; /**< Control packets sent to the
remote gateway. */
static tstring ControlPacketsReceived; /**< Control packets received
from the remote gateway. */
//
// Encrypted byte counts include both control and data, as well as
// encryption and encapsulation headers
//
static tstring EncryptedBytesSent; /**< Encrypted bytes sent to the
remote network. */
static tstring EncryptedBytesReceived; /**< Encrypted bytes received
from the remote network. */
static tstring EncryptedPacketsSent; /**< Encrypted packets sent to the
remote network. */
static tstring EncryptedPacketsReceived;/**< Encrypted packets received
from the remote network. */
//
// Encrypted byte counts include both control and data (if protocol
// is TLS), as well as encryption and encapsulation headers
//
static tstring CompressedBytesSent; /**< Compressed bytes sent
to the remote network. */
static tstring CompressedBytesReceived; /**< Compressed bytes received
from the remote network. */
static tstring CompressedPacketsSent; /**< Compressed packets sent
to the remote network. */
static tstring CompressedPacketsReceived;/**< Compressed packets
received from the remote
network. */
static tstring InboundDiscarded; /**< Incoming discarded bytes. */
static tstring OutboundDiscarded; /**< Outgoing discarded bytes. */
static tstring InboundBypassed; /**< Incoming skipped bytes. */
static tstring OutboundBypassed; /**< Outgoing skipped bytes. */
static tstring ClientAddress; /**< Client IPv4 address. */
static tstring ServerAddress; /**< Remote gateway IP address. */
static tstring ClientAddressV6; /**< Client IPv6 address. */
static tstring ServerHostName; /**< Host name of the remote gateway. */
static tstring ProxyAddress; /**< Proxy server IP address. */
static tstring ProxyHostName; /**< Proxy server host name. */
static tstring ProxyPort; /**< Port used for communicating with
proxy server. */
static tstring TunnelingMode; /**< Mode IPv4 traffic is being passed over
the tunnel. Values are "Tunnel All Traffic",
"Split Include", "Split Exclude", "Application Tunnel",
"Drop All Traffic" or "Bypass All Traffic". */
static tstring TunnelingModeV6; /**< Mode IPv6 traffic is being passed over
the tunnel. Values are "Tunnel All Traffic",
"Split Include", "Split Exclude",
"Drop All Traffic" or "Bypass All Traffic". */
static tstring DynamicTunnelExclusion; /**< Domain names dynamically excluded from tunneling */
static tstring DynamicTunnelInclusion; /**< Domain names dynamically added to tunnel */
static tstring Enabled; /**< */
static tstring Disabled; /**< */
static tstring Unconfirmed; /**< Used for Secure Mobility Solution. If the
WSA is not reachable from the agent, it might be
due to private side proxy configuration. In such a case
report Unconfirmed to the UI */
static tstring FipsMode; /**< FIPS mode (Federal security standard).
Values are "Enabled" or "Disabled" */
static tstring TrustedNetworkDetectionMode; /** < Trusted Network Detection.
Values are "Enabled" or "Disabled" */
static tstring AlwaysOnMode; /**< Always On. Values are "Enabled" or
"Disabled" */
static tstring NetworkStatus; /**< Network Status.
Values include are: "No Networks Detected",
"DNS Services Unavailable",
"Web Authentication Required",
"Proxy Authentication Required",
"Access Restricted",
"Access Unrestricted" */
static tstring DAPMessage; /**< DAP message received from gateway. Used for Quarantine
mode, etc. */
static tstring MUSHost; /**< MUS Host delivered from secure gateway. */
static tstring MUSStatus; /**< MUS Status: Enabled, Disabled. */
static tstring AdministrativeDomain; /**<Administrative Domain Name:
- domain name of the SG that the user connects to for the first time
- "Admin Defined" if there are authorized SGs specified in
the local policy file
- "Not Applicable" otherwise. */
static tstring ProfileName; /**< Active profile name. */
VPNStats();
virtual ~VPNStats();
};
#endif // _VPNSATS_
VPNStats::ProfileName
static tstring ProfileName
Definition: VPNStats.h:205
VPNStats::BytesSent
static tstring BytesSent
Definition: VPNStats.h:98
VPNStats::MUSHost
static tstring MUSHost
Definition: VPNStats.h:196
VPNStats::DynamicTunnelExclusion
static tstring DynamicTunnelExclusion
Definition: VPNStats.h:167
VPNStats::EncryptedPacketsReceived
static tstring EncryptedPacketsReceived
Definition: VPNStats.h:128
VPNStats::CompressedBytesReceived
static tstring CompressedBytesReceived
Definition: VPNStats.h:137
VPNStats::ServerHostName
static tstring ServerHostName
Definition: VPNStats.h:154
VPNStats::OutboundBypassed
static tstring OutboundBypassed
Definition: VPNStats.h:148
VPNStats::DAPMessage
static tstring DAPMessage
Definition: VPNStats.h:193
VPNStats::BytesReceived
static tstring BytesReceived
Definition: VPNStats.h:99
VPNStats::getValue
const tstring & getValue(tstring &label)
Definition: VPNStats.h:71
VPNStats::FipsMode
static tstring FipsMode
Definition: VPNStats.h:177
VPNStats::InboundDiscarded
static tstring InboundDiscarded
Definition: VPNStats.h:145
VPNStats::ControlBytesSent
static tstring ControlBytesSent
Definition: VPNStats.h:109
VPNStats::TimeConnected
static tstring TimeConnected
Definition: VPNStats.h:90
VPNStats::SessionDisconnect
static tstring SessionDisconnect
Definition: VPNStats.h:92
tstring
#define tstring
Definition: api.h:35
VPNStats::AdministrativeDomain
static tstring AdministrativeDomain
Definition: VPNStats.h:199
VPNStats::AlwaysOnMode
static tstring AlwaysOnMode
Definition: VPNStats.h:182
VPNStats::EncryptedBytesReceived
static tstring EncryptedBytesReceived
Definition: VPNStats.h:124
VPNStats::OutboundDiscarded
static tstring OutboundDiscarded
Definition: VPNStats.h:146
VPNStats::ControlBytesReceived
static tstring ControlBytesReceived
Definition: VPNStats.h:111
VPNStats::TunnelingModeV6
static tstring TunnelingModeV6
Definition: VPNStats.h:163
VPNStats::ControlPacketsReceived
static tstring ControlPacketsReceived
Definition: VPNStats.h:115
VPNStats::CompressedPacketsReceived
static tstring CompressedPacketsReceived
Definition: VPNStats.h:141
VPNStats::CompressedPacketsSent
static tstring CompressedPacketsSent
Definition: VPNStats.h:139
VPNStats::PacketsReceived
static tstring PacketsReceived
Definition: VPNStats.h:103
VPNStats::ServerAddress
static tstring ServerAddress
Definition: VPNStats.h:151
VPNStats::NetworkStatus
static tstring NetworkStatus
Definition: VPNStats.h:185
VPNStats::ClientAddress
static tstring ClientAddress
Definition: VPNStats.h:150
VPNStats::MUSStatus
static tstring MUSStatus
Definition: VPNStats.h:197
VPNStats::CompressedBytesSent
static tstring CompressedBytesSent
Definition: VPNStats.h:135
VPNStats::ProxyAddress
static tstring ProxyAddress
Definition: VPNStats.h:155
VPNStats::ProxyHostName
static tstring ProxyHostName
Definition: VPNStats.h:156
VPNStats::TunnelingMode
static tstring TunnelingMode
Definition: VPNStats.h:159
VPNStats::ProxyPort
static tstring ProxyPort
Definition: VPNStats.h:157
VPNStats::MgmtTunState
static tstring MgmtTunState
Definition: VPNStats.h:88
VPNStats::EncryptedBytesSent
static tstring EncryptedBytesSent
Definition: VPNStats.h:122
VPNStats::ClientAddressV6
static tstring ClientAddressV6
Definition: VPNStats.h:152
VPNStats::InboundBypassed
static tstring InboundBypassed
Definition: VPNStats.h:147
VPNStats
Definition: VPNStats.h:35
VPNStats::Unconfirmed
static tstring Unconfirmed
Definition: VPNStats.h:172
VPNStats::DynamicTunnelInclusion
static tstring DynamicTunnelInclusion
Definition: VPNStats.h:168
VPNStats::ControlPacketsSent
static tstring ControlPacketsSent
Definition: VPNStats.h:113
VPNStats::EncryptedPacketsSent
static tstring EncryptedPacketsSent
Definition: VPNStats.h:126
VPNStats::PacketsSent
static tstring PacketsSent
Definition: VPNStats.h:101
VPNStats::State
static tstring State
Definition: VPNStats.h:86
VPNStatsBase
Definition: VPNStatsBase.h:40