openthread-br
0.3.0-72c0388
|
Go to the documentation of this file.
34 #ifndef OTBR_THREAD_API_DBUS_HPP_
35 #define OTBR_THREAD_API_DBUS_HPP_
39 #include <dbus/dbus.h>
41 #include "common/types.hpp"
49 bool IsThreadActive(DeviceRole aRole);
54 using DeviceRoleHandler = std::function<void(DeviceRole)>;
55 using ScanHandler = std::function<void(
const std::vector<ActiveScanResult> &)>;
56 using EnergyScanHandler = std::function<void(
const std::vector<EnergyScanResult> &)>;
57 using OtResultHandler = std::function<void(
ClientError)>;
76 ThreadApiDBus(DBusConnection *aConnection,
const std::string &aInterfaceName);
144 const std::vector<uint8_t> &aNetworkKey,
145 const std::vector<uint8_t> &aPSKc,
146 uint32_t aChannelMask,
147 const OtResultHandler & aHandler);
234 const std::string & aProvisioningUrl,
235 const std::string & aVendorName,
236 const std::string & aVendorModel,
237 const std::string & aVendorSwVersion,
238 const std::string & aVendorData,
239 const OtResultHandler &aHandler);
770 #if OTBR_ENABLE_DNSSD_DISCOVERY_PROXY
860 ClientError CallDBusMethodSync(
const std::string &aMethodName);
861 ClientError CallDBusMethodAsync(
const std::string &aMethodName, DBusPendingCallNotifyFunction aFunction);
863 template <
typename ArgType>
ClientError CallDBusMethodSync(
const std::string &aMethodName,
const ArgType &aArgs);
865 template <
typename ArgType>
866 ClientError CallDBusMethodAsync(
const std::string & aMethodName,
867 const ArgType & aArgs,
868 DBusPendingCallNotifyFunction aFunction);
870 template <
typename ValType>
ClientError SetProperty(
const std::string &aPropertyName,
const ValType &aValue);
872 template <
typename ValType>
ClientError GetProperty(
const std::string &aPropertyName, ValType &aValue);
875 static DBusHandlerResult sDBusMessageFilter(DBusConnection *aConnection, DBusMessage *aMessage,
void *aData);
876 DBusHandlerResult DBusMessageFilter(DBusConnection *aConnection, DBusMessage *aMessage);
878 template <
void (ThreadApiDBus::*Handler)(DBusPendingCall *aPending)>
879 static void sHandleDBusPendingCall(DBusPendingCall *aPending,
void *aThreadApiDBus);
881 void AttachPendingCallHandler(DBusPendingCall *aPending);
882 void DetachPendingCallHandler(DBusPendingCall *aPending);
883 void FactoryResetPendingCallHandler(DBusPendingCall *aPending);
884 void JoinerStartPendingCallHandler(DBusPendingCall *aPending);
885 static void sScanPendingCallHandler(DBusPendingCall *aPending,
void *aThreadApiDBus);
886 void ScanPendingCallHandler(DBusPendingCall *aPending);
887 void EnergyScanPendingCallHandler(DBusPendingCall *aPending);
889 static void EmptyFree(
void *) {}
891 std::string mInterfaceName;
893 DBusConnection *mConnection;
895 ScanHandler mScanHandler;
896 EnergyScanHandler mEnergyScanHandler;
897 OtResultHandler mAttachHandler;
898 OtResultHandler mDetachHandler;
899 OtResultHandler mFactoryResetHandler;
900 OtResultHandler mJoinerHandler;
902 std::vector<DeviceRoleHandler> mDeviceRoleHandlers;
908 #endif // OTBR_THREAD_API_DBUS_HPP_
ClientError GetNetworkKey(std::vector< uint8_t > &aNetworkKey)
Definition: thread_api_dbus.cpp:531
ClientError SetRadioRegion(const std::string &aRadioRegion)
Definition: thread_api_dbus.cpp:490
ClientError AddOnMeshPrefix(const OnMeshPrefix &aPrefix)
Definition: thread_api_dbus.cpp:440
ClientError GetFeatureFlagListData(std::vector< uint8_t > &aFeatureFlagListData)
Definition: thread_api_dbus.cpp:641
ClientError GetDeviceRole(DeviceRole &aDeviceRole)
Definition: thread_api_dbus.cpp:500
ClientError GetIp6Counters(IpCounters &aCounters)
Definition: thread_api_dbus.cpp:546
ClientError GetNat64State(Nat64ComponentState &aState)
Definition: thread_api_dbus.cpp:661
ClientError Attach(const std::string &aNetworkName, uint16_t aPanId, uint64_t aExtPanId, const std::vector< uint8_t > &aNetworkKey, const std::vector< uint8_t > &aPSKc, uint32_t aChannelMask, const OtResultHandler &aHandler)
Definition: thread_api_dbus.cpp:235
ClientError GetChannelMonitorAllChannelQualities(std::vector< ChannelQuality > &aChannelQualities)
Definition: thread_api_dbus.cpp:596
ClientError SetFeatureFlagListData(const std::vector< uint8_t > &aFeatureFlagListData)
Definition: thread_api_dbus.cpp:480
ClientError GetChannelMonitorSampleCount(uint32_t &aSampleCount)
Definition: thread_api_dbus.cpp:591
ClientError GetInstantRssi(int8_t &aRssi)
Definition: thread_api_dbus.cpp:616
ClientError GetChannel(uint16_t &aChannel)
Definition: thread_api_dbus.cpp:526
ClientError GetRadioTxPower(int8_t &aTxPower)
Definition: thread_api_dbus.cpp:621
ClientError GetStableNetworkData(std::vector< uint8_t > &aNetworkData)
Definition: thread_api_dbus.cpp:581
ClientError GetChildTable(std::vector< ChildInfo > &aChildTable)
Definition: thread_api_dbus.cpp:601
void AddDeviceRoleHandler(const DeviceRoleHandler &aHandler)
Definition: thread_api_dbus.cpp:160
ClientError SetLegacyUlaPrefix(const std::array< uint8_t, OTBR_IP6_PREFIX_SIZE > &aPrefix)
Definition: thread_api_dbus.cpp:470
ClientError GetSupportedChannelMask(uint32_t &aChannelMask)
Definition: thread_api_dbus.cpp:551
ClientError AddExternalRoute(const ExternalRoute &aExternalRoute)
Definition: thread_api_dbus.cpp:450
ClientError GetSrpServerInfo(SrpServerInfo &aSrpServerInfo)
Definition: thread_api_dbus.cpp:651
ClientError SetNat64Enabled(bool aEnabled)
Definition: thread_api_dbus.cpp:460
Definition: types.hpp:509
ClientError SetMeshLocalPrefix(const std::array< uint8_t, OTBR_IP6_PREFIX_SIZE > &aPrefix)
Definition: thread_api_dbus.cpp:465
ClientError UpdateVendorMeshCopTxtEntries(std::vector< TxtEntry > &aUpdate)
Definition: thread_api_dbus.cpp:853
ClientError Detach(const OtResultHandler &aHandler)
Definition: thread_api_dbus.cpp:305
ClientError AttachAllNodesTo(const std::vector< uint8_t > &aDataset)
Definition: thread_api_dbus.cpp:847
Definition: types.hpp:159
Definition: types.hpp:571
ClientError GetNat64ProtocolCounters(Nat64ProtocolCounters &aCounters)
Definition: thread_api_dbus.cpp:671
ClientError GetCcaFailureRate(uint16_t &aFailureRate)
Definition: thread_api_dbus.cpp:536
ClientError SetActiveDatasetTlvs(const std::vector< uint8_t > &aDataset)
Definition: thread_api_dbus.cpp:475
ClientError JoinerStart(const std::string &aPskd, const std::string &aProvisioningUrl, const std::string &aVendorName, const std::string &aVendorModel, const std::string &aVendorSwVersion, const std::string &aVendorData, const OtResultHandler &aHandler)
Definition: thread_api_dbus.cpp:388
ClientError GetNat64ErrorCounters(Nat64ErrorCounters &aCounters)
Definition: thread_api_dbus.cpp:676
Definition: types.hpp:458
ClientError Reset(void)
Definition: thread_api_dbus.cpp:383
ClientError GetMdnsTelemetryInfo(MdnsTelemetryInfo &aMdnsTelemetryInfo)
Definition: thread_api_dbus.cpp:656
ClientError
Definition: error.hpp:51
ClientError GetLeaderData(LeaderData &aLeaderData)
Definition: thread_api_dbus.cpp:571
ClientError GetPanId(uint16_t &aPanId)
Definition: thread_api_dbus.cpp:516
ClientError GetRadioRegion(std::string &aRadioRegion)
Definition: thread_api_dbus.cpp:646
ClientError SetLinkMode(const LinkModeConfig &aConfig)
Definition: thread_api_dbus.cpp:485
ClientError GetLinkCounters(MacCounters &aCounters)
Definition: thread_api_dbus.cpp:541
ClientError GetOnMeshPrefixes(std::vector< OnMeshPrefix > &aOnMeshPrefixes)
Definition: thread_api_dbus.cpp:631
ClientError GetNetworkName(std::string &aName)
Definition: thread_api_dbus.cpp:511
ClientError GetPartitionId(uint32_t &aPartitionId)
Definition: thread_api_dbus.cpp:611
ClientError GetExtendedAddress(uint64_t &aExtendedAddress)
Definition: thread_api_dbus.cpp:561
Definition: types.hpp:660
ClientError GetRouterId(uint8_t &aRouterId)
Definition: thread_api_dbus.cpp:566
ClientError Scan(const ScanHandler &aHandler)
Definition: thread_api_dbus.cpp:165
Definition: thread_api_dbus.hpp:51
ClientError FactoryReset(const OtResultHandler &aHandler)
Definition: thread_api_dbus.cpp:344
Definition: types.hpp:678
Definition: types.hpp:395
ClientError GetNat64Mappings(std::vector< Nat64AddressMapping > &aMappings)
Definition: thread_api_dbus.cpp:666
ClientError GetLinkMode(LinkModeConfig &aConfig)
Definition: thread_api_dbus.cpp:495
Definition: types.hpp:537
ClientError RemoveExternalRoute(const Ip6Prefix &aPrefix)
Definition: thread_api_dbus.cpp:455
ClientError RemoveOnMeshPrefix(const Ip6Prefix &aPrefix)
Definition: thread_api_dbus.cpp:445
ClientError GetActiveDatasetTlvs(std::vector< uint8_t > &aDataset)
Definition: thread_api_dbus.cpp:636
ClientError EnergyScan(uint32_t aScanDuration, const EnergyScanHandler &aHandler)
Definition: thread_api_dbus.cpp:197
Definition: types.hpp:640
ClientError GetLocalLeaderWeight(uint8_t &aWeight)
Definition: thread_api_dbus.cpp:586
ClientError GetNetworkData(std::vector< uint8_t > &aNetworkData)
Definition: thread_api_dbus.cpp:576
ClientError PermitUnsecureJoin(uint16_t aPort, uint32_t aSeconds)
Definition: thread_api_dbus.cpp:230
ThreadApiDBus(DBusConnection *aConnection)
Definition: thread_api_dbus.cpp:84
ClientError GetRloc16(uint16_t &aRloc16)
Definition: thread_api_dbus.cpp:556
ClientError GetNeighborTable(std::vector< NeighborInfo > &aNeighborTable)
Definition: thread_api_dbus.cpp:606
ClientError GetExternalRoutes(std::vector< ExternalRoute > &aExternalRoutes)
Definition: thread_api_dbus.cpp:626
ClientError JoinerStop(void)
Definition: thread_api_dbus.cpp:435
ClientError GetExtPanId(uint64_t &aExtPanId)
Definition: thread_api_dbus.cpp:521
std::string GetInterfaceName(void)
Definition: thread_api_dbus.cpp:688
Definition: types.hpp:196