# TransactionState

<a id="transactionstate"></a>

# TransactionState

```cpp
#include <icy/packettransaction.h>

struct TransactionState
```

[Defined in src/base/include/icy/packettransaction.h:27](https://github.com/auscaster/icey/blob/main/src/base/include/icy/packettransaction.h#L27)

> **Inherits:** [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state)

[State](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) machine states for [PacketTransaction](https://auscaster.com/icey/docs/api-reference/icy-PacketTransaction.md#packettransaction).

## List of all members

| Name | Kind | Owner |
|------|------|-------|
| [`str`](#str-5) | `function` | Declared here |
| [`Type`](#type-2) | `enum` | Declared here |
| [`operator<<`](https://auscaster.com/icey/docs/api-reference/icy-State.md#operator-91) | `friend` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state-1) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state-2) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`operator=`](https://auscaster.com/icey/docs/api-reference/icy-State.md#operator-92) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`~State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state-3) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`id`](https://auscaster.com/icey/docs/api-reference/icy-State.md#id) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`set`](https://auscaster.com/icey/docs/api-reference/icy-State.md#set-2) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`str`](https://auscaster.com/icey/docs/api-reference/icy-State.md#str-4) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`toString`](https://auscaster.com/icey/docs/api-reference/icy-State.md#tostring-2) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`equals`](https://auscaster.com/icey/docs/api-reference/icy-State.md#equals) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`between`](https://auscaster.com/icey/docs/api-reference/icy-State.md#between) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`operator==`](https://auscaster.com/icey/docs/api-reference/icy-State.md#operator-93) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`operator==`](https://auscaster.com/icey/docs/api-reference/icy-State.md#operator-94) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`_id`](https://auscaster.com/icey/docs/api-reference/icy-State.md#_id) | `variable` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`ID`](https://auscaster.com/icey/docs/api-reference/icy-State.md#id-1) | `typedef` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |

## Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state)

| Kind | Name | Description |
|------|------|-------------|
| `friend` | [`operator<<`](https://auscaster.com/icey/docs/api-reference/icy-State.md#operator-91) `inline` |  |
| `function` | [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state-1)  |  |
| `function` | [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state-2)  | Copy constructor. |
| `function` | [`operator=`](https://auscaster.com/icey/docs/api-reference/icy-State.md#operator-92)  | Copy assignment. |
| `function` | [`~State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state-3) `virtual` | Defaulted destructor. |
| `function` | [`id`](https://auscaster.com/icey/docs/api-reference/icy-State.md#id) `const` | Returns the current state ID. |
| `function` | [`set`](https://auscaster.com/icey/docs/api-reference/icy-State.md#set-2)  | Sets the state ID. |
| `function` | [`str`](https://auscaster.com/icey/docs/api-reference/icy-State.md#str-4) `virtual` `const` | Returns a human-readable string for the given state ID. Override in derived classes to provide meaningful names. |
| `function` | [`toString`](https://auscaster.com/icey/docs/api-reference/icy-State.md#tostring-2) `virtual` `const` | Returns a human-readable string for the current state ID. |
| `function` | [`equals`](https://auscaster.com/icey/docs/api-reference/icy-State.md#equals) `const` | Returns true if the current state ID equals the given ID. |
| `function` | [`between`](https://auscaster.com/icey/docs/api-reference/icy-State.md#between) `const` | Returns true if the current state ID is in the inclusive range [lid, rid]. |
| `function` | [`operator==`](https://auscaster.com/icey/docs/api-reference/icy-State.md#operator-93) `const` `inline` |  |
| `function` | [`operator==`](https://auscaster.com/icey/docs/api-reference/icy-State.md#operator-94) `const` `inline` |  |
| `variable` | [`_id`](https://auscaster.com/icey/docs/api-reference/icy-State.md#_id)  |  |
| `typedef` | [`ID`](https://auscaster.com/icey/docs/api-reference/icy-State.md#id-1)  |  |

## Public Methods

| Return | Name | Description |
|--------|------|-------------|
| `std::string` | [`str`](#str-5) `const` `inline` |  |

---

<a id="str-5"></a>

### str

`const` `inline`

```cpp
inline std::string str(unsigned int id) const
```

[Defined in src/base/include/icy/packettransaction.h:40](https://github.com/auscaster/icey/blob/main/src/base/include/icy/packettransaction.h#L40)

#### Returns
Human-readable name of the state.

#### Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
| `id` | `unsigned int` | A [`TransactionState::Type`](#type-2) value. |

## Public Types

| Name | Description |
|------|-------------|
| [`Type`](#type-2)  |  |

---

<a id="type-2"></a>

### Type

```cpp
enum Type
```

[Defined in src/base/include/icy/packettransaction.h:29](https://github.com/auscaster/icey/blob/main/src/base/include/icy/packettransaction.h#L29)

| Value | Description |
|-------|-------------|
| `Waiting` |  |
| `Running` |  |
| `Success` |  |
| `Cancelled` |  |
| `Failed` |  |
