openthread-br  0.3.0-72c0388
Classes | Typedefs | Enumerations | Functions
otbr::DBus Namespace Reference

This namespace contains OpenThread Border Router DBus API. More...

Classes

struct  ActiveScanResult
 
struct  BorderRoutingCounters
 
struct  ChannelQuality
 
struct  ChildInfo
 
class  DBusAgent
 
struct  DBusMessageDeleter
 
class  DBusMessageIterFor
 
class  DBusMessageIterFor< 0, 0 >
 
class  DBusMessageIterFor< 1, N, FieldTypes... >
 
class  DBusObject
 
class  DBusRequest
 
class  DBusThreadObject
 
struct  DBusTypeTrait
 
struct  DBusTypeTrait< ActiveScanResult >
 
struct  DBusTypeTrait< BorderRoutingCounters >
 
struct  DBusTypeTrait< ChannelQuality >
 
struct  DBusTypeTrait< ChildInfo >
 
struct  DBusTypeTrait< DnssdCounters >
 
struct  DBusTypeTrait< EnergyScanResult >
 
struct  DBusTypeTrait< ExternalRoute >
 
struct  DBusTypeTrait< int16_t >
 
struct  DBusTypeTrait< int32_t >
 
struct  DBusTypeTrait< int64_t >
 
struct  DBusTypeTrait< int8_t >
 
struct  DBusTypeTrait< Ip6Prefix >
 
struct  DBusTypeTrait< IpCounters >
 
struct  DBusTypeTrait< LeaderData >
 
struct  DBusTypeTrait< LinkModeConfig >
 
struct  DBusTypeTrait< MacCounters >
 
struct  DBusTypeTrait< MdnsTelemetryInfo >
 
struct  DBusTypeTrait< Nat64AddressMapping >
 
struct  DBusTypeTrait< Nat64ComponentState >
 
struct  DBusTypeTrait< Nat64ErrorCounters >
 
struct  DBusTypeTrait< Nat64PacketCounters >
 
struct  DBusTypeTrait< Nat64ProtocolCounters >
 
struct  DBusTypeTrait< Nat64TrafficCounters >
 
struct  DBusTypeTrait< NeighborInfo >
 
struct  DBusTypeTrait< OnMeshPrefix >
 
struct  DBusTypeTrait< RadioCoexMetrics >
 
struct  DBusTypeTrait< RadioSpinelMetrics >
 
struct  DBusTypeTrait< RcpInterfaceMetrics >
 
struct  DBusTypeTrait< SrpServerAddressMode >
 
struct  DBusTypeTrait< SrpServerInfo >
 
struct  DBusTypeTrait< SrpServerState >
 
struct  DBusTypeTrait< std::array< uint8_t, SIZE > >
 
struct  DBusTypeTrait< std::string >
 
struct  DBusTypeTrait< std::vector< ChannelQuality > >
 
struct  DBusTypeTrait< std::vector< ChildInfo > >
 
struct  DBusTypeTrait< std::vector< ExternalRoute > >
 
struct  DBusTypeTrait< std::vector< Nat64AddressMapping > >
 
struct  DBusTypeTrait< std::vector< NeighborInfo > >
 
struct  DBusTypeTrait< std::vector< OnMeshPrefix > >
 
struct  DBusTypeTrait< std::vector< TxtEntry > >
 
struct  DBusTypeTrait< std::vector< uint8_t > >
 
struct  DBusTypeTrait< TxtEntry >
 
struct  DBusTypeTrait< uint16_t >
 
struct  DBusTypeTrait< uint32_t >
 
struct  DBusTypeTrait< uint64_t >
 
struct  DBusTypeTrait< uint8_t >
 
struct  DnssdCounters
 
struct  ElementType
 
struct  EnergyScanResult
 
struct  ExternalRoute
 
struct  Ip6Prefix
 
struct  IpCounters
 
struct  LeaderData
 
struct  LinkModeConfig
 
struct  MacCounters
 
struct  Nat64AddressMapping
 
struct  Nat64ComponentState
 
struct  Nat64ErrorCounters
 
struct  Nat64PacketCounters
 
struct  Nat64ProtocolCounters
 
struct  Nat64TrafficCounters
 
struct  NeighborInfo
 
struct  OnMeshPrefix
 
struct  RadioCoexMetrics
 
struct  RadioSpinelMetrics
 
struct  RcpInterfaceMetrics
 
struct  SrpServerInfo
 
class  ThreadApiDBus
 
struct  TxtEntry
 

Typedefs

using UniqueDBusMessage = std::unique_ptr< DBusMessage, DBusMessageDeleter >
 
using Ip4Address = std::array< uint8_t, 4 >
 
using Ip6Address = std::array< uint8_t, 16 >
 

Enumerations

enum  ClientError {
  ClientError::ERROR_NONE = 0, ClientError::ERROR_ERRNO = -1, ClientError::ERROR_DBUS = -3, ClientError::OT_ERROR_FAILED = 1,
  ClientError::OT_ERROR_DROP = 2, ClientError::OT_ERROR_NO_BUFS = 3, ClientError::OT_ERROR_NO_ROUTE = 4, ClientError::OT_ERROR_BUSY = 5,
  ClientError::OT_ERROR_PARSE = 6, ClientError::OT_ERROR_INVALID_ARGS = 7, ClientError::OT_ERROR_SECURITY = 8, ClientError::OT_ERROR_ADDRESS_QUERY = 9,
  ClientError::OT_ERROR_NO_ADDRESS = 10, ClientError::OT_ERROR_ABORT = 11, ClientError::OT_ERROR_NOT_IMPLEMENTED = 12, ClientError::OT_ERROR_INVALID_STATE = 13,
  ClientError::OT_ERROR_NO_ACK = 14, ClientError::OT_ERROR_CHANNEL_ACCESS_FAILURE = 15, ClientError::OT_ERROR_DETACHED = 16, ClientError::OT_ERROR_FCS = 17,
  ClientError::OT_ERROR_NO_FRAME_RECEIVED = 18, ClientError::OT_ERROR_UNKNOWN_NEIGHBOR = 19, ClientError::OT_ERROR_INVALID_SOURCE_ADDRESS = 20, ClientError::OT_ERROR_ADDRESS_FILTERED = 21,
  ClientError::OT_ERROR_DESTINATION_ADDRESS_FILTERED = 22, ClientError::OT_ERROR_NOT_FOUND = 23, ClientError::OT_ERROR_ALREADY = 24, ClientError::OT_ERROR_IP6_ADDRESS_CREATION_FAILURE = 26,
  ClientError::OT_ERROR_NOT_CAPABLE = 27, ClientError::OT_ERROR_RESPONSE_TIMEOUT = 28, ClientError::OT_ERROR_DUPLICATED = 29, ClientError::OT_ERROR_REASSEMBLY_TIMEOUT = 30,
  ClientError::OT_ERROR_NOT_TMF = 31, ClientError::OT_ERROR_NOT_LOWPAN_DATA_FRAME = 32, ClientError::OT_ERROR_LINK_MARGIN_LOW = 34, ClientError::OT_ERROR_REJECTED = 37,
  ClientError::OT_ERROR_GENERIC = 255
}
 
enum  DeviceRole {
  OTBR_DEVICE_ROLE_DISABLED = 0, OTBR_DEVICE_ROLE_DETACHED = 1, OTBR_DEVICE_ROLE_CHILD = 2, OTBR_DEVICE_ROLE_ROUTER = 3,
  OTBR_DEVICE_ROLE_LEADER = 4
}
 
enum  SrpServerState : uint8_t { OTBR_SRP_SERVER_STATE_DISABLED = 0, OTBR_SRP_SERVER_STATE_RUNNING = 1, OTBR_SRP_SERVER_STATE_STOPPED = 2 }
 
enum  SrpServerAddressMode : uint8_t { OTBR_SRP_SERVER_ADDRESS_MODE_UNICAST = 0, OTBR_SRP_SERVER_ADDRESS_MODE_ANYCAST = 1 }
 

Functions

ClientError ConvertFromDBusErrorName (const std::string &aErrorName)
 
ClientError CheckErrorMessage (DBusMessage *aMessage)
 
bool IsThreadActive (DeviceRole aRole)
 
void DumpDBusMessage (DBusMessage &aMessage)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, bool &aValue)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, int8_t &aValue)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, std::string &aValue)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, std::vector< uint8_t > &aValue)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, std::vector< uint16_t > &aValue)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, std::vector< uint32_t > &aValue)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, std::vector< uint64_t > &aValue)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, std::vector< int16_t > &aValue)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, std::vector< int32_t > &aValue)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, std::vector< int64_t > &aValue)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, bool aValue)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, int8_t aValue)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const std::string &aValue)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const char *aValue)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const std::vector< uint8_t > &aValue)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const std::vector< uint16_t > &aValue)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const std::vector< uint32_t > &aValue)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const std::vector< uint64_t > &aValue)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const std::vector< int16_t > &aValue)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const std::vector< int32_t > &aValue)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const std::vector< int64_t > &aValue)
 
bool IsDBusMessageEmpty (DBusMessage &aMessage)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const otbrError &aError)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, otbrError &aError)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const ActiveScanResult &aScanResult)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, ActiveScanResult &aScanResult)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const EnergyScanResult &aResult)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, EnergyScanResult &aResult)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const LinkModeConfig &aConfig)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, LinkModeConfig &aConfig)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const Ip6Prefix &aPrefix)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, Ip6Prefix &aPrefix)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const ExternalRoute &aRoute)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, ExternalRoute &aRoute)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const OnMeshPrefix &aPrefix)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, OnMeshPrefix &aPrefix)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const MacCounters &aCounters)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, MacCounters &aCounters)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const IpCounters &aCounters)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, IpCounters &aCounters)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const ChildInfo &aChildInfo)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, ChildInfo &aChildInfo)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const NeighborInfo &aNeighborInfo)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, NeighborInfo &aNeighborInfo)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const LeaderData &aLeaderData)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, LeaderData &aLeaderData)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const ChannelQuality &aQuality)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, ChannelQuality &aQuality)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const TxtEntry &aTxtEntry)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, TxtEntry &aTxtEntry)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const SrpServerInfo::Registration &aRegistration)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, SrpServerInfo::Registration &aRegistration)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const SrpServerInfo::ResponseCounters &aResponseCounters)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, SrpServerInfo::ResponseCounters &aResponseCounters)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const SrpServerInfo &aSrpServerInfo)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, SrpServerInfo &aSrpServerInfo)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const MdnsResponseCounters &aMdnsResponseCounters)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, MdnsResponseCounters &aMdnsResponseCounters)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const MdnsTelemetryInfo &aMdnsTelemetryInfo)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, MdnsTelemetryInfo &aMdnsTelemetryInfo)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const DnssdCounters &aDnssdCounters)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, DnssdCounters &aDnssdCounters)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const RadioSpinelMetrics &aRadioSpinelMetrics)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, RadioSpinelMetrics &RadioSpinelMetrics)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const RcpInterfaceMetrics &aRcpInterfaceMetrics)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, RcpInterfaceMetrics &aRcpInterfaceMetrics)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const RadioCoexMetrics &aRadioCoexMetrics)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, RadioCoexMetrics &aRadioCoexMetrics)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const BorderRoutingCounters::PacketsAndBytes &aPacketAndBytes)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, BorderRoutingCounters::PacketsAndBytes &aPacketAndBytes)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const BorderRoutingCounters &aBorderRoutingCounters)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, BorderRoutingCounters &aBorderRoutingCounters)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const Nat64ComponentState &aNat64State)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, Nat64ComponentState &aNat64State)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const Nat64TrafficCounters &aCounters)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, Nat64TrafficCounters &aCounters)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const Nat64PacketCounters &aCounters)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, Nat64PacketCounters &aCounters)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const Nat64ProtocolCounters &aCounters)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, Nat64ProtocolCounters &aCounters)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const Nat64AddressMapping &aMapping)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, Nat64AddressMapping &aMapping)
 
otbrError DBusMessageEncode (DBusMessageIter *aIter, const Nat64ErrorCounters &aCounters)
 
otbrError DBusMessageExtract (DBusMessageIter *aIter, Nat64ErrorCounters &aCounters)
 
template<typename T >
otbrError DBusMessageExtract (DBusMessageIter *aIter, T &aValue)
 
template<typename T >
otbrError DBusMessageExtract (DBusMessageIter *aIter, std::vector< T > &aValue)
 
template<typename T >
otbrError DBusMessageExtractPrimitive (DBusMessageIter *aIter, std::vector< T > &aValue)
 
template<typename T , size_t SIZE>
otbrError DBusMessageExtract (DBusMessageIter *aIter, std::array< T, SIZE > &aValue)
 
template<typename T >
otbrError DBusMessageEncode (DBusMessageIter *aIter, T aValue)
 
template<typename T >
otbrError DBusMessageEncode (DBusMessageIter *aIter, const std::vector< T > &aValue)
 
template<typename T >
otbrError DBusMessageEncodePrimitive (DBusMessageIter *aIter, const std::vector< T > &aValue)
 
template<typename T , size_t SIZE>
otbrError DBusMessageEncode (DBusMessageIter *aIter, const std::array< T, SIZE > &aValue)
 
template<typename... FieldTypes>
otbrError ConvertToDBusMessage (DBusMessageIter *aIter, const std::tuple< FieldTypes... > &aValues)
 
template<typename... FieldTypes>
constexpr otbrError ConvertToTuple (DBusMessageIter *aIter, std::tuple< FieldTypes... > &aValues)
 
template<typename ValueType >
otbrError DBusMessageEncodeToVariant (DBusMessageIter *aIter, const ValueType &aValue)
 
template<typename ValueType >
otbrError DBusMessageExtractFromVariant (DBusMessageIter *aIter, ValueType &aValue)
 
template<typename... FieldTypes>
otbrError DBusMessageToTuple (DBusMessage &aMessage, std::tuple< FieldTypes... > &aValues)
 
template<typename... FieldTypes>
otbrError TupleToDBusMessage (DBusMessage &aMessage, const std::tuple< FieldTypes... > &aValues)
 
template<typename... FieldTypes>
otbrError DBusMessageToTuple (UniqueDBusMessage const &aMessage, std::tuple< FieldTypes... > &aValues)
 
bool operator== (ClientError aError, int aValue)
 
bool operator!= (ClientError aError, int aValue)
 
const char * ConvertToDBusErrorName (otError aError)
 

Detailed Description

This namespace contains OpenThread Border Router DBus API.

Enumeration Type Documentation

◆ ClientError

Enumerator
ERROR_NONE 

No error.

ERROR_ERRNO 

Error defined by errno.

ERROR_DBUS 

DBus error.

OT_ERROR_FAILED 

Operational failed.

OT_ERROR_DROP 

Message was dropped.

OT_ERROR_NO_BUFS 

Insufficient buffers.

OT_ERROR_NO_ROUTE 

No route available.

OT_ERROR_BUSY 

Service is busy and could not service the operation.

OT_ERROR_PARSE 

Failed to parse message or arguments.

OT_ERROR_INVALID_ARGS 

Input arguments are invalid.

OT_ERROR_SECURITY 

Security checks failed.

OT_ERROR_ADDRESS_QUERY 

Address resolution requires an address query operation.

OT_ERROR_NO_ADDRESS 

Address is not in the source match table.

OT_ERROR_ABORT 

Operation was aborted.

OT_ERROR_NOT_IMPLEMENTED 

Function or method is not implemented.

OT_ERROR_INVALID_STATE 

Cannot complete due to invalid state.

OT_ERROR_NO_ACK 

No acknowledgment was received after macMaxFrameRetries (IEEE 802.15.4-2006).

OT_ERROR_CHANNEL_ACCESS_FAILURE 

A transmission could not take place due to activity on the channel, i.e., the CSMA-CA mechanism has failed (IEEE 802.15.4-2006).

OT_ERROR_DETACHED 

Not currently attached to a Thread Partition.

OT_ERROR_FCS 

FCS check failure while receiving.

OT_ERROR_NO_FRAME_RECEIVED 

No frame received.

OT_ERROR_UNKNOWN_NEIGHBOR 

Received a frame from an unknown neighbor.

OT_ERROR_INVALID_SOURCE_ADDRESS 

Received a frame from an invalid source address.

OT_ERROR_ADDRESS_FILTERED 

Received a frame filtered by the address filter (allowlisted or denylisted).

OT_ERROR_DESTINATION_ADDRESS_FILTERED 

Received a frame filtered by the destination address check.

OT_ERROR_NOT_FOUND 

The requested item could not be found.

OT_ERROR_ALREADY 

The operation is already in progress.

OT_ERROR_IP6_ADDRESS_CREATION_FAILURE 

The creation of IPv6 address failed.

OT_ERROR_NOT_CAPABLE 

Operation prevented by mode flags

OT_ERROR_RESPONSE_TIMEOUT 

Coap response or acknowledgment or DNS, SNTP response not received.

OT_ERROR_DUPLICATED 

Received a duplicated frame.

OT_ERROR_REASSEMBLY_TIMEOUT 

Message is being dropped from reassembly list due to timeout.

OT_ERROR_NOT_TMF 

Message is not a TMF Message.

OT_ERROR_NOT_LOWPAN_DATA_FRAME 

Received a non-lowpan data frame.

OT_ERROR_LINK_MARGIN_LOW 

The link margin was too low.

OT_ERROR_REJECTED 

Request rejected.

OT_ERROR_GENERIC 

Generic error (should not use).

◆ SrpServerAddressMode

Enumerator
OTBR_SRP_SERVER_ADDRESS_MODE_UNICAST 

Unicast address mode.

OTBR_SRP_SERVER_ADDRESS_MODE_ANYCAST 

Anycast address mode.

◆ SrpServerState

Enumerator
OTBR_SRP_SERVER_STATE_DISABLED 

The SRP server is disabled.

OTBR_SRP_SERVER_STATE_RUNNING 

The SRP server is running.

OTBR_SRP_SERVER_STATE_STOPPED 

The SRP server is stopped.

Function Documentation

◆ CheckErrorMessage()

ClientError otbr::DBus::CheckErrorMessage ( DBusMessage *  aMessage)

This function converts an DBus reply message to otError.

Parameters
[in]aMessageThe dbus reply message.
Returns
The error code encoded in the message.

◆ ConvertFromDBusErrorName()

ClientError otbr::DBus::ConvertFromDBusErrorName ( const std::string &  aErrorName)

This function converts an error string to client error.

Parameters
[in]aErrorNameThe error string.
Returns
The corresponding otError. OT_ERROR_GENERIC will be returned if the error name is not defined in OpenThread.

◆ ConvertToDBusErrorName()

const char * otbr::DBus::ConvertToDBusErrorName ( otError  aError)

This function returns the string representation of an otError.

Parameters
[in]aErrorThe otError value.
Returns
The string representation of an otError.

◆ DBusMessageEncodeToVariant()

template<typename ValueType >
otbrError otbr::DBus::DBusMessageEncodeToVariant ( DBusMessageIter *  aIter,
const ValueType &  aValue 
)

This function converts a value to a d-bus variant.

Parameters
[out]aIterThe message iterator pointing to the variant.
[in]aValueThe value input.
Return values
OTBR_ERROR_NONESuccessfully encoded to the variant.
OTBR_ERROR_DBUSFailed to encode to the variant.

◆ DBusMessageExtractFromVariant()

template<typename ValueType >
otbrError otbr::DBus::DBusMessageExtractFromVariant ( DBusMessageIter *  aIter,
ValueType &  aValue 
)

This function converts a d-bus variant to a value.

Parameters
[in]aIterThe message iterator pointing to the variant.
[out]aValueThe value output.
Return values
OTBR_ERROR_NONESuccessfully decoded the variant.
OTBR_ERROR_DBUSFailed to decode the variant.

◆ DBusMessageToTuple() [1/2]

template<typename... FieldTypes>
otbrError otbr::DBus::DBusMessageToTuple ( DBusMessage &  aMessage,
std::tuple< FieldTypes... > &  aValues 
)

This function converts a d-bus message to a tuple of C++ types.

Parameters
[in]aMessageThe dbus message to decode.
[out]aValuesThe tuple output.
Return values
OTBR_ERROR_NONESuccessfully decoded the message.
OTBR_ERROR_DBUSFailed to decode the message.

◆ DBusMessageToTuple() [2/2]

template<typename... FieldTypes>
otbrError otbr::DBus::DBusMessageToTuple ( UniqueDBusMessage const &  aMessage,
std::tuple< FieldTypes... > &  aValues 
)

This function converts a d-bus message to a tuple of C++ types.

Parameters
[in]aMessageThe dbus message to decode.
[out]aValuesThe tuple output.
Return values
OTBR_ERROR_NONESuccessfully decoded the message.
OTBR_ERROR_DBUSFailed to decode the message.

◆ DumpDBusMessage()

void otbr::DBus::DumpDBusMessage ( DBusMessage &  aMessage)

This function dumps a DBus message to the log

Parameters
[in]aMessageThe DBus message to dump.

◆ TupleToDBusMessage()

template<typename... FieldTypes>
otbrError otbr::DBus::TupleToDBusMessage ( DBusMessage &  aMessage,
const std::tuple< FieldTypes... > &  aValues 
)

This function converts a tuple of C++ types to a d-bus message.

Parameters
[out]aMessageThe dbus message output.
[in]aValuesThe tuple to encode.
Return values
OTBR_ERROR_NONESuccessfully encoded the message.
OTBR_ERROR_DBUSFailed to encode the message.