12345678910111213141516171819202122232425262728293031323334353637383940 |
- #include "include/dvr/dvr_configuration_data.h"
- #include <private/dvr/display_client.h>
- using android::dvr::display::ConfigFileType;
- using android::dvr::display::DisplayClient;
- extern "C" {
- int dvrConfigurationDataGet(int config_type, uint8_t** data,
- size_t* data_size) {
- if (!data || !data_size) {
- return -EINVAL;
- }
- auto client = DisplayClient::Create();
- if (!client) {
- ALOGE("dvrGetGlobalBuffer: Failed to create display client!");
- return -ECOMM;
- }
- ConfigFileType config_file_type = static_cast<ConfigFileType>(config_type);
- auto config_data_status =
- client->GetConfigurationData(config_file_type);
- if (!config_data_status) {
- return -config_data_status.error();
- }
- *data_size = config_data_status.get().size();
- *data = new uint8_t[*data_size];
- std::copy_n(config_data_status.get().begin(), *data_size, *data);
- return 0;
- }
- void dvrConfigurationDataDestroy(uint8_t* data) {
- delete[] data;
- }
- } // extern "C"
|