mirror of
https://github.com/espressif/openthread.git
synced 2026-08-04 09:57:47 +00:00
[dnssd] add API for getting the upstream query status (#8815)
This commit is contained in:
@@ -260,6 +260,20 @@ const otDnssdCounters *otDnssdGetCounters(otInstance *aInstance);
|
||||
*/
|
||||
void otDnssdUpstreamQuerySetEnabled(otInstance *aInstance, bool aEnabled);
|
||||
|
||||
/**
|
||||
* Returns whether the DNSSD server will forward DNS queries to the platform DNS upstream API.
|
||||
*
|
||||
* Available when `OPENTHREAD_CONFIG_DNS_UPSTREAM_QUERY_ENABLE` is enabled.
|
||||
*
|
||||
* @param[in] aInstance A pointer to an OpenThread instance.
|
||||
* @retval TRUE If the DNSSD server will forward DNS queries.
|
||||
* @retval FALSE If the DNSSD server will not forward DNS queries.
|
||||
*
|
||||
* @sa otDnssdUpstreamQuerySetEnabled
|
||||
*
|
||||
*/
|
||||
bool otDnssdUpstreamQueryIsEnabled(otInstance *aInstance);
|
||||
|
||||
/**
|
||||
* @}
|
||||
*
|
||||
|
||||
@@ -53,7 +53,7 @@ extern "C" {
|
||||
* @note This number versions both OpenThread platform and user APIs.
|
||||
*
|
||||
*/
|
||||
#define OPENTHREAD_API_VERSION (292)
|
||||
#define OPENTHREAD_API_VERSION (293)
|
||||
|
||||
/**
|
||||
* @addtogroup api-instance
|
||||
|
||||
+30
-12
@@ -3166,21 +3166,39 @@ template <> otError Interpreter::Process<Cmd("dns")>(Arg aArgs[])
|
||||
error = OT_ERROR_INVALID_ARGS;
|
||||
}
|
||||
#if OPENTHREAD_CONFIG_DNS_UPSTREAM_QUERY_ENABLE
|
||||
/**
|
||||
* @cli dns server upstream {enable|disable}
|
||||
* @code
|
||||
* Done
|
||||
* @endcode
|
||||
* @cparam dns server upstream @ca{enable|disable}
|
||||
* @par api_copy
|
||||
* #otDnssdUpstreamQuerySetEnabled
|
||||
*/
|
||||
else if (aArgs[1] == "upstream")
|
||||
{
|
||||
bool enable;
|
||||
/**
|
||||
* @cli dns server upstream
|
||||
* @code
|
||||
* dns server upstream
|
||||
* Enabled
|
||||
* Done
|
||||
* @endcode
|
||||
* @par api_copy
|
||||
* #otDnssdUpstreamQueryIsEnabled
|
||||
*/
|
||||
if (aArgs[2].IsEmpty())
|
||||
{
|
||||
OutputEnabledDisabledStatus(otDnssdUpstreamQueryIsEnabled(GetInstancePtr()));
|
||||
}
|
||||
/**
|
||||
* @cli dns server upstream {enable|disable}
|
||||
* @code
|
||||
* dns server upstream enable
|
||||
* Done
|
||||
* @endcode
|
||||
* @cparam dns server upstream @ca{enable|disable}
|
||||
* @par api_copy
|
||||
* #otDnssdUpstreamQuerySetEnabled
|
||||
*/
|
||||
else
|
||||
{
|
||||
bool enable;
|
||||
|
||||
SuccessOrExit(error = ParseEnableOrDisable(aArgs[2], enable));
|
||||
otDnssdUpstreamQuerySetEnabled(GetInstancePtr(), enable);
|
||||
SuccessOrExit(error = ParseEnableOrDisable(aArgs[2], enable));
|
||||
otDnssdUpstreamQuerySetEnabled(GetInstancePtr(), enable);
|
||||
}
|
||||
}
|
||||
#endif // OPENTHREAD_CONFIG_DNS_UPSTREAM_QUERY_ENABLE
|
||||
else
|
||||
|
||||
@@ -87,6 +87,11 @@ const otDnssdCounters *otDnssdGetCounters(otInstance *aInstance)
|
||||
}
|
||||
|
||||
#if OPENTHREAD_CONFIG_DNS_UPSTREAM_QUERY_ENABLE
|
||||
bool otDnssdUpstreamQueryIsEnabled(otInstance *aInstance)
|
||||
{
|
||||
return AsCoreType(aInstance).Get<Dns::ServiceDiscovery::Server>().IsUpstreamQueryEnabled();
|
||||
}
|
||||
|
||||
void otDnssdUpstreamQuerySetEnabled(otInstance *aInstance, bool aEnabled)
|
||||
{
|
||||
return AsCoreType(aInstance).Get<Dns::ServiceDiscovery::Server>().SetUpstreamQueryEnabled(aEnabled);
|
||||
|
||||
@@ -206,6 +206,15 @@ public:
|
||||
*/
|
||||
void OnUpstreamQueryDone(UpstreamQueryTransaction &aQueryTransaction, Message *aResponseMessage);
|
||||
|
||||
/**
|
||||
* This method indicates whether the server will forward DNS queries to platform DNS upstream API.
|
||||
*
|
||||
* @retval TRUE If the server will forward DNS queries.
|
||||
* @retval FALSE If the server will not forward DNS queries.
|
||||
*
|
||||
*/
|
||||
bool IsUpstreamQueryEnabled(void) const { return mEnableUpstreamQuery; }
|
||||
|
||||
/**
|
||||
* This method enables or disables forwarding DNS queries to platform DNS upstream API.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user