---
title: ar_session_data_provider_state_change_handler_t
framework: arkit
role: symbol
role_heading: Type Alias
path: arkit/ar_session_data_provider_state_change_handler_t
---

# ar_session_data_provider_state_change_handler_t

A handler that the session calls when one or more data providers associated with it change state.

## Declaration

```occ
typedef void (^)(NSObject<OS_ar_data_providers> *, ar_data_provider_state_t, NSObject<OS_ar_error> *, NSObject<OS_ar_data_provider> *) ar_session_data_provider_state_change_handler_t;
```

## Parameters

- `data_providers`: The collection of data providers that changed state.
- `new_state`: The data provider state that triggered the event.
- `error`: An error associated with the state change, if any. Also see ar_session_error_code_t.
- `failed_data_provider`: The data provider that failed and caused the error, if any.

## See Also

### Sessions

- [ar_session_t](arkit/ar_session_t.md)
- [ar_session_create](arkit/ar_session_create.md)
- [ar_session_create_with_device](arkit/ar_session_create_with_device.md)
- [ar_session_query_authorization_results](arkit/ar_session_query_authorization_results.md)
- [ar_session_query_authorization_results_f](arkit/ar_session_query_authorization_results_f.md)
- [ar_session_request_authorization](arkit/ar_session_request_authorization.md)
- [ar_session_request_authorization_f](arkit/ar_session_request_authorization_f.md)
- [ar_session_run](arkit/ar_session_run.md)
- [ar_session_set_authorization_update_handler](arkit/ar_session_set_authorization_update_handler.md)
- [ar_session_set_authorization_update_handler_f](arkit/ar_session_set_authorization_update_handler_f.md)
- [ar_session_copy_data_providers](arkit/ar_session_copy_data_providers.md)
- [ar_session_set_data_provider_state_change_handler](arkit/ar_session_set_data_provider_state_change_handler.md)
- [ar_session_set_data_provider_state_change_handler_f](arkit/ar_session_set_data_provider_state_change_handler_f.md)
- [ar_session_stop](arkit/ar_session_stop.md)
- [ar_device_t](arkit/ar_device_t.md)
