Vidalia 0.3.1
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
Circuit Class Reference

#include <Circuit.h>

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

◆ Status

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() [1/2]

Circuit::Circuit ( )

Default constructor.

Definition at line 24 of file Circuit.cpp.

References _isValid, _status, and Unknown.

◆ Circuit() [2/2]

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 38 of file Circuit.cpp.

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

Member Function Documentation

◆ id()

CircuitId Circuit::id ( ) const
inline

Returns the ID for this circuit

Definition at line 51 of file Circuit.h.

References _circId.

Referenced by CircuitListWidget::addCircuit(), NetViewer::addCircuit(), NetViewer::circuitSelected(), CircuitItem::id(), and CircuitListWidget::removeCircuit().

◆ isValid()

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(), and TorEvents::handleCircuitStatus().

◆ isValidCircuitId()

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 74 of file Circuit.cpp.

References i(), and length().

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

◆ length()

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().

◆ routerIDs()

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(), and NetViewer::retranslateUi().

◆ routerNames()

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 CircuitItem::update().

◆ status()

Status Circuit::status ( ) const
inline

Returns the status of this circuit

Definition at line 53 of file Circuit.h.

References _status.

Referenced by CircuitListWidget::addCircuit(), CircuitListWidget::customContextMenuRequested(), TorControl::isCircuitEstablished(), statusString(), and toStatus().

◆ statusString()

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 107 of file Circuit.cpp.

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

Referenced by CircuitItem::update().

◆ toStatus()

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 90 of file Circuit.cpp.

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

Referenced by Circuit().

Member Data Documentation

◆ _circId

CircuitId Circuit::_circId
private

Circuit ID.

Definition at line 71 of file Circuit.h.

Referenced by Circuit(), and id().

◆ _ids

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().

◆ _isValid

bool Circuit::_isValid
private

Definition at line 75 of file Circuit.h.

Referenced by Circuit(), and isValid().

◆ _names

QStringList Circuit::_names
private

Nicknames of the routers in the circuit.

Definition at line 73 of file Circuit.h.

Referenced by Circuit(), and routerNames().

◆ _status

Status Circuit::_status
private

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: