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 QString &circuit)
bool isValid () const
quint64 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)

Private Attributes

quint64 _circId
Status _status
QStringList _names
QStringList _ids
bool _isValid


Detailed Description

Definition at line 24 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 30 of file circuit.h.


Constructor & Destructor Documentation

Circuit::Circuit (  ) 

Default constructor.

Definition at line 24 of file circuit.cpp.

References _circId, _isValid, _status, and Unknown.

Circuit::Circuit ( const QString &  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, and toStatus().


Member Function Documentation

bool Circuit::isValid (  )  const [inline]

Returns true if this circuit is valid.

Definition at line 45 of file circuit.h.

References _isValid.

Referenced by TorControl::getCircuits().

quint64 Circuit::id (  )  const [inline]

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 85 of file circuit.cpp.

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

Referenced by CircuitItem::update().

uint Circuit::length (  )  const [inline]

Returns the length of the circuit's path.

Definition at line 54 of file circuit.h.

References _ids.

Referenced by CircuitItem::update().

QStringList Circuit::routerNames (  )  const [inline]

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

Definition at line 56 of file circuit.h.

References _names.

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

QStringList Circuit::routerIDs (  )  const [inline]

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

Definition at line 58 of file circuit.h.

References _ids.

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

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 68 of file circuit.cpp.

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

Referenced by Circuit().


Member Data Documentation

quint64 Circuit::_circId [private]

Circuit ID.

Definition at line 64 of file circuit.h.

Referenced by Circuit(), and id().

Circuit status.

Definition at line 65 of file circuit.h.

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

QStringList Circuit::_names [private]

Nicknames of the routers in the circuit.

Definition at line 66 of file circuit.h.

Referenced by Circuit(), and routerNames().

QStringList Circuit::_ids [private]

IDs of the routers in the circuit.

Definition at line 67 of file circuit.h.

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

bool Circuit::_isValid [private]

Definition at line 68 of file circuit.h.

Referenced by Circuit(), and isValid().


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

Generated on Sat Aug 16 17:38:36 2008 for Vidalia by  doxygen 1.5.6