# PRemoteConnection Class Reference

Remote Access Connection class. More...

`#include <remconn.h>`

Inheritance diagram for PRemoteConnection:

List of all members.

## Error/Status functions

enum | Status { Idle, Connected, InProgress, LineBusy, NoDialTone, NoAnswer, PortInUse, NoNameOrNumber, AccessDenied, HardwareFailure, GeneralFailure, ConnectionLost, NotInstalled, NumStatuses }
| Status codes for remote connection. More...
Status | GetStatus () const
| Get the current status of the RAS connection.
DWORD | GetErrorCode () const
| Get the error code for the last operation.

## Information functions

const PString & | GetName () const
| Get the name of the RAS connection.
PString | GetAddress ()
| Get the IP address in dotted decimal form for the RAS connection.
static PStringArray | GetAvailableNames ()
| Get an array of names for all of the available remote connections on this system.

## Configuration functions

Status | GetConfiguration (Configuration &config)
| Get the configuration of the specified remote access connection.
Status | SetConfiguration (const Configuration &config, PBoolean create=false)
| Set the configuration of the specified remote access connection.
static Status | GetConfiguration (const PString &name, Configuration &config)
| Get the configuration of the specified remote access connection.
static Status | SetConfiguration (const PString &name, const Configuration &config, PBoolean create=false)
| Set the configuration of the specified remote access connection.
static Status | RemoveConfiguration (const PString &name)
| Remove the specified remote access connection.

## Public Member Functions

Construction
| PRemoteConnection ()
| Create a new remote connection.
| PRemoteConnection (const PString &name)
| Create a new remote connection.
| ~PRemoteConnection ()
| Disconnect remote connection.
Overrides from class PObject
virtual Comparison | Compare (const PObject &obj) const
| Compare two connections.
virtual PINDEX | HashFunction () const
| Get has value for the connection.
Dial/Hangup functions
PBoolean | Open (PBoolean existing=false)
| Open the remote connection.
PBoolean | Open (const PString &name, PBoolean existing=false)
| Open the remote connection.
PBoolean | Open (const PString &name, const PString &username, const PString &password, PBoolean existing=false)
| Open the remote connection.
void | Close ()
| Close the remote connection.

## Protected Attributes

PString | remoteName
PString | userName
PString | password
DWORD | osError
PString | pppDeviceName
PPipeChannel * | pipeChannel
PBoolean | wasConnected
Status | status
PString | deviceStr

## Classes

struct | Configuration
| Structure for a RAS configuration. More...

## Detailed Description

Remote Access Connection class.

## Member Enumeration Documentation

enum PRemoteConnection::Status

Status codes for remote connection.

Enumerator:

  Idle | Connection has not been made and no attempt is being made.
  Connected | Connection is completed and active.
  InProgress | Connection is in progress.
  LineBusy | Connection failed due to the line being busy.
  NoDialTone | Connection failed due to the line havin no dial tone.
  NoAnswer | Connection failed due to the remote not answering.
  PortInUse | Connection failed due to the port being in use.
  NoNameOrNumber | Connection failed due to the RAS setting name/number being incorrect.
  AccessDenied | Connection failed due to insufficient privilege.
  HardwareFailure | Connection failed due to a hardware failure.
  GeneralFailure | Connection failed due to a general failure.
  ConnectionLost | Connection was lost after successful establishment.
  NotInstalled | The Remote Access Operating System support is not installed.
  NumStatuses |

## Constructor & Destructor Documentation

PRemoteConnection::PRemoteConnection | ( |  | ) |

Create a new remote connection.

PRemoteConnection::PRemoteConnection | ( | const PString & | name | ) |

Create a new remote connection.

This will initiate the connection using the specified settings.

Parameters:

  name | Name of RAS configuration.

PRemoteConnection::~PRemoteConnection | ( |  | ) |

Disconnect remote connection.

## Member Function Documentation

void PRemoteConnection::Close | ( |  | ) |

Close the remote connection.

This will hang up/dosconnect the connection, net access will no longer be available to this site.

virtual Comparison PRemoteConnection::Compare | ( | const PObject & | obj | ) | const`[virtual]`

Compare two connections.

Returns:
  EqualTo of same RAS connectionconfiguration.

Parameters:

  obj | Another connection instance.

Reimplemented from PObject.

PString PRemoteConnection::GetAddress | ( |  | ) |

Get the IP address in dotted decimal form for the RAS connection.

Returns:
  String for IP address, or empty string if none.

static PStringArray PRemoteConnection::GetAvailableNames | ( |  | ) | `[static]`

Get an array of names for all of the available remote connections on this system.

Returns:
  Array of strings for remote connection names.

static Status PRemoteConnection::GetConfiguration | ( | const PString & | name,
|  | Configuration & | config |
| ) |  |  | `[static]`

Get the configuration of the specified remote access connection.

Returns:
  `Connected` if the configuration information was obtained, `NoNameOrNumber` if the particular RAS name does not exist, `NotInstalled` if there is no RAS support in the operating system, `GeneralFailure` on any other error.

Parameters:

  name | Remote connection name to get configuration
  config | Configuration of remote connection

Status PRemoteConnection::GetConfiguration | ( | Configuration & | config | ) |

Get the configuration of the specified remote access connection.

Returns:
  `Connected` if the configuration information was obtained, `NoNameOrNumber` if the particular RAS name does not exist, `NotInstalled` if there is no RAS support in the operating system, `GeneralFailure` on any other error.

Parameters:

  config | Configuration of remote connection

DWORD PRemoteConnection::GetErrorCode | ( |  | ) | const`[inline]`

Get the error code for the last operation.

Returns:
  Operating system error code.

const PString& PRemoteConnection::GetName | ( |  | ) | const`[inline]`

Get the name of the RAS connection.

Returns:
  String for IP address, or empty string if none.

Status PRemoteConnection::GetStatus | ( |  | ) | const

Get the current status of the RAS connection.

Returns:
  Status code.

virtual PINDEX PRemoteConnection::HashFunction | ( |  | ) | const`[virtual]`

Get has value for the connection.

Returns:
  Hash value of the connection name string.

Reimplemented from PObject.

PBoolean PRemoteConnection::Open | ( | const PString & | name,
|  | const PString & | username,
|  | const PString & | password,
|  | PBoolean | existing = `false` |
| ) |  |  |

Open the remote connection.

Parameters:

  name | RAS name of of connection to open.
  username | Username for remote log in.
  password | password for remote log in.
  existing | Flag for open only if already connected.

PBoolean PRemoteConnection::Open | ( | const PString & | name,
|  | PBoolean | existing = `false` |
| ) |  |  |

Open the remote connection.

Parameters:

  name | RAS name of of connection to open.
  existing | Flag for open only if already connected.

PBoolean PRemoteConnection::Open | ( | PBoolean | existing = `false` | ) |

Open the remote connection.

Parameters:

  existing | Flag for open only if already connected.

static Status PRemoteConnection::RemoveConfiguration | ( | const PString & | name | ) | `[static]`

Remove the specified remote access connection.

Returns:
  `Connected` if the configuration information was removed, `NoNameOrNumber` if the particular RAS name does not exist, `NotInstalled` if there is no RAS support in the operating system, `GeneralFailure` on any other error.

Parameters:

  name | Remote connection name to configure

static Status PRemoteConnection::SetConfiguration | ( | const PString & | name,
|  | const Configuration & | config,
|  | PBoolean | create = `false` |
| ) |  |  | `[static]`

Set the configuration of the specified remote access connection.

Returns:
  `Connected` if the configuration information was set, `NoNameOrNumber` if the particular RAS name does not exist, `NotInstalled` if there is no RAS support in the operating system, `GeneralFailure` on any other error.

Parameters:

  name | Remote connection name to configure
  config | Configuration of remote connection
  create | Flag to create connection if not present

Status PRemoteConnection::SetConfiguration | ( | const Configuration & | config,
|  | PBoolean | create = `false` |
| ) |  |  |

Set the configuration of the specified remote access connection.

Returns:
  `Connected` if the configuration information was set, `NoNameOrNumber` if the particular RAS name does not exist, `NotInstalled` if there is no RAS support in the operating system, `GeneralFailure` on any other error.

Parameters:

  config | Configuration of remote connection
  create | Flag to create connection if not present

## Member Data Documentation

PString PRemoteConnection::deviceStr `[protected]`

DWORD PRemoteConnection::osError `[protected]`

PString PRemoteConnection::password `[protected]`

PPipeChannel* PRemoteConnection::pipeChannel `[protected]`

PString PRemoteConnection::pppDeviceName `[protected]`

PString PRemoteConnection::remoteName `[protected]`

Status PRemoteConnection::status `[protected]`

PString PRemoteConnection::userName `[protected]`

PBoolean PRemoteConnection::wasConnected `[protected]`

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

- remconn.h