# PacketStreamState

<a id="packetstreamstate"></a>

# PacketStreamState

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

struct PacketStreamState
```

[Defined in src/base/include/icy/packetstream.h:230](https://github.com/auscaster/icey/blob/main/src/base/include/icy/packetstream.h#L230)

> **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 [PacketStream](https://auscaster.com/icey/docs/api-reference/icy-PacketStream.md#packetstream).

## List of all members

| Name | Kind | Owner |
|------|------|-------|
| [`str`](#str-3) | `function` | Declared here |
| [`None`](#none) | `variable` | Declared here |
| [`Locked`](#locked-1) | `variable` | Declared here |
| [`Active`](#active-1) | `variable` | Declared here |
| [`Paused`](#paused) | `variable` | Declared here |
| [`Stopping`](#stopping) | `variable` | Declared here |
| [`Stopped`](#stopped-1) | `variable` | Declared here |
| [`Closed`](#closed-1) | `variable` | Declared here |
| [`Error`](#error-6) | `variable` | Declared here |
| [`Type`](#type-1) | `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-3) `const` `inline` `override` |  |

---

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

### str

`const` `inline` `override`

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

[Defined in src/base/include/icy/packetstream.h:256](https://github.com/auscaster/icey/blob/main/src/base/include/icy/packetstream.h#L256)

## Public Static Attributes

| Return | Name | Description |
|--------|------|-------------|
| `constexpr unsigned int` | [`None`](#none) `static` `constexpr` |  |
| `constexpr unsigned int` | [`Locked`](#locked-1) `static` `constexpr` |  |
| `constexpr unsigned int` | [`Active`](#active-1) `static` `constexpr` |  |
| `constexpr unsigned int` | [`Paused`](#paused) `static` `constexpr` |  |
| `constexpr unsigned int` | [`Stopping`](#stopping) `static` `constexpr` |  |
| `constexpr unsigned int` | [`Stopped`](#stopped-1) `static` `constexpr` |  |
| `constexpr unsigned int` | [`Closed`](#closed-1) `static` `constexpr` |  |
| `constexpr unsigned int` | [`Error`](#error-6) `static` `constexpr` |  |

---

<a id="none"></a>

### None

`static` `constexpr`

```cpp
constexpr unsigned int None = static_cast<unsigned int>(Type::None)
```

[Defined in src/base/include/icy/packetstream.h:247](https://github.com/auscaster/icey/blob/main/src/base/include/icy/packetstream.h#L247)

---

<a id="locked-1"></a>

### Locked

`static` `constexpr`

```cpp
constexpr unsigned int Locked = static_cast<unsigned int>(Type::Locked)
```

[Defined in src/base/include/icy/packetstream.h:248](https://github.com/auscaster/icey/blob/main/src/base/include/icy/packetstream.h#L248)

---

<a id="active-1"></a>

### Active

`static` `constexpr`

```cpp
constexpr unsigned int Active = static_cast<unsigned int>(Type::Active)
```

[Defined in src/base/include/icy/packetstream.h:249](https://github.com/auscaster/icey/blob/main/src/base/include/icy/packetstream.h#L249)

---

<a id="paused"></a>

### Paused

`static` `constexpr`

```cpp
constexpr unsigned int Paused = static_cast<unsigned int>(Type::Paused)
```

[Defined in src/base/include/icy/packetstream.h:250](https://github.com/auscaster/icey/blob/main/src/base/include/icy/packetstream.h#L250)

---

<a id="stopping"></a>

### Stopping

`static` `constexpr`

```cpp
constexpr unsigned int Stopping = static_cast<unsigned int>(Type::Stopping)
```

[Defined in src/base/include/icy/packetstream.h:251](https://github.com/auscaster/icey/blob/main/src/base/include/icy/packetstream.h#L251)

---

<a id="stopped-1"></a>

### Stopped

`static` `constexpr`

```cpp
constexpr unsigned int Stopped = static_cast<unsigned int>(Type::Stopped)
```

[Defined in src/base/include/icy/packetstream.h:252](https://github.com/auscaster/icey/blob/main/src/base/include/icy/packetstream.h#L252)

---

<a id="closed-1"></a>

### Closed

`static` `constexpr`

```cpp
constexpr unsigned int Closed = static_cast<unsigned int>(Type::Closed)
```

[Defined in src/base/include/icy/packetstream.h:253](https://github.com/auscaster/icey/blob/main/src/base/include/icy/packetstream.h#L253)

---

<a id="error-6"></a>

### Error

`static` `constexpr`

```cpp
constexpr unsigned int Error = static_cast<unsigned int>(Type::Error)
```

[Defined in src/base/include/icy/packetstream.h:254](https://github.com/auscaster/icey/blob/main/src/base/include/icy/packetstream.h#L254)

## Public Types

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

---

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

### Type

```cpp
enum Type
```

[Defined in src/base/include/icy/packetstream.h:232](https://github.com/auscaster/icey/blob/main/src/base/include/icy/packetstream.h#L232)

| Value | Description |
|-------|-------------|
| `None` |  |
| `Locked` |  |
| `Active` |  |
| `Paused` |  |
| `Stopping` |  |
| `Stopped` |  |
| `Closed` |  |
| `Error` |  |
