Files
universal_ble/windows/src/generated/universal_ble.g.cpp
T
Rohit Sangwan 2f7f1f693d Add Android scan mode setting (#212)
* Add Android scan mode setting

* Format pigeon generated code

* format whole project

* Fix windows compilation because of generated code order

* Fix unwanted imports

* Add doc comment for AndroidOptions

* Update code doc
2026-01-21 15:32:40 +05:30

1593 lines
62 KiB
C++

// Autogenerated from Pigeon (v26.1.4), do not edit directly.
// See also: https://pub.dev/packages/pigeon
#undef _HAS_EXCEPTIONS
#include "universal_ble.g.h"
#include <flutter/basic_message_channel.h>
#include <flutter/binary_messenger.h>
#include <flutter/encodable_value.h>
#include <flutter/standard_message_codec.h>
#include <map>
#include <optional>
#include <string>
namespace universal_ble {
using flutter::BasicMessageChannel;
using flutter::CustomEncodableValue;
using flutter::EncodableList;
using flutter::EncodableMap;
using flutter::EncodableValue;
FlutterError CreateConnectionError(const std::string channel_name) {
return FlutterError(
"channel-error",
"Unable to establish connection on channel: '" + channel_name + "'.",
EncodableValue(""));
}
// UniversalBleScanResult
UniversalBleScanResult::UniversalBleScanResult(const std::string& device_id)
: device_id_(device_id) {}
UniversalBleScanResult::UniversalBleScanResult(
const std::string& device_id,
const std::string* name,
const bool* is_paired,
const int64_t* rssi,
const EncodableList* manufacturer_data_list,
const EncodableMap* service_data,
const EncodableList* services,
const int64_t* timestamp)
: device_id_(device_id),
name_(name ? std::optional<std::string>(*name) : std::nullopt),
is_paired_(is_paired ? std::optional<bool>(*is_paired) : std::nullopt),
rssi_(rssi ? std::optional<int64_t>(*rssi) : std::nullopt),
manufacturer_data_list_(manufacturer_data_list ? std::optional<EncodableList>(*manufacturer_data_list) : std::nullopt),
service_data_(service_data ? std::optional<EncodableMap>(*service_data) : std::nullopt),
services_(services ? std::optional<EncodableList>(*services) : std::nullopt),
timestamp_(timestamp ? std::optional<int64_t>(*timestamp) : std::nullopt) {}
const std::string& UniversalBleScanResult::device_id() const {
return device_id_;
}
void UniversalBleScanResult::set_device_id(std::string_view value_arg) {
device_id_ = value_arg;
}
const std::string* UniversalBleScanResult::name() const {
return name_ ? &(*name_) : nullptr;
}
void UniversalBleScanResult::set_name(const std::string_view* value_arg) {
name_ = value_arg ? std::optional<std::string>(*value_arg) : std::nullopt;
}
void UniversalBleScanResult::set_name(std::string_view value_arg) {
name_ = value_arg;
}
const bool* UniversalBleScanResult::is_paired() const {
return is_paired_ ? &(*is_paired_) : nullptr;
}
void UniversalBleScanResult::set_is_paired(const bool* value_arg) {
is_paired_ = value_arg ? std::optional<bool>(*value_arg) : std::nullopt;
}
void UniversalBleScanResult::set_is_paired(bool value_arg) {
is_paired_ = value_arg;
}
const int64_t* UniversalBleScanResult::rssi() const {
return rssi_ ? &(*rssi_) : nullptr;
}
void UniversalBleScanResult::set_rssi(const int64_t* value_arg) {
rssi_ = value_arg ? std::optional<int64_t>(*value_arg) : std::nullopt;
}
void UniversalBleScanResult::set_rssi(int64_t value_arg) {
rssi_ = value_arg;
}
const EncodableList* UniversalBleScanResult::manufacturer_data_list() const {
return manufacturer_data_list_ ? &(*manufacturer_data_list_) : nullptr;
}
void UniversalBleScanResult::set_manufacturer_data_list(const EncodableList* value_arg) {
manufacturer_data_list_ = value_arg ? std::optional<EncodableList>(*value_arg) : std::nullopt;
}
void UniversalBleScanResult::set_manufacturer_data_list(const EncodableList& value_arg) {
manufacturer_data_list_ = value_arg;
}
const EncodableMap* UniversalBleScanResult::service_data() const {
return service_data_ ? &(*service_data_) : nullptr;
}
void UniversalBleScanResult::set_service_data(const EncodableMap* value_arg) {
service_data_ = value_arg ? std::optional<EncodableMap>(*value_arg) : std::nullopt;
}
void UniversalBleScanResult::set_service_data(const EncodableMap& value_arg) {
service_data_ = value_arg;
}
const EncodableList* UniversalBleScanResult::services() const {
return services_ ? &(*services_) : nullptr;
}
void UniversalBleScanResult::set_services(const EncodableList* value_arg) {
services_ = value_arg ? std::optional<EncodableList>(*value_arg) : std::nullopt;
}
void UniversalBleScanResult::set_services(const EncodableList& value_arg) {
services_ = value_arg;
}
const int64_t* UniversalBleScanResult::timestamp() const {
return timestamp_ ? &(*timestamp_) : nullptr;
}
void UniversalBleScanResult::set_timestamp(const int64_t* value_arg) {
timestamp_ = value_arg ? std::optional<int64_t>(*value_arg) : std::nullopt;
}
void UniversalBleScanResult::set_timestamp(int64_t value_arg) {
timestamp_ = value_arg;
}
EncodableList UniversalBleScanResult::ToEncodableList() const {
EncodableList list;
list.reserve(8);
list.push_back(EncodableValue(device_id_));
list.push_back(name_ ? EncodableValue(*name_) : EncodableValue());
list.push_back(is_paired_ ? EncodableValue(*is_paired_) : EncodableValue());
list.push_back(rssi_ ? EncodableValue(*rssi_) : EncodableValue());
list.push_back(manufacturer_data_list_ ? EncodableValue(*manufacturer_data_list_) : EncodableValue());
list.push_back(service_data_ ? EncodableValue(*service_data_) : EncodableValue());
list.push_back(services_ ? EncodableValue(*services_) : EncodableValue());
list.push_back(timestamp_ ? EncodableValue(*timestamp_) : EncodableValue());
return list;
}
UniversalBleScanResult UniversalBleScanResult::FromEncodableList(const EncodableList& list) {
UniversalBleScanResult decoded(
std::get<std::string>(list[0]));
auto& encodable_name = list[1];
if (!encodable_name.IsNull()) {
decoded.set_name(std::get<std::string>(encodable_name));
}
auto& encodable_is_paired = list[2];
if (!encodable_is_paired.IsNull()) {
decoded.set_is_paired(std::get<bool>(encodable_is_paired));
}
auto& encodable_rssi = list[3];
if (!encodable_rssi.IsNull()) {
decoded.set_rssi(std::get<int64_t>(encodable_rssi));
}
auto& encodable_manufacturer_data_list = list[4];
if (!encodable_manufacturer_data_list.IsNull()) {
decoded.set_manufacturer_data_list(std::get<EncodableList>(encodable_manufacturer_data_list));
}
auto& encodable_service_data = list[5];
if (!encodable_service_data.IsNull()) {
decoded.set_service_data(std::get<EncodableMap>(encodable_service_data));
}
auto& encodable_services = list[6];
if (!encodable_services.IsNull()) {
decoded.set_services(std::get<EncodableList>(encodable_services));
}
auto& encodable_timestamp = list[7];
if (!encodable_timestamp.IsNull()) {
decoded.set_timestamp(std::get<int64_t>(encodable_timestamp));
}
return decoded;
}
// UniversalBleService
UniversalBleService::UniversalBleService(const std::string& uuid)
: uuid_(uuid) {}
UniversalBleService::UniversalBleService(
const std::string& uuid,
const EncodableList* characteristics)
: uuid_(uuid),
characteristics_(characteristics ? std::optional<EncodableList>(*characteristics) : std::nullopt) {}
const std::string& UniversalBleService::uuid() const {
return uuid_;
}
void UniversalBleService::set_uuid(std::string_view value_arg) {
uuid_ = value_arg;
}
const EncodableList* UniversalBleService::characteristics() const {
return characteristics_ ? &(*characteristics_) : nullptr;
}
void UniversalBleService::set_characteristics(const EncodableList* value_arg) {
characteristics_ = value_arg ? std::optional<EncodableList>(*value_arg) : std::nullopt;
}
void UniversalBleService::set_characteristics(const EncodableList& value_arg) {
characteristics_ = value_arg;
}
EncodableList UniversalBleService::ToEncodableList() const {
EncodableList list;
list.reserve(2);
list.push_back(EncodableValue(uuid_));
list.push_back(characteristics_ ? EncodableValue(*characteristics_) : EncodableValue());
return list;
}
UniversalBleService UniversalBleService::FromEncodableList(const EncodableList& list) {
UniversalBleService decoded(
std::get<std::string>(list[0]));
auto& encodable_characteristics = list[1];
if (!encodable_characteristics.IsNull()) {
decoded.set_characteristics(std::get<EncodableList>(encodable_characteristics));
}
return decoded;
}
// UniversalBleCharacteristic
UniversalBleCharacteristic::UniversalBleCharacteristic(
const std::string& uuid,
const EncodableList& properties,
const EncodableList& descriptors)
: uuid_(uuid),
properties_(properties),
descriptors_(descriptors) {}
const std::string& UniversalBleCharacteristic::uuid() const {
return uuid_;
}
void UniversalBleCharacteristic::set_uuid(std::string_view value_arg) {
uuid_ = value_arg;
}
const EncodableList& UniversalBleCharacteristic::properties() const {
return properties_;
}
void UniversalBleCharacteristic::set_properties(const EncodableList& value_arg) {
properties_ = value_arg;
}
const EncodableList& UniversalBleCharacteristic::descriptors() const {
return descriptors_;
}
void UniversalBleCharacteristic::set_descriptors(const EncodableList& value_arg) {
descriptors_ = value_arg;
}
EncodableList UniversalBleCharacteristic::ToEncodableList() const {
EncodableList list;
list.reserve(3);
list.push_back(EncodableValue(uuid_));
list.push_back(EncodableValue(properties_));
list.push_back(EncodableValue(descriptors_));
return list;
}
UniversalBleCharacteristic UniversalBleCharacteristic::FromEncodableList(const EncodableList& list) {
UniversalBleCharacteristic decoded(
std::get<std::string>(list[0]),
std::get<EncodableList>(list[1]),
std::get<EncodableList>(list[2]));
return decoded;
}
// UniversalBleDescriptor
UniversalBleDescriptor::UniversalBleDescriptor(const std::string& uuid)
: uuid_(uuid) {}
const std::string& UniversalBleDescriptor::uuid() const {
return uuid_;
}
void UniversalBleDescriptor::set_uuid(std::string_view value_arg) {
uuid_ = value_arg;
}
EncodableList UniversalBleDescriptor::ToEncodableList() const {
EncodableList list;
list.reserve(1);
list.push_back(EncodableValue(uuid_));
return list;
}
UniversalBleDescriptor UniversalBleDescriptor::FromEncodableList(const EncodableList& list) {
UniversalBleDescriptor decoded(
std::get<std::string>(list[0]));
return decoded;
}
// AndroidOptions
AndroidOptions::AndroidOptions() {}
AndroidOptions::AndroidOptions(
const bool* request_location_permission,
const AndroidScanMode* scan_mode,
const int64_t* report_delay_millis)
: request_location_permission_(request_location_permission ? std::optional<bool>(*request_location_permission) : std::nullopt),
scan_mode_(scan_mode ? std::optional<AndroidScanMode>(*scan_mode) : std::nullopt),
report_delay_millis_(report_delay_millis ? std::optional<int64_t>(*report_delay_millis) : std::nullopt) {}
const bool* AndroidOptions::request_location_permission() const {
return request_location_permission_ ? &(*request_location_permission_) : nullptr;
}
void AndroidOptions::set_request_location_permission(const bool* value_arg) {
request_location_permission_ = value_arg ? std::optional<bool>(*value_arg) : std::nullopt;
}
void AndroidOptions::set_request_location_permission(bool value_arg) {
request_location_permission_ = value_arg;
}
const AndroidScanMode* AndroidOptions::scan_mode() const {
return scan_mode_ ? &(*scan_mode_) : nullptr;
}
void AndroidOptions::set_scan_mode(const AndroidScanMode* value_arg) {
scan_mode_ = value_arg ? std::optional<AndroidScanMode>(*value_arg) : std::nullopt;
}
void AndroidOptions::set_scan_mode(const AndroidScanMode& value_arg) {
scan_mode_ = value_arg;
}
const int64_t* AndroidOptions::report_delay_millis() const {
return report_delay_millis_ ? &(*report_delay_millis_) : nullptr;
}
void AndroidOptions::set_report_delay_millis(const int64_t* value_arg) {
report_delay_millis_ = value_arg ? std::optional<int64_t>(*value_arg) : std::nullopt;
}
void AndroidOptions::set_report_delay_millis(int64_t value_arg) {
report_delay_millis_ = value_arg;
}
EncodableList AndroidOptions::ToEncodableList() const {
EncodableList list;
list.reserve(3);
list.push_back(request_location_permission_ ? EncodableValue(*request_location_permission_) : EncodableValue());
list.push_back(scan_mode_ ? CustomEncodableValue(*scan_mode_) : EncodableValue());
list.push_back(report_delay_millis_ ? EncodableValue(*report_delay_millis_) : EncodableValue());
return list;
}
AndroidOptions AndroidOptions::FromEncodableList(const EncodableList& list) {
AndroidOptions decoded;
auto& encodable_request_location_permission = list[0];
if (!encodable_request_location_permission.IsNull()) {
decoded.set_request_location_permission(std::get<bool>(encodable_request_location_permission));
}
auto& encodable_scan_mode = list[1];
if (!encodable_scan_mode.IsNull()) {
decoded.set_scan_mode(std::any_cast<const AndroidScanMode&>(std::get<CustomEncodableValue>(encodable_scan_mode)));
}
auto& encodable_report_delay_millis = list[2];
if (!encodable_report_delay_millis.IsNull()) {
decoded.set_report_delay_millis(std::get<int64_t>(encodable_report_delay_millis));
}
return decoded;
}
// UniversalScanConfig
UniversalScanConfig::UniversalScanConfig() {}
UniversalScanConfig::UniversalScanConfig(const AndroidOptions* android)
: android_(android ? std::make_unique<AndroidOptions>(*android) : nullptr) {}
UniversalScanConfig::UniversalScanConfig(const UniversalScanConfig& other)
: android_(other.android_ ? std::make_unique<AndroidOptions>(*other.android_) : nullptr) {}
UniversalScanConfig& UniversalScanConfig::operator=(const UniversalScanConfig& other) {
android_ = other.android_ ? std::make_unique<AndroidOptions>(*other.android_) : nullptr;
return *this;
}
const AndroidOptions* UniversalScanConfig::android() const {
return android_.get();
}
void UniversalScanConfig::set_android(const AndroidOptions* value_arg) {
android_ = value_arg ? std::make_unique<AndroidOptions>(*value_arg) : nullptr;
}
void UniversalScanConfig::set_android(const AndroidOptions& value_arg) {
android_ = std::make_unique<AndroidOptions>(value_arg);
}
EncodableList UniversalScanConfig::ToEncodableList() const {
EncodableList list;
list.reserve(1);
list.push_back(android_ ? CustomEncodableValue(*android_) : EncodableValue());
return list;
}
UniversalScanConfig UniversalScanConfig::FromEncodableList(const EncodableList& list) {
UniversalScanConfig decoded;
auto& encodable_android = list[0];
if (!encodable_android.IsNull()) {
decoded.set_android(std::any_cast<const AndroidOptions&>(std::get<CustomEncodableValue>(encodable_android)));
}
return decoded;
}
// UniversalScanFilter
UniversalScanFilter::UniversalScanFilter(
const EncodableList& with_services,
const EncodableList& with_name_prefix,
const EncodableList& with_manufacturer_data)
: with_services_(with_services),
with_name_prefix_(with_name_prefix),
with_manufacturer_data_(with_manufacturer_data) {}
const EncodableList& UniversalScanFilter::with_services() const {
return with_services_;
}
void UniversalScanFilter::set_with_services(const EncodableList& value_arg) {
with_services_ = value_arg;
}
const EncodableList& UniversalScanFilter::with_name_prefix() const {
return with_name_prefix_;
}
void UniversalScanFilter::set_with_name_prefix(const EncodableList& value_arg) {
with_name_prefix_ = value_arg;
}
const EncodableList& UniversalScanFilter::with_manufacturer_data() const {
return with_manufacturer_data_;
}
void UniversalScanFilter::set_with_manufacturer_data(const EncodableList& value_arg) {
with_manufacturer_data_ = value_arg;
}
EncodableList UniversalScanFilter::ToEncodableList() const {
EncodableList list;
list.reserve(3);
list.push_back(EncodableValue(with_services_));
list.push_back(EncodableValue(with_name_prefix_));
list.push_back(EncodableValue(with_manufacturer_data_));
return list;
}
UniversalScanFilter UniversalScanFilter::FromEncodableList(const EncodableList& list) {
UniversalScanFilter decoded(
std::get<EncodableList>(list[0]),
std::get<EncodableList>(list[1]),
std::get<EncodableList>(list[2]));
return decoded;
}
// UniversalManufacturerDataFilter
UniversalManufacturerDataFilter::UniversalManufacturerDataFilter(int64_t company_identifier)
: company_identifier_(company_identifier) {}
UniversalManufacturerDataFilter::UniversalManufacturerDataFilter(
int64_t company_identifier,
const std::vector<uint8_t>* data,
const std::vector<uint8_t>* mask)
: company_identifier_(company_identifier),
data_(data ? std::optional<std::vector<uint8_t>>(*data) : std::nullopt),
mask_(mask ? std::optional<std::vector<uint8_t>>(*mask) : std::nullopt) {}
int64_t UniversalManufacturerDataFilter::company_identifier() const {
return company_identifier_;
}
void UniversalManufacturerDataFilter::set_company_identifier(int64_t value_arg) {
company_identifier_ = value_arg;
}
const std::vector<uint8_t>* UniversalManufacturerDataFilter::data() const {
return data_ ? &(*data_) : nullptr;
}
void UniversalManufacturerDataFilter::set_data(const std::vector<uint8_t>* value_arg) {
data_ = value_arg ? std::optional<std::vector<uint8_t>>(*value_arg) : std::nullopt;
}
void UniversalManufacturerDataFilter::set_data(const std::vector<uint8_t>& value_arg) {
data_ = value_arg;
}
const std::vector<uint8_t>* UniversalManufacturerDataFilter::mask() const {
return mask_ ? &(*mask_) : nullptr;
}
void UniversalManufacturerDataFilter::set_mask(const std::vector<uint8_t>* value_arg) {
mask_ = value_arg ? std::optional<std::vector<uint8_t>>(*value_arg) : std::nullopt;
}
void UniversalManufacturerDataFilter::set_mask(const std::vector<uint8_t>& value_arg) {
mask_ = value_arg;
}
EncodableList UniversalManufacturerDataFilter::ToEncodableList() const {
EncodableList list;
list.reserve(3);
list.push_back(EncodableValue(company_identifier_));
list.push_back(data_ ? EncodableValue(*data_) : EncodableValue());
list.push_back(mask_ ? EncodableValue(*mask_) : EncodableValue());
return list;
}
UniversalManufacturerDataFilter UniversalManufacturerDataFilter::FromEncodableList(const EncodableList& list) {
UniversalManufacturerDataFilter decoded(
std::get<int64_t>(list[0]));
auto& encodable_data = list[1];
if (!encodable_data.IsNull()) {
decoded.set_data(std::get<std::vector<uint8_t>>(encodable_data));
}
auto& encodable_mask = list[2];
if (!encodable_mask.IsNull()) {
decoded.set_mask(std::get<std::vector<uint8_t>>(encodable_mask));
}
return decoded;
}
// UniversalManufacturerData
UniversalManufacturerData::UniversalManufacturerData(
int64_t company_identifier,
const std::vector<uint8_t>& data)
: company_identifier_(company_identifier),
data_(data) {}
int64_t UniversalManufacturerData::company_identifier() const {
return company_identifier_;
}
void UniversalManufacturerData::set_company_identifier(int64_t value_arg) {
company_identifier_ = value_arg;
}
const std::vector<uint8_t>& UniversalManufacturerData::data() const {
return data_;
}
void UniversalManufacturerData::set_data(const std::vector<uint8_t>& value_arg) {
data_ = value_arg;
}
EncodableList UniversalManufacturerData::ToEncodableList() const {
EncodableList list;
list.reserve(2);
list.push_back(EncodableValue(company_identifier_));
list.push_back(EncodableValue(data_));
return list;
}
UniversalManufacturerData UniversalManufacturerData::FromEncodableList(const EncodableList& list) {
UniversalManufacturerData decoded(
std::get<int64_t>(list[0]),
std::get<std::vector<uint8_t>>(list[1]));
return decoded;
}
PigeonInternalCodecSerializer::PigeonInternalCodecSerializer() {}
EncodableValue PigeonInternalCodecSerializer::ReadValueOfType(
uint8_t type,
flutter::ByteStreamReader* stream) const {
switch (type) {
case 129: {
const auto& encodable_enum_arg = ReadValue(stream);
const int64_t enum_arg_value = encodable_enum_arg.IsNull() ? 0 : encodable_enum_arg.LongValue();
return encodable_enum_arg.IsNull() ? EncodableValue() : CustomEncodableValue(static_cast<UniversalBleLogLevel>(enum_arg_value));
}
case 130: {
const auto& encodable_enum_arg = ReadValue(stream);
const int64_t enum_arg_value = encodable_enum_arg.IsNull() ? 0 : encodable_enum_arg.LongValue();
return encodable_enum_arg.IsNull() ? EncodableValue() : CustomEncodableValue(static_cast<AndroidScanMode>(enum_arg_value));
}
case 131: {
const auto& encodable_enum_arg = ReadValue(stream);
const int64_t enum_arg_value = encodable_enum_arg.IsNull() ? 0 : encodable_enum_arg.LongValue();
return encodable_enum_arg.IsNull() ? EncodableValue() : CustomEncodableValue(static_cast<UniversalBleErrorCode>(enum_arg_value));
}
case 132: {
return CustomEncodableValue(UniversalBleScanResult::FromEncodableList(std::get<EncodableList>(ReadValue(stream))));
}
case 133: {
return CustomEncodableValue(UniversalBleService::FromEncodableList(std::get<EncodableList>(ReadValue(stream))));
}
case 134: {
return CustomEncodableValue(UniversalBleCharacteristic::FromEncodableList(std::get<EncodableList>(ReadValue(stream))));
}
case 135: {
return CustomEncodableValue(UniversalBleDescriptor::FromEncodableList(std::get<EncodableList>(ReadValue(stream))));
}
case 136: {
return CustomEncodableValue(AndroidOptions::FromEncodableList(std::get<EncodableList>(ReadValue(stream))));
}
case 137: {
return CustomEncodableValue(UniversalScanConfig::FromEncodableList(std::get<EncodableList>(ReadValue(stream))));
}
case 138: {
return CustomEncodableValue(UniversalScanFilter::FromEncodableList(std::get<EncodableList>(ReadValue(stream))));
}
case 139: {
return CustomEncodableValue(UniversalManufacturerDataFilter::FromEncodableList(std::get<EncodableList>(ReadValue(stream))));
}
case 140: {
return CustomEncodableValue(UniversalManufacturerData::FromEncodableList(std::get<EncodableList>(ReadValue(stream))));
}
default:
return flutter::StandardCodecSerializer::ReadValueOfType(type, stream);
}
}
void PigeonInternalCodecSerializer::WriteValue(
const EncodableValue& value,
flutter::ByteStreamWriter* stream) const {
if (const CustomEncodableValue* custom_value = std::get_if<CustomEncodableValue>(&value)) {
if (custom_value->type() == typeid(UniversalBleLogLevel)) {
stream->WriteByte(129);
WriteValue(EncodableValue(static_cast<int>(std::any_cast<UniversalBleLogLevel>(*custom_value))), stream);
return;
}
if (custom_value->type() == typeid(AndroidScanMode)) {
stream->WriteByte(130);
WriteValue(EncodableValue(static_cast<int>(std::any_cast<AndroidScanMode>(*custom_value))), stream);
return;
}
if (custom_value->type() == typeid(UniversalBleErrorCode)) {
stream->WriteByte(131);
WriteValue(EncodableValue(static_cast<int>(std::any_cast<UniversalBleErrorCode>(*custom_value))), stream);
return;
}
if (custom_value->type() == typeid(UniversalBleScanResult)) {
stream->WriteByte(132);
WriteValue(EncodableValue(std::any_cast<UniversalBleScanResult>(*custom_value).ToEncodableList()), stream);
return;
}
if (custom_value->type() == typeid(UniversalBleService)) {
stream->WriteByte(133);
WriteValue(EncodableValue(std::any_cast<UniversalBleService>(*custom_value).ToEncodableList()), stream);
return;
}
if (custom_value->type() == typeid(UniversalBleCharacteristic)) {
stream->WriteByte(134);
WriteValue(EncodableValue(std::any_cast<UniversalBleCharacteristic>(*custom_value).ToEncodableList()), stream);
return;
}
if (custom_value->type() == typeid(UniversalBleDescriptor)) {
stream->WriteByte(135);
WriteValue(EncodableValue(std::any_cast<UniversalBleDescriptor>(*custom_value).ToEncodableList()), stream);
return;
}
if (custom_value->type() == typeid(AndroidOptions)) {
stream->WriteByte(136);
WriteValue(EncodableValue(std::any_cast<AndroidOptions>(*custom_value).ToEncodableList()), stream);
return;
}
if (custom_value->type() == typeid(UniversalScanConfig)) {
stream->WriteByte(137);
WriteValue(EncodableValue(std::any_cast<UniversalScanConfig>(*custom_value).ToEncodableList()), stream);
return;
}
if (custom_value->type() == typeid(UniversalScanFilter)) {
stream->WriteByte(138);
WriteValue(EncodableValue(std::any_cast<UniversalScanFilter>(*custom_value).ToEncodableList()), stream);
return;
}
if (custom_value->type() == typeid(UniversalManufacturerDataFilter)) {
stream->WriteByte(139);
WriteValue(EncodableValue(std::any_cast<UniversalManufacturerDataFilter>(*custom_value).ToEncodableList()), stream);
return;
}
if (custom_value->type() == typeid(UniversalManufacturerData)) {
stream->WriteByte(140);
WriteValue(EncodableValue(std::any_cast<UniversalManufacturerData>(*custom_value).ToEncodableList()), stream);
return;
}
}
flutter::StandardCodecSerializer::WriteValue(value, stream);
}
/// The codec used by UniversalBlePlatformChannel.
const flutter::StandardMessageCodec& UniversalBlePlatformChannel::GetCodec() {
return flutter::StandardMessageCodec::GetInstance(&PigeonInternalCodecSerializer::GetInstance());
}
// Sets up an instance of `UniversalBlePlatformChannel` to handle messages through the `binary_messenger`.
void UniversalBlePlatformChannel::SetUp(
flutter::BinaryMessenger* binary_messenger,
UniversalBlePlatformChannel* api) {
UniversalBlePlatformChannel::SetUp(binary_messenger, api, "");
}
void UniversalBlePlatformChannel::SetUp(
flutter::BinaryMessenger* binary_messenger,
UniversalBlePlatformChannel* api,
const std::string& message_channel_suffix) {
const std::string prepended_suffix = message_channel_suffix.length() > 0 ? std::string(".") + message_channel_suffix : "";
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getBluetoothAvailabilityState" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
api->GetBluetoothAvailabilityState([reply](ErrorOr<int64_t>&& output) {
if (output.has_error()) {
reply(WrapError(output.error()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue(std::move(output).TakeValue()));
reply(EncodableValue(std::move(wrapped)));
});
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.hasPermissions" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
const auto& args = std::get<EncodableList>(message);
const auto& encodable_with_android_fine_location_arg = args.at(0);
if (encodable_with_android_fine_location_arg.IsNull()) {
reply(WrapError("with_android_fine_location_arg unexpectedly null."));
return;
}
const auto& with_android_fine_location_arg = std::get<bool>(encodable_with_android_fine_location_arg);
ErrorOr<bool> output = api->HasPermissions(with_android_fine_location_arg);
if (output.has_error()) {
reply(WrapError(output.error()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue(std::move(output).TakeValue()));
reply(EncodableValue(std::move(wrapped)));
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.requestPermissions" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
const auto& args = std::get<EncodableList>(message);
const auto& encodable_with_android_fine_location_arg = args.at(0);
if (encodable_with_android_fine_location_arg.IsNull()) {
reply(WrapError("with_android_fine_location_arg unexpectedly null."));
return;
}
const auto& with_android_fine_location_arg = std::get<bool>(encodable_with_android_fine_location_arg);
api->RequestPermissions(with_android_fine_location_arg, [reply](std::optional<FlutterError>&& output) {
if (output.has_value()) {
reply(WrapError(output.value()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue());
reply(EncodableValue(std::move(wrapped)));
});
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.enableBluetooth" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
api->EnableBluetooth([reply](ErrorOr<bool>&& output) {
if (output.has_error()) {
reply(WrapError(output.error()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue(std::move(output).TakeValue()));
reply(EncodableValue(std::move(wrapped)));
});
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disableBluetooth" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
api->DisableBluetooth([reply](ErrorOr<bool>&& output) {
if (output.has_error()) {
reply(WrapError(output.error()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue(std::move(output).TakeValue()));
reply(EncodableValue(std::move(wrapped)));
});
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.startScan" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
const auto& args = std::get<EncodableList>(message);
const auto& encodable_filter_arg = args.at(0);
const auto* filter_arg = encodable_filter_arg.IsNull() ? nullptr : &(std::any_cast<const UniversalScanFilter&>(std::get<CustomEncodableValue>(encodable_filter_arg)));
const auto& encodable_config_arg = args.at(1);
const auto* config_arg = encodable_config_arg.IsNull() ? nullptr : &(std::any_cast<const UniversalScanConfig&>(std::get<CustomEncodableValue>(encodable_config_arg)));
std::optional<FlutterError> output = api->StartScan(filter_arg, config_arg);
if (output.has_value()) {
reply(WrapError(output.value()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue());
reply(EncodableValue(std::move(wrapped)));
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.stopScan" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
std::optional<FlutterError> output = api->StopScan();
if (output.has_value()) {
reply(WrapError(output.value()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue());
reply(EncodableValue(std::move(wrapped)));
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.isScanning" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
ErrorOr<bool> output = api->IsScanning();
if (output.has_error()) {
reply(WrapError(output.error()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue(std::move(output).TakeValue()));
reply(EncodableValue(std::move(wrapped)));
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.connect" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
const auto& args = std::get<EncodableList>(message);
const auto& encodable_device_id_arg = args.at(0);
if (encodable_device_id_arg.IsNull()) {
reply(WrapError("device_id_arg unexpectedly null."));
return;
}
const auto& device_id_arg = std::get<std::string>(encodable_device_id_arg);
const auto& encodable_auto_connect_arg = args.at(1);
const auto* auto_connect_arg = std::get_if<bool>(&encodable_auto_connect_arg);
std::optional<FlutterError> output = api->Connect(device_id_arg, auto_connect_arg);
if (output.has_value()) {
reply(WrapError(output.value()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue());
reply(EncodableValue(std::move(wrapped)));
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disconnect" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
const auto& args = std::get<EncodableList>(message);
const auto& encodable_device_id_arg = args.at(0);
if (encodable_device_id_arg.IsNull()) {
reply(WrapError("device_id_arg unexpectedly null."));
return;
}
const auto& device_id_arg = std::get<std::string>(encodable_device_id_arg);
std::optional<FlutterError> output = api->Disconnect(device_id_arg);
if (output.has_value()) {
reply(WrapError(output.value()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue());
reply(EncodableValue(std::move(wrapped)));
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.setNotifiable" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
const auto& args = std::get<EncodableList>(message);
const auto& encodable_device_id_arg = args.at(0);
if (encodable_device_id_arg.IsNull()) {
reply(WrapError("device_id_arg unexpectedly null."));
return;
}
const auto& device_id_arg = std::get<std::string>(encodable_device_id_arg);
const auto& encodable_service_arg = args.at(1);
if (encodable_service_arg.IsNull()) {
reply(WrapError("service_arg unexpectedly null."));
return;
}
const auto& service_arg = std::get<std::string>(encodable_service_arg);
const auto& encodable_characteristic_arg = args.at(2);
if (encodable_characteristic_arg.IsNull()) {
reply(WrapError("characteristic_arg unexpectedly null."));
return;
}
const auto& characteristic_arg = std::get<std::string>(encodable_characteristic_arg);
const auto& encodable_ble_input_property_arg = args.at(3);
if (encodable_ble_input_property_arg.IsNull()) {
reply(WrapError("ble_input_property_arg unexpectedly null."));
return;
}
const int64_t ble_input_property_arg = encodable_ble_input_property_arg.LongValue();
api->SetNotifiable(device_id_arg, service_arg, characteristic_arg, ble_input_property_arg, [reply](std::optional<FlutterError>&& output) {
if (output.has_value()) {
reply(WrapError(output.value()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue());
reply(EncodableValue(std::move(wrapped)));
});
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.discoverServices" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
const auto& args = std::get<EncodableList>(message);
const auto& encodable_device_id_arg = args.at(0);
if (encodable_device_id_arg.IsNull()) {
reply(WrapError("device_id_arg unexpectedly null."));
return;
}
const auto& device_id_arg = std::get<std::string>(encodable_device_id_arg);
const auto& encodable_with_descriptors_arg = args.at(1);
if (encodable_with_descriptors_arg.IsNull()) {
reply(WrapError("with_descriptors_arg unexpectedly null."));
return;
}
const auto& with_descriptors_arg = std::get<bool>(encodable_with_descriptors_arg);
api->DiscoverServices(device_id_arg, with_descriptors_arg, [reply](ErrorOr<EncodableList>&& output) {
if (output.has_error()) {
reply(WrapError(output.error()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue(std::move(output).TakeValue()));
reply(EncodableValue(std::move(wrapped)));
});
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.readValue" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
const auto& args = std::get<EncodableList>(message);
const auto& encodable_device_id_arg = args.at(0);
if (encodable_device_id_arg.IsNull()) {
reply(WrapError("device_id_arg unexpectedly null."));
return;
}
const auto& device_id_arg = std::get<std::string>(encodable_device_id_arg);
const auto& encodable_service_arg = args.at(1);
if (encodable_service_arg.IsNull()) {
reply(WrapError("service_arg unexpectedly null."));
return;
}
const auto& service_arg = std::get<std::string>(encodable_service_arg);
const auto& encodable_characteristic_arg = args.at(2);
if (encodable_characteristic_arg.IsNull()) {
reply(WrapError("characteristic_arg unexpectedly null."));
return;
}
const auto& characteristic_arg = std::get<std::string>(encodable_characteristic_arg);
api->ReadValue(device_id_arg, service_arg, characteristic_arg, [reply](ErrorOr<std::vector<uint8_t>>&& output) {
if (output.has_error()) {
reply(WrapError(output.error()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue(std::move(output).TakeValue()));
reply(EncodableValue(std::move(wrapped)));
});
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.requestMtu" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
const auto& args = std::get<EncodableList>(message);
const auto& encodable_device_id_arg = args.at(0);
if (encodable_device_id_arg.IsNull()) {
reply(WrapError("device_id_arg unexpectedly null."));
return;
}
const auto& device_id_arg = std::get<std::string>(encodable_device_id_arg);
const auto& encodable_expected_mtu_arg = args.at(1);
if (encodable_expected_mtu_arg.IsNull()) {
reply(WrapError("expected_mtu_arg unexpectedly null."));
return;
}
const int64_t expected_mtu_arg = encodable_expected_mtu_arg.LongValue();
api->RequestMtu(device_id_arg, expected_mtu_arg, [reply](ErrorOr<int64_t>&& output) {
if (output.has_error()) {
reply(WrapError(output.error()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue(std::move(output).TakeValue()));
reply(EncodableValue(std::move(wrapped)));
});
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.writeValue" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
const auto& args = std::get<EncodableList>(message);
const auto& encodable_device_id_arg = args.at(0);
if (encodable_device_id_arg.IsNull()) {
reply(WrapError("device_id_arg unexpectedly null."));
return;
}
const auto& device_id_arg = std::get<std::string>(encodable_device_id_arg);
const auto& encodable_service_arg = args.at(1);
if (encodable_service_arg.IsNull()) {
reply(WrapError("service_arg unexpectedly null."));
return;
}
const auto& service_arg = std::get<std::string>(encodable_service_arg);
const auto& encodable_characteristic_arg = args.at(2);
if (encodable_characteristic_arg.IsNull()) {
reply(WrapError("characteristic_arg unexpectedly null."));
return;
}
const auto& characteristic_arg = std::get<std::string>(encodable_characteristic_arg);
const auto& encodable_value_arg = args.at(3);
if (encodable_value_arg.IsNull()) {
reply(WrapError("value_arg unexpectedly null."));
return;
}
const auto& value_arg = std::get<std::vector<uint8_t>>(encodable_value_arg);
const auto& encodable_ble_output_property_arg = args.at(4);
if (encodable_ble_output_property_arg.IsNull()) {
reply(WrapError("ble_output_property_arg unexpectedly null."));
return;
}
const int64_t ble_output_property_arg = encodable_ble_output_property_arg.LongValue();
api->WriteValue(device_id_arg, service_arg, characteristic_arg, value_arg, ble_output_property_arg, [reply](std::optional<FlutterError>&& output) {
if (output.has_value()) {
reply(WrapError(output.value()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue());
reply(EncodableValue(std::move(wrapped)));
});
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.isPaired" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
const auto& args = std::get<EncodableList>(message);
const auto& encodable_device_id_arg = args.at(0);
if (encodable_device_id_arg.IsNull()) {
reply(WrapError("device_id_arg unexpectedly null."));
return;
}
const auto& device_id_arg = std::get<std::string>(encodable_device_id_arg);
api->IsPaired(device_id_arg, [reply](ErrorOr<bool>&& output) {
if (output.has_error()) {
reply(WrapError(output.error()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue(std::move(output).TakeValue()));
reply(EncodableValue(std::move(wrapped)));
});
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.pair" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
const auto& args = std::get<EncodableList>(message);
const auto& encodable_device_id_arg = args.at(0);
if (encodable_device_id_arg.IsNull()) {
reply(WrapError("device_id_arg unexpectedly null."));
return;
}
const auto& device_id_arg = std::get<std::string>(encodable_device_id_arg);
api->Pair(device_id_arg, [reply](ErrorOr<bool>&& output) {
if (output.has_error()) {
reply(WrapError(output.error()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue(std::move(output).TakeValue()));
reply(EncodableValue(std::move(wrapped)));
});
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.unPair" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
const auto& args = std::get<EncodableList>(message);
const auto& encodable_device_id_arg = args.at(0);
if (encodable_device_id_arg.IsNull()) {
reply(WrapError("device_id_arg unexpectedly null."));
return;
}
const auto& device_id_arg = std::get<std::string>(encodable_device_id_arg);
std::optional<FlutterError> output = api->UnPair(device_id_arg);
if (output.has_value()) {
reply(WrapError(output.value()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue());
reply(EncodableValue(std::move(wrapped)));
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getSystemDevices" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
const auto& args = std::get<EncodableList>(message);
const auto& encodable_with_services_arg = args.at(0);
if (encodable_with_services_arg.IsNull()) {
reply(WrapError("with_services_arg unexpectedly null."));
return;
}
const auto& with_services_arg = std::get<EncodableList>(encodable_with_services_arg);
api->GetSystemDevices(with_services_arg, [reply](ErrorOr<EncodableList>&& output) {
if (output.has_error()) {
reply(WrapError(output.error()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue(std::move(output).TakeValue()));
reply(EncodableValue(std::move(wrapped)));
});
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getConnectionState" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
const auto& args = std::get<EncodableList>(message);
const auto& encodable_device_id_arg = args.at(0);
if (encodable_device_id_arg.IsNull()) {
reply(WrapError("device_id_arg unexpectedly null."));
return;
}
const auto& device_id_arg = std::get<std::string>(encodable_device_id_arg);
ErrorOr<int64_t> output = api->GetConnectionState(device_id_arg);
if (output.has_error()) {
reply(WrapError(output.error()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue(std::move(output).TakeValue()));
reply(EncodableValue(std::move(wrapped)));
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.readRssi" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
const auto& args = std::get<EncodableList>(message);
const auto& encodable_device_id_arg = args.at(0);
if (encodable_device_id_arg.IsNull()) {
reply(WrapError("device_id_arg unexpectedly null."));
return;
}
const auto& device_id_arg = std::get<std::string>(encodable_device_id_arg);
api->ReadRssi(device_id_arg, [reply](ErrorOr<int64_t>&& output) {
if (output.has_error()) {
reply(WrapError(output.error()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue(std::move(output).TakeValue()));
reply(EncodableValue(std::move(wrapped)));
});
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
{
BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.setLogLevel" + prepended_suffix, &GetCodec());
if (api != nullptr) {
channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply<EncodableValue>& reply) {
try {
const auto& args = std::get<EncodableList>(message);
const auto& encodable_log_level_arg = args.at(0);
if (encodable_log_level_arg.IsNull()) {
reply(WrapError("log_level_arg unexpectedly null."));
return;
}
const auto& log_level_arg = std::any_cast<const UniversalBleLogLevel&>(std::get<CustomEncodableValue>(encodable_log_level_arg));
std::optional<FlutterError> output = api->SetLogLevel(log_level_arg);
if (output.has_value()) {
reply(WrapError(output.value()));
return;
}
EncodableList wrapped;
wrapped.push_back(EncodableValue());
reply(EncodableValue(std::move(wrapped)));
} catch (const std::exception& exception) {
reply(WrapError(exception.what()));
}
});
} else {
channel.SetMessageHandler(nullptr);
}
}
}
EncodableValue UniversalBlePlatformChannel::WrapError(std::string_view error_message) {
return EncodableValue(EncodableList{
EncodableValue(std::string(error_message)),
EncodableValue("Error"),
EncodableValue()
});
}
EncodableValue UniversalBlePlatformChannel::WrapError(const FlutterError& error) {
return EncodableValue(EncodableList{
EncodableValue(error.code()),
EncodableValue(error.message()),
error.details()
});
}
// Generated class from Pigeon that represents Flutter messages that can be called from C++.
UniversalBleCallbackChannel::UniversalBleCallbackChannel(flutter::BinaryMessenger* binary_messenger)
: binary_messenger_(binary_messenger),
message_channel_suffix_("") {}
UniversalBleCallbackChannel::UniversalBleCallbackChannel(
flutter::BinaryMessenger* binary_messenger,
const std::string& message_channel_suffix)
: binary_messenger_(binary_messenger),
message_channel_suffix_(message_channel_suffix.length() > 0 ? std::string(".") + message_channel_suffix : "") {}
const flutter::StandardMessageCodec& UniversalBleCallbackChannel::GetCodec() {
return flutter::StandardMessageCodec::GetInstance(&PigeonInternalCodecSerializer::GetInstance());
}
void UniversalBleCallbackChannel::OnAvailabilityChanged(
int64_t state_arg,
std::function<void(void)>&& on_success,
std::function<void(const FlutterError&)>&& on_error) {
const std::string channel_name = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onAvailabilityChanged" + message_channel_suffix_;
BasicMessageChannel<> channel(binary_messenger_, channel_name, &GetCodec());
EncodableValue encoded_api_arguments = EncodableValue(EncodableList{
EncodableValue(state_arg),
});
channel.Send(encoded_api_arguments, [channel_name, on_success = std::move(on_success), on_error = std::move(on_error)](const uint8_t* reply, size_t reply_size) {
std::unique_ptr<EncodableValue> response = GetCodec().DecodeMessage(reply, reply_size);
const auto& encodable_return_value = *response;
const auto* list_return_value = std::get_if<EncodableList>(&encodable_return_value);
if (list_return_value) {
if (list_return_value->size() > 1) {
on_error(FlutterError(std::get<std::string>(list_return_value->at(0)), std::get<std::string>(list_return_value->at(1)), list_return_value->at(2)));
} else {
on_success();
}
} else {
on_error(CreateConnectionError(channel_name));
}
});
}
void UniversalBleCallbackChannel::OnPairStateChange(
const std::string& device_id_arg,
bool is_paired_arg,
const std::string* error_arg,
std::function<void(void)>&& on_success,
std::function<void(const FlutterError&)>&& on_error) {
const std::string channel_name = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onPairStateChange" + message_channel_suffix_;
BasicMessageChannel<> channel(binary_messenger_, channel_name, &GetCodec());
EncodableValue encoded_api_arguments = EncodableValue(EncodableList{
EncodableValue(device_id_arg),
EncodableValue(is_paired_arg),
error_arg ? EncodableValue(*error_arg) : EncodableValue(),
});
channel.Send(encoded_api_arguments, [channel_name, on_success = std::move(on_success), on_error = std::move(on_error)](const uint8_t* reply, size_t reply_size) {
std::unique_ptr<EncodableValue> response = GetCodec().DecodeMessage(reply, reply_size);
const auto& encodable_return_value = *response;
const auto* list_return_value = std::get_if<EncodableList>(&encodable_return_value);
if (list_return_value) {
if (list_return_value->size() > 1) {
on_error(FlutterError(std::get<std::string>(list_return_value->at(0)), std::get<std::string>(list_return_value->at(1)), list_return_value->at(2)));
} else {
on_success();
}
} else {
on_error(CreateConnectionError(channel_name));
}
});
}
void UniversalBleCallbackChannel::OnScanResult(
const UniversalBleScanResult& result_arg,
std::function<void(void)>&& on_success,
std::function<void(const FlutterError&)>&& on_error) {
const std::string channel_name = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onScanResult" + message_channel_suffix_;
BasicMessageChannel<> channel(binary_messenger_, channel_name, &GetCodec());
EncodableValue encoded_api_arguments = EncodableValue(EncodableList{
CustomEncodableValue(result_arg),
});
channel.Send(encoded_api_arguments, [channel_name, on_success = std::move(on_success), on_error = std::move(on_error)](const uint8_t* reply, size_t reply_size) {
std::unique_ptr<EncodableValue> response = GetCodec().DecodeMessage(reply, reply_size);
const auto& encodable_return_value = *response;
const auto* list_return_value = std::get_if<EncodableList>(&encodable_return_value);
if (list_return_value) {
if (list_return_value->size() > 1) {
on_error(FlutterError(std::get<std::string>(list_return_value->at(0)), std::get<std::string>(list_return_value->at(1)), list_return_value->at(2)));
} else {
on_success();
}
} else {
on_error(CreateConnectionError(channel_name));
}
});
}
void UniversalBleCallbackChannel::OnValueChanged(
const std::string& device_id_arg,
const std::string& characteristic_id_arg,
const std::vector<uint8_t>& value_arg,
const int64_t* timestamp_arg,
std::function<void(void)>&& on_success,
std::function<void(const FlutterError&)>&& on_error) {
const std::string channel_name = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onValueChanged" + message_channel_suffix_;
BasicMessageChannel<> channel(binary_messenger_, channel_name, &GetCodec());
EncodableValue encoded_api_arguments = EncodableValue(EncodableList{
EncodableValue(device_id_arg),
EncodableValue(characteristic_id_arg),
EncodableValue(value_arg),
timestamp_arg ? EncodableValue(*timestamp_arg) : EncodableValue(),
});
channel.Send(encoded_api_arguments, [channel_name, on_success = std::move(on_success), on_error = std::move(on_error)](const uint8_t* reply, size_t reply_size) {
std::unique_ptr<EncodableValue> response = GetCodec().DecodeMessage(reply, reply_size);
const auto& encodable_return_value = *response;
const auto* list_return_value = std::get_if<EncodableList>(&encodable_return_value);
if (list_return_value) {
if (list_return_value->size() > 1) {
on_error(FlutterError(std::get<std::string>(list_return_value->at(0)), std::get<std::string>(list_return_value->at(1)), list_return_value->at(2)));
} else {
on_success();
}
} else {
on_error(CreateConnectionError(channel_name));
}
});
}
void UniversalBleCallbackChannel::OnConnectionChanged(
const std::string& device_id_arg,
bool connected_arg,
const std::string* error_arg,
std::function<void(void)>&& on_success,
std::function<void(const FlutterError&)>&& on_error) {
const std::string channel_name = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onConnectionChanged" + message_channel_suffix_;
BasicMessageChannel<> channel(binary_messenger_, channel_name, &GetCodec());
EncodableValue encoded_api_arguments = EncodableValue(EncodableList{
EncodableValue(device_id_arg),
EncodableValue(connected_arg),
error_arg ? EncodableValue(*error_arg) : EncodableValue(),
});
channel.Send(encoded_api_arguments, [channel_name, on_success = std::move(on_success), on_error = std::move(on_error)](const uint8_t* reply, size_t reply_size) {
std::unique_ptr<EncodableValue> response = GetCodec().DecodeMessage(reply, reply_size);
const auto& encodable_return_value = *response;
const auto* list_return_value = std::get_if<EncodableList>(&encodable_return_value);
if (list_return_value) {
if (list_return_value->size() > 1) {
on_error(FlutterError(std::get<std::string>(list_return_value->at(0)), std::get<std::string>(list_return_value->at(1)), list_return_value->at(2)));
} else {
on_success();
}
} else {
on_error(CreateConnectionError(channel_name));
}
});
}
} // namespace universal_ble