# fdf_testing::TestNode

## Summary

### Inheritance

Inherits from: [fidl::WireServer\< fuchsia_driver_framework::NodeController \>](https://fuchsia.dev/reference/cpp/other/singletonfidl/wire-server), [fidl::WireServer\< fuchsia_driver_framework::Node \>](https://fuchsia.dev/reference/cpp/other/singletonfidl/wire-server)

| ### Constructors and Destructors ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/fdf-testing/test-node#classfdf__testing_1_1_test_node_1a97c662db1b71b4323b8a7df4a61d6863(std::string name, async_dispatcher_t *dispatcher)` ||
| `https://fuchsia.dev/reference/cpp/class/fdf-testing/test-node#classfdf__testing_1_1_test_node_1a4d65825809a78b7b5ea68c6df2807416()` ||

| ### Public types ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/fdf-testing/test-node#classfdf__testing_1_1_test_node_1ab663f9ed0d24980ef6e143af001a17cc` | using `std::unordered_map< std::string, https://fuchsia.dev/reference/cpp/class/fdf-testing/test-node#classfdf__testing_1_1_test_node >` |

| ### Public functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/fdf-testing/test-node#classfdf__testing_1_1_test_node_1a4e6f56f044a47cd6694ec7deb57d5ad4()` | `https://fuchsia.dev/reference/cpp/other/singletonzx/result#singletonzx_1_1result< https://fuchsia.dev/reference/cpp/class/zx/channel#classzx_1_1channel >` |
| `https://fuchsia.dev/reference/cpp/class/fdf-testing/test-node#classfdf__testing_1_1_test_node_1a5b235275563e81d9c631e4b76fd5cdbe()` | `https://fuchsia.dev/reference/cpp/other/singletonzx/result#singletonzx_1_1result< https://fuchsia.dev/reference/cpp/other/singletonfidl/client-end#singletonfidl_1_1_client_end< fuchsia_driver_framework::Node > >` |
| `https://fuchsia.dev/reference/cpp/class/fdf-testing/test-node#classfdf__testing_1_1_test_node_1a8fc13a7a263ae0f55012f5d579006d62()` | `https://fuchsia.dev/reference/cpp/other/singletonzx/result#singletonzx_1_1result< https://fuchsia.dev/reference/cpp/struct/fdf-testing/test-node/create-start-args-result#structfdf__testing_1_1_test_node_1_1_create_start_args_result >` |
| `https://fuchsia.dev/reference/cpp/class/fdf-testing/test-node#classfdf__testing_1_1_test_node_1ab8e80e340781233664095591b2a41250() const ` | `std::vector< https://fuchsia.dev/reference/cpp/struct/fdf-testing/test-node/bind-data#structfdf__testing_1_1_test_node_1_1_bind_data >` |
| `https://fuchsia.dev/reference/cpp/class/fdf-testing/test-node#classfdf__testing_1_1_test_node_1a0a8ede1da9d0f009e3bb94cbd52ac9f5() const ` | `std::vector< fuchsia_driver_framework::NodeProperty2 >` |
| `https://fuchsia.dev/reference/cpp/class/fdf-testing/test-node#classfdf__testing_1_1_test_node_1a6534f34071b89c419853722780de2234()` | `bool` |
| `https://fuchsia.dev/reference/cpp/class/fdf-testing/test-node#classfdf__testing_1_1_test_node_1ad6cdd4e431db370904dd6a950a5ce188(https://fuchsia.dev/reference/cpp/other/singletonfidl/server-end#singletonfidl_1_1_server_end< fuchsia_driver_framework::Node > server_end)` | `https://fuchsia.dev/reference/cpp/other/singletonzx/result#singletonzx_1_1result` |
| `https://fuchsia.dev/reference/cpp/class/fdf-testing/test-node#classfdf__testing_1_1_test_node_1a3eef2b27d3cc8fc2761e9f1574ed550d()` | `ChildrenMap &` |
| `https://fuchsia.dev/reference/cpp/class/fdf-testing/test-node#classfdf__testing_1_1_test_node_1ad5e6b20ca29aad9f8729203022ddf1aa() const ` | `async_dispatcher_t *` |
| `https://fuchsia.dev/reference/cpp/class/fdf-testing/test-node#classfdf__testing_1_1_test_node_1a9d28ca7f3b5832a74ef356e31d90fce8() const ` | `const std::string &` |

| ### Structs ||
|---|---|
| [fdf_testing::TestNode::BindData](https://fuchsia.dev/reference/cpp/struct/fdf-testing/test-node/bind-data) |   |
| [fdf_testing::TestNode::CreateStartArgsResult](https://fuchsia.dev/reference/cpp/struct/fdf-testing/test-node/create-start-args-result) |   |

## Public types

### ChildrenMap

```c++
std::unordered_map< std::string, TestNode > ChildrenMap
```

## Public functions

### ConnectToDevice

```c++
zx::result< zx::channel > ConnectToDevice()
```

### CreateNodeChannel

```c++
zx::result< fidl::ClientEnd< fuchsia_driver_framework::Node > > CreateNodeChannel()
```

### CreateStartArgsAndServe

```c++
zx::result< CreateStartArgsResult > CreateStartArgsAndServe()
```

### GetBindData

```c++
std::vector< BindData > GetBindData() const 
```

### GetProperties

```c++
std::vector< fuchsia_driver_framework::NodeProperty2 > GetProperties() const 
```

### HasNode

```c++
bool HasNode()
```

### Serve

```c++
zx::result Serve(
  fidl::ServerEnd< fuchsia_driver_framework::Node > server_end
)
```

### TestNode

```c++
 TestNode(
  std::string name,
  async_dispatcher_t *dispatcher
)
```

### children

```c++
ChildrenMap & children()
```

### dispatcher

```c++
async_dispatcher_t * dispatcher() const 
```

### name

```c++
const std::string & name() const 
```

### \~TestNode

```c++
 ~TestNode() override
```