5#ifndef ASTARTE_MQTT_PAIRING_H
6#define ASTARTE_MQTT_PAIRING_H
29using namespace std::chrono_literals;
48 static auto create(std::string_view realm, std::string_view device_id,
49 std::string_view astarte_base_url) -> astarte_tl::expected<PairingApi, Error>;
59 std::chrono::milliseconds timeout_ms = 0ms)
const
60 -> astarte_tl::expected<std::string, Error>;
70 [[nodiscard]]
auto get_broker_url(std::string_view credential_secret,
int timeout_ms = 0) const
71 -> astarte_tl::expected<std::
string,
Error>;
82 int timeout_ms = 0) const
83 -> astarte_tl::expected<std::tuple<std::
string, std::
string>,
Error>;
95 std::string_view credential_secret,
int timeout_ms = 0) const
96 -> astarte_tl::expected<
bool,
Error>;
106 PairingApi(std::string_view realm, std::string_view device_id, ada::url_aggregator pairing_url);
111 std::
string device_id_;
113 ada::url_aggregator pairing_url_;
134 -> astarte_tl::expected<std::
string,
Error>;
auto get_device_key_and_certificate(std::string_view credential_secret, int timeout_ms=0) const -> astarte_tl::expected< std::tuple< std::string, std::string >, Error >
Retrieves the Astarte device certificate and relative private key.
static auto create(std::string_view realm, std::string_view device_id, std::string_view astarte_base_url) -> astarte_tl::expected< PairingApi, Error >
Creates an instance of the PairingApi class.
auto device_cert_valid(std::string_view certificate, std::string_view credential_secret, int timeout_ms=0) const -> astarte_tl::expected< bool, Error >
Checks if the Astarte device certificate is valid.
auto register_device(std::string_view pairing_token, std::chrono::milliseconds timeout_ms=0ms) const -> astarte_tl::expected< std::string, Error >
Registers a device.
auto get_broker_url(std::string_view credential_secret, int timeout_ms=0) const -> astarte_tl::expected< std::string, Error >
Retrieves the URL of the Astarte MQTT broker.
specific error definitions for the Astarte device SDK.
Namespace for Astarte device functionality using the MQTT transport protocol.
Definition errors.hpp:57
auto create_random_device_id() -> std::string
Creates a random Astarte device id starting from a UUIDv4.
auto create_deterministic_device_id(std::string_view namespc, std::string_view unique_data) -> astarte_tl::expected< std::string, Error >
Creates a deterministic Astarte device id using a UUIDv5.
std::variant< DataSerializationError, InternalError, FileOpenError, InvalidInputError, InterfaceValidationError, InvalidInterfaceVersionError, InvalidInterfaceTypeError, InvalidInterfaceOwnershipeError, InvalidInterfaceAggregationError, InvalidAstarteTypeError, InvalidReliabilityError, InvalidRetentionError, InvalidDatabaseRetentionPolicyError, OperationRefusedError, GrpcLibError, MsgHubError, mqtt::JsonParsingError, mqtt::DeviceRegistrationError, mqtt::PairingApiError, mqtt::MqttError, mqtt::InvalidUrlError, mqtt::RetrieveBrokerUrlError, mqtt::ReadCredentialError, mqtt::WriteCredentialError, mqtt::PairingConfigError, mqtt::CryptoError, mqtt::UuidError, mqtt::HttpError, mqtt::MqttConnectionError > Error
Variant type representing any error from the Astarte device library.
Definition errors.hpp:80