Circuit Class Reference

#include <circuit.h>

List of all members.

Public Types

enum  Status {
  Unknown, Launched, Built, Extended,
  Failed, Closed
}

Public Member Functions

 Circuit ()
 Circuit (const CircuitId &circuit)
bool isValid () const
CircuitId id () const
Status status () const
QString statusString () const
uint length () const
QStringList routerNames () const
QStringList routerIDs () const

Static Public Member Functions

static Status toStatus (const QString &strStatus)
static bool isValidCircuitId (const CircuitId &circId)

Private Attributes

CircuitId _circId
Status _status
QStringList _names
QStringList _ids
bool _isValid


Detailed Description

Definition at line 27 of file circuit.h.


Member Enumeration Documentation

Circuit status events

Enumerator:
Unknown  Unknown circuit status
Launched  Circuit ID assigned to new circuit
Built  All hops finished
Extended  Circuit extended by one hop
Failed  Circuit closed (was not built)
Closed  Circuit closed (was built)

Definition at line 33 of file circuit.h.


Constructor & Destructor Documentation

Circuit::Circuit (  ) 

Default constructor.

Definition at line 25 of file circuit.cpp.

References _isValid, _status, and Unknown.

Circuit::Circuit ( const CircuitId circuit  ) 

Constructor.

Parses the string given in Tor control protocol format for a circuit. The format is:

CircuitID SP CircStatus [SP Path]

If the status is "LAUNCHED", the Path is empty. Server names in the path must follow Tor's VERBOSE_NAMES format.

Definition at line 39 of file circuit.cpp.

References _circId, _ids, _isValid, _names, _status, err(), isValidCircuitId(), toStatus(), and tc::warn().


Member Function Documentation

CircuitId Circuit::id (  )  const [inline]

bool Circuit::isValid (  )  const [inline]

Returns true if this circuit is valid.

Definition at line 48 of file circuit.h.

References _isValid.

Referenced by TorControl::getCircuits().

bool Circuit::isValidCircuitId ( const CircuitId circId  )  [static]

Returns true iff circId consists of only between 1 and 16 (inclusive) ASCII-encoded letters and numbers.

Definition at line 75 of file circuit.cpp.

References i(), and length().

Referenced by Circuit(), and Stream::isValid().

uint Circuit::length (  )  const [inline]

Returns the length of the circuit's path.

Definition at line 57 of file circuit.h.

References _ids.

Referenced by isValidCircuitId(), and CircuitItem::update().

QStringList Circuit::routerIDs (  )  const [inline]

Returns the circuit's path as an ordered list of router fingerprints.

Definition at line 61 of file circuit.h.

References _ids.

Referenced by NetViewer::addCircuit(), NetViewer::circuitSelected(), NetViewer::resolved(), and CircuitEvent::routerIDs().

QStringList Circuit::routerNames (  )  const [inline]

Returns the circuit's path as an ordered list of router nicknames.

Definition at line 59 of file circuit.h.

References _names.

Referenced by CircuitEvent::routerNames(), and CircuitItem::update().

Status Circuit::status (  )  const [inline]

QString Circuit::statusString (  )  const

Returns a string representation of the status of this circuit.

Returns a string representation of the circuit's status.

Definition at line 108 of file circuit.cpp.

References _status, Built, Closed, Extended, Failed, Launched, and status().

Referenced by CircuitItem::update().

Circuit::Status Circuit::toStatus ( const QString &  status  )  [static]

Converts a string description of a circuit's status to an enum value

Converts the circuit status string to its proper enum value

Definition at line 91 of file circuit.cpp.

References Built, Closed, Extended, Failed, Launched, and Unknown.

Referenced by Circuit().


Member Data Documentation

Circuit ID.

Definition at line 71 of file circuit.h.

Referenced by Circuit(), and id().

QStringList Circuit::_ids [private]

IDs of the routers in the circuit.

Definition at line 74 of file circuit.h.

Referenced by Circuit(), length(), and routerIDs().

bool Circuit::_isValid [private]

Definition at line 75 of file circuit.h.

Referenced by Circuit(), and isValid().

QStringList Circuit::_names [private]

Nicknames of the routers in the circuit.

Definition at line 73 of file circuit.h.

Referenced by Circuit(), and routerNames().

Circuit status.

Definition at line 72 of file circuit.h.

Referenced by Circuit(), status(), and statusString().


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

Generated on Wed Nov 26 21:02:43 2008 for Vidalia by  doxygen 1.5.7.1