# sys::testing::ComponentContextProvider

## Summary

| ### Constructors and Destructors ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/sys/testing/component-context-provider#classsys_1_1testing_1_1_component_context_provider_1a421f38207b0452d3963bef8ec85409ad(async_dispatcher_t *dispatcher)` ||
| `https://fuchsia.dev/reference/cpp/class/sys/testing/component-context-provider#classsys_1_1testing_1_1_component_context_provider_1a369bebbaa11dae501e01d2c20800881b()` ||

| ### Public functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/sys/testing/component-context-provider#classsys_1_1testing_1_1_component_context_provider_1a64514573c70d5b09b0c6dc6d602abcac(const std::string & name, async_dispatcher_t *dispatcher) const ` | `https://fuchsia.dev/reference/cpp/class/fidl/interface-ptr#classfidl_1_1_interface_ptr< Interface >` |
| `https://fuchsia.dev/reference/cpp/class/sys/testing/component-context-provider#classsys_1_1testing_1_1_component_context_provider_1adf57bc56d011169cd3eaf84fe3f6f4b5(https://fuchsia.dev/reference/cpp/class/fidl/interface-request#classfidl_1_1_interface_request< Interface > request, const std::string & name) const ` | `void` |
| `https://fuchsia.dev/reference/cpp/class/sys/testing/component-context-provider#classsys_1_1testing_1_1_component_context_provider_1a7a975c57a18c3b95b439a68edb33e8fd()` | `std::unique_ptr< https://fuchsia.dev/reference/cpp/class/sys/component-context#classsys_1_1_component_context >` |
| `https://fuchsia.dev/reference/cpp/class/sys/testing/component-context-provider#classsys_1_1testing_1_1_component_context_provider_1afa339fa428aedee4d003125991e29665()` | `https://fuchsia.dev/reference/cpp/class/sys/component-context#classsys_1_1_component_context *` |
| `https://fuchsia.dev/reference/cpp/class/sys/testing/component-context-provider#classsys_1_1testing_1_1_component_context_provider_1accd3b13cbc05e78d9c4cc8ee92c7820d()` | `fuchsia::io::DirectoryPtr &` |
| `https://fuchsia.dev/reference/cpp/class/sys/testing/component-context-provider#classsys_1_1testing_1_1_component_context_provider_1ad5ef9fdd99295a577a98f944507920ff()` | `std::shared_ptr< https://fuchsia.dev/reference/cpp/class/sys/service-directory#classsys_1_1_service_directory >` |
| `https://fuchsia.dev/reference/cpp/class/sys/testing/component-context-provider#classsys_1_1testing_1_1_component_context_provider_1a22385bc0d527c5cc45a6a8c7ef39f8d6() const ` | `const std::shared_ptr< https://fuchsia.dev/reference/cpp/class/sys/testing/service-directory-provider#classsys_1_1testing_1_1_service_directory_provider > &` |

## Public functions

### ComponentContextProvider

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

### ConnectToPublicService

```c++
fidl::InterfacePtr< Interface > ConnectToPublicService(
  const std::string & name,
  async_dispatcher_t *dispatcher
) const 
```

### ConnectToPublicService

```c++
void ConnectToPublicService(
  fidl::InterfaceRequest< Interface > request,
  const std::string & name
) const 
```

### TakeContext

```c++
std::unique_ptr< sys::ComponentContext > TakeContext()
```

### context

```c++
sys::ComponentContext * context()
```

### outgoing_directory_ptr

```c++
fuchsia::io::DirectoryPtr & outgoing_directory_ptr()
```

### public_service_directory

```c++
std::shared_ptr< sys::ServiceDirectory > public_service_directory()
```

### service_directory_provider

```c++
const std::shared_ptr< ServiceDirectoryProvider > & service_directory_provider() const 
```

### \~ComponentContextProvider

```c++
 ~ComponentContextProvider()
```