Matter SDK Coverage Report
Current view: top level - include/platform - ConnectivityManager.h (source / functions) Coverage Total Hit
Test: SHA:3f9cd168e84cd831b7699126f5296f5c5498690f Lines: 35.8 % 67 24
Test Date: 2026-04-27 19:52:19 Functions: 36.4 % 33 12

            Line data    Source code
       1              : /*
       2              :  *
       3              :  *    Copyright (c) 2020 Project CHIP Authors
       4              :  *    Copyright (c) 2018 Nest Labs, Inc.
       5              :  *
       6              :  *    Licensed under the Apache License, Version 2.0 (the "License");
       7              :  *    you may not use this file except in compliance with the License.
       8              :  *    You may obtain a copy of the License at
       9              :  *
      10              :  *        http://www.apache.org/licenses/LICENSE-2.0
      11              :  *
      12              :  *    Unless required by applicable law or agreed to in writing, software
      13              :  *    distributed under the License is distributed on an "AS IS" BASIS,
      14              :  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      15              :  *    See the License for the specific language governing permissions and
      16              :  *    limitations under the License.
      17              :  */
      18              : 
      19              : /**
      20              :  *    @file
      21              :  *          Defines the public interface for the Device Layer ConnectivityManager object.
      22              :  */
      23              : 
      24              : #pragma once
      25              : #include <memory>
      26              : 
      27              : #include <app/icd/server/ICDServerConfig.h>
      28              : #include <inet/UDPEndPoint.h>
      29              : #include <lib/support/CodeUtils.h>
      30              : #include <platform/CHIPDeviceConfig.h>
      31              : #include <platform/CHIPDeviceEvent.h>
      32              : 
      33              : #include <app/util/basic-types.h>
      34              : 
      35              : #if INET_CONFIG_ENABLE_TCP_ENDPOINT
      36              : #include <inet/TCPEndPoint.h>
      37              : #endif
      38              : #if CHIP_DEVICE_CONFIG_ENABLE_WIFIPAF
      39              : #include <wifipaf/WiFiPAFLayer.h>
      40              : #endif
      41              : 
      42              : namespace chip {
      43              : 
      44              : namespace Ble {
      45              : class BleLayer;
      46              : class BLEEndPoint;
      47              : } // namespace Ble
      48              : 
      49              : namespace DeviceLayer {
      50              : 
      51              : namespace Internal {
      52              : template <class>
      53              : class GenericPlatformManagerImpl;
      54              : template <class>
      55              : class GenericPlatformManagerImpl_CMSISOS;
      56              : template <class>
      57              : class GenericPlatformManagerImpl_FreeRTOS;
      58              : template <class>
      59              : class GenericPlatformManagerImpl_POSIX;
      60              : } // namespace Internal
      61              : 
      62              : class ConnectivityManager;
      63              : class ConnectivityManagerImpl;
      64              : 
      65              : /**
      66              :  * Defines the delegate class of Connectivity Manager to notify connectivity updates.
      67              :  */
      68              : class ConnectivityManagerDelegate
      69              : {
      70              : public:
      71              :     virtual ~ConnectivityManagerDelegate() {}
      72              : 
      73              :     /**
      74              :      * @brief
      75              :      *   Called when any network interface on the Node is changed
      76              :      *
      77              :      */
      78              :     virtual void OnNetworkInfoChanged() {}
      79              : };
      80              : 
      81              : /**
      82              :  * Provides control of network connectivity for a chip device.
      83              :  */
      84              : class ConnectivityManager
      85              : {
      86              :     using ImplClass = ::chip::DeviceLayer::ConnectivityManagerImpl;
      87              : 
      88              : public:
      89              :     // ===== Members that define the public interface of the ConnectivityManager
      90              : 
      91              :     enum WiFiStationMode
      92              :     {
      93              :         kWiFiStationMode_NotSupported          = 0,
      94              :         kWiFiStationMode_ApplicationControlled = 1,
      95              :         kWiFiStationMode_Disabled              = 2,
      96              :         kWiFiStationMode_Enabled               = 3,
      97              :     };
      98              : 
      99              :     enum WiFiAPMode
     100              :     {
     101              :         kWiFiAPMode_NotSupported                = 0,
     102              :         kWiFiAPMode_ApplicationControlled       = 1,
     103              :         kWiFiAPMode_Disabled                    = 2,
     104              :         kWiFiAPMode_Enabled                     = 3,
     105              :         kWiFiAPMode_OnDemand                    = 4,
     106              :         kWiFiAPMode_OnDemand_NoStationProvision = 5,
     107              :     };
     108              : 
     109              :     enum WiFiStationState
     110              :     {
     111              :         kWiFiStationState_NotConnected,
     112              :         kWiFiStationState_Connecting,
     113              :         kWiFiStationState_Connecting_Succeeded,
     114              :         kWiFiStationState_Connecting_Failed,
     115              :         kWiFiStationState_Connected,
     116              :         kWiFiStationState_Disconnecting,
     117              :     };
     118              : 
     119              :     enum WiFiAPState
     120              :     {
     121              :         kWiFiAPState_NotActive,
     122              :         kWiFiAPState_Activating,
     123              :         kWiFiAPState_Active,
     124              :         kWiFiAPState_Deactivating,
     125              :     };
     126              : 
     127              :     enum CHIPoNFCServiceMode
     128              :     {
     129              :         kCHIPoNFCServiceMode_NotSupported = 0,
     130              :         kCHIPoNFCServiceMode_Enabled      = 1,
     131              :         kCHIPoNFCServiceMode_Disabled     = 2,
     132              :     };
     133              : 
     134              :     enum CHIPoBLEServiceMode
     135              :     {
     136              :         kCHIPoBLEServiceMode_NotSupported = 0,
     137              :         kCHIPoBLEServiceMode_Enabled      = 1,
     138              :         kCHIPoBLEServiceMode_Disabled     = 2,
     139              :     };
     140              : 
     141              :     enum ThreadDeviceType
     142              :     {
     143              :         kThreadDeviceType_NotSupported                = 0,
     144              :         kThreadDeviceType_Router                      = 1,
     145              :         kThreadDeviceType_FullEndDevice               = 2,
     146              :         kThreadDeviceType_MinimalEndDevice            = 3,
     147              :         kThreadDeviceType_SleepyEndDevice             = 4,
     148              :         kThreadDeviceType_SynchronizedSleepyEndDevice = 5,
     149              :     };
     150              : 
     151              :     enum BLEAdvertisingMode
     152              :     {
     153              :         kFastAdvertising     = 0,
     154              :         kSlowAdvertising     = 1,
     155              :         kExtendedAdvertising = 2,
     156              :     };
     157              : 
     158              :     enum class SEDIntervalMode
     159              :     {
     160              :         Idle   = 0,
     161              :         Active = 1,
     162              :     };
     163              : 
     164              :     struct SEDIntervalsConfig;
     165              : 
     166              :     void SetDelegate(ConnectivityManagerDelegate * delegate) { mDelegate = delegate; }
     167              :     ConnectivityManagerDelegate * GetDelegate() const { return mDelegate; }
     168              : 
     169              :     chip::Inet::EndPointManager<Inet::UDPEndPoint> & UDPEndPointManager();
     170              : 
     171              : #if INET_CONFIG_ENABLE_TCP_ENDPOINT
     172              :     chip::Inet::EndPointManager<Inet::TCPEndPoint> & TCPEndPointManager();
     173              : #endif
     174              : 
     175              :     // WiFi station methods
     176              :     WiFiStationMode GetWiFiStationMode();
     177              :     CHIP_ERROR SetWiFiStationMode(WiFiStationMode val);
     178              :     bool IsWiFiStationEnabled();
     179              :     bool IsWiFiStationApplicationControlled();
     180              :     bool IsWiFiStationConnected();
     181              :     System::Clock::Timeout GetWiFiStationReconnectInterval();
     182              :     CHIP_ERROR SetWiFiStationReconnectInterval(System::Clock::Timeout val);
     183              :     bool IsWiFiStationProvisioned();
     184              :     void ClearWiFiStationProvision();
     185              :     CHIP_ERROR GetAndLogWiFiStatsCounters();
     186              : #if CHIP_DEVICE_CONFIG_ENABLE_WIFIPAF
     187              :     struct WiFiPAFAdvertiseParam;
     188              :     void WiFiPAFSetParam(const WiFiPAFAdvertiseParam & pafAdvParam);
     189              :     CHIP_ERROR SetWiFiPAFAdvertisingEnabled(bool enabled, uint32_t & publishId);
     190              :     CHIP_ERROR WiFiPAFPublish(WiFiPAFAdvertiseParam & args);
     191              :     CHIP_ERROR WiFiPAFCancelPublish(uint32_t PublishId);
     192              :     typedef void (*OnConnectionCompleteFunct)(void * appState);
     193              :     typedef void (*OnConnectionErrorFunct)(void * appState, CHIP_ERROR err);
     194              :     CHIP_ERROR WiFiPAFSubscribe(const uint16_t & connDiscriminator, void * appState, OnConnectionCompleteFunct onSuccess,
     195              :                                 OnConnectionErrorFunct onError);
     196              :     CHIP_ERROR WiFiPAFCancelSubscribe(uint32_t SubscribeId);
     197              :     CHIP_ERROR WiFiPAFCancelIncompleteSubscribe();
     198              :     CHIP_ERROR WiFiPAFSend(const WiFiPAF::WiFiPAFSession & TxInfo, System::PacketBufferHandle && msgBuf);
     199              :     WiFiPAF::WiFiPAFLayer * GetWiFiPAF();
     200              :     void WiFiPafSetApFreq(const uint16_t freq);
     201              :     CHIP_ERROR WiFiPAFShutdown(uint32_t id, WiFiPAF::WiFiPafRole role);
     202              :     bool WiFiPAFResourceAvailable();
     203              : #endif
     204              : 
     205              :     // WiFi AP methods
     206              :     WiFiAPMode GetWiFiAPMode();
     207              :     CHIP_ERROR SetWiFiAPMode(WiFiAPMode val);
     208              :     bool IsWiFiAPActive();
     209              :     bool IsWiFiAPApplicationControlled();
     210              :     void DemandStartWiFiAP();
     211              :     void StopOnDemandWiFiAP();
     212              :     void MaintainOnDemandWiFiAP();
     213              :     System::Clock::Timeout GetWiFiAPIdleTimeout();
     214              :     void SetWiFiAPIdleTimeout(System::Clock::Timeout val);
     215              :     CHIP_ERROR DisconnectNetwork();
     216              : 
     217              :     // Thread Methods
     218              :     bool IsThreadEnabled();
     219              :     ThreadDeviceType GetThreadDeviceType();
     220              :     CHIP_ERROR SetThreadDeviceType(ThreadDeviceType deviceType);
     221              :     bool IsThreadAttached();
     222              :     bool IsThreadProvisioned();
     223              :     void ErasePersistentInfo();
     224              :     void ResetThreadNetworkDiagnosticsCounts();
     225              : 
     226              :     CHIP_ERROR SetPollingInterval(System::Clock::Milliseconds32 pollingInterval);
     227              : 
     228              :     // CHIPoBLE service methods
     229              :     Ble::BleLayer * GetBleLayer();
     230              :     bool IsBLEAdvertisingEnabled();
     231              :     /**
     232              :      * Enable or disable BLE advertising.
     233              :      *
     234              :      * @return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE if BLE advertising is not
     235              :      * supported or other error on other failures.
     236              :      */
     237              :     CHIP_ERROR SetBLEAdvertisingEnabled(bool val);
     238              :     bool IsBLEAdvertising();
     239              :     CHIP_ERROR SetBLEAdvertisingMode(BLEAdvertisingMode mode);
     240              :     CHIP_ERROR GetBLEDeviceName(char * buf, size_t bufSize);
     241              :     CHIP_ERROR SetBLEDeviceName(const char * deviceName);
     242              :     uint16_t NumBLEConnections();
     243              : 
     244              :     // User selected mode methods
     245              :     bool IsUserSelectedModeActive();
     246              :     void SetUserSelectedMode(bool val);
     247              :     uint16_t GetUserSelectedModeTimeout();
     248              :     void SetUserSelectedModeTimeout(uint16_t val);
     249              : 
     250              :     // Support methods
     251              :     static const char * WiFiStationModeToStr(WiFiStationMode mode);
     252              :     static const char * WiFiAPModeToStr(WiFiAPMode mode);
     253              :     static const char * WiFiStationStateToStr(WiFiStationState state);
     254              :     static const char * WiFiAPStateToStr(WiFiAPState state);
     255              :     static const char * CHIPoBLEServiceModeToStr(CHIPoBLEServiceMode mode);
     256              : 
     257              : private:
     258              :     ConnectivityManagerDelegate * mDelegate = nullptr;
     259              : 
     260              :     // ===== Members for internal use by the following friends.
     261              : 
     262              :     friend class PlatformManagerImpl;
     263              :     template <class>
     264              :     friend class Internal::GenericPlatformManagerImpl;
     265              :     template <class>
     266              :     friend class Internal::GenericPlatformManagerImpl_CMSISOS;
     267              :     template <class>
     268              :     friend class Internal::GenericPlatformManagerImpl_FreeRTOS;
     269              :     template <class>
     270              :     friend class Internal::GenericPlatformManagerImpl_POSIX;
     271              : 
     272              :     CHIP_ERROR Init();
     273              :     void OnPlatformEvent(const ChipDeviceEvent * event);
     274              :     void OnWiFiScanDone();
     275              :     void OnWiFiStationProvisionChange();
     276              : 
     277              : protected:
     278              :     // Construction/destruction limited to subclasses.
     279           51 :     ConnectivityManager()  = default;
     280              :     ~ConnectivityManager() = default;
     281              : 
     282              :     // No copy, move or assignment.
     283              :     ConnectivityManager(const ConnectivityManager &)             = delete;
     284              :     ConnectivityManager(const ConnectivityManager &&)            = delete;
     285              :     ConnectivityManager & operator=(const ConnectivityManager &) = delete;
     286              : };
     287              : 
     288              : /**
     289              :  * Information describing the desired intervals for a sleepy end device (SED).
     290              :  */
     291              : struct ConnectivityManager::SEDIntervalsConfig
     292              : {
     293              :     /** Interval at which the device is able to communicate with its parent when there are active chip exchanges in progress. Only
     294              :      * meaningful when the device is acting as a sleepy end node.  */
     295              :     System::Clock::Milliseconds32 ActiveIntervalMS;
     296              : 
     297              :     /** Interval at which the device is able to communicate with its parent when there are NO active chip exchanges in progress.
     298              :      * Only meaningful when the device is acting as a sleepy end node. */
     299              :     System::Clock::Milliseconds32 IdleIntervalMS;
     300              : };
     301              : 
     302              : #if CHIP_DEVICE_CONFIG_ENABLE_WIFIPAF
     303              : struct ConnectivityManager::WiFiPAFAdvertiseParam
     304              : {
     305              :     /* Frequency list */
     306              :     uint16_t freq_list_len = 0;
     307              :     std::unique_ptr<uint16_t[]> freq_list;
     308              :     uint32_t publish_id;
     309              : };
     310              : #endif
     311              : 
     312              : /**
     313              :  * Returns a reference to the public interface of the ConnectivityManager singleton object.
     314              :  *
     315              :  * Applications should use this to access features of the ConnectivityManager object
     316              :  * that are common to all platforms.
     317              :  */
     318              : extern ConnectivityManager & ConnectivityMgr();
     319              : 
     320              : /**
     321              :  * Returns the platform-specific implementation of the ConnectivityManager singleton object.
     322              :  *
     323              :  * Applications can use this to gain access to features of the ConnectivityManager
     324              :  * that are specific to the selected platform.
     325              :  */
     326              : extern ConnectivityManagerImpl & ConnectivityMgrImpl();
     327              : 
     328              : } // namespace DeviceLayer
     329              : } // namespace chip
     330              : 
     331              : /* Include a header file containing the implementation of the ConnectivityManager
     332              :  * object for the selected platform.
     333              :  */
     334              : #ifdef EXTERNAL_CONNECTIVITYMANAGERIMPL_HEADER
     335              : #include EXTERNAL_CONNECTIVITYMANAGERIMPL_HEADER
     336              : #elif defined(CHIP_DEVICE_LAYER_TARGET)
     337              : #define CONNECTIVITYMANAGERIMPL_HEADER <platform/CHIP_DEVICE_LAYER_TARGET/ConnectivityManagerImpl.h>
     338              : #include CONNECTIVITYMANAGERIMPL_HEADER
     339              : #endif // defined(CHIP_DEVICE_LAYER_TARGET)
     340              : 
     341              : namespace chip {
     342              : namespace DeviceLayer {
     343              : 
     344          143 : inline chip::Inet::EndPointManager<Inet::UDPEndPoint> & ConnectivityManager::UDPEndPointManager()
     345              : {
     346          143 :     return static_cast<ImplClass *>(this)->_UDPEndPointManager();
     347              : }
     348              : 
     349              : #if INET_CONFIG_ENABLE_TCP_ENDPOINT
     350          114 : inline chip::Inet::EndPointManager<Inet::TCPEndPoint> & ConnectivityManager::TCPEndPointManager()
     351              : {
     352          114 :     return static_cast<ImplClass *>(this)->_TCPEndPointManager();
     353              : }
     354              : #endif
     355              : 
     356            0 : inline ConnectivityManager::WiFiStationMode ConnectivityManager::GetWiFiStationMode()
     357              : {
     358            0 :     return static_cast<ImplClass *>(this)->_GetWiFiStationMode();
     359              : }
     360              : 
     361            0 : inline CHIP_ERROR ConnectivityManager::SetWiFiStationMode(WiFiStationMode val)
     362              : {
     363            0 :     return static_cast<ImplClass *>(this)->_SetWiFiStationMode(val);
     364              : }
     365              : 
     366            0 : inline bool ConnectivityManager::IsWiFiStationEnabled()
     367              : {
     368            0 :     return static_cast<ImplClass *>(this)->_IsWiFiStationEnabled();
     369              : }
     370              : 
     371              : inline bool ConnectivityManager::IsWiFiStationApplicationControlled()
     372              : {
     373              :     return static_cast<ImplClass *>(this)->_IsWiFiStationApplicationControlled();
     374              : }
     375              : 
     376            0 : inline bool ConnectivityManager::IsWiFiStationConnected()
     377              : {
     378            0 :     return static_cast<ImplClass *>(this)->_IsWiFiStationConnected();
     379              : }
     380              : 
     381              : inline System::Clock::Timeout ConnectivityManager::GetWiFiStationReconnectInterval()
     382              : {
     383              :     return static_cast<ImplClass *>(this)->_GetWiFiStationReconnectInterval();
     384              : }
     385              : 
     386              : inline CHIP_ERROR ConnectivityManager::SetWiFiStationReconnectInterval(System::Clock::Timeout val)
     387              : {
     388              :     return static_cast<ImplClass *>(this)->_SetWiFiStationReconnectInterval(val);
     389              : }
     390              : 
     391            0 : inline bool ConnectivityManager::IsWiFiStationProvisioned()
     392              : {
     393            0 :     return static_cast<ImplClass *>(this)->_IsWiFiStationProvisioned();
     394              : }
     395              : 
     396              : inline void ConnectivityManager::ClearWiFiStationProvision()
     397              : {
     398              :     static_cast<ImplClass *>(this)->_ClearWiFiStationProvision();
     399              : }
     400              : 
     401            0 : inline ConnectivityManager::WiFiAPMode ConnectivityManager::GetWiFiAPMode()
     402              : {
     403            0 :     return static_cast<ImplClass *>(this)->_GetWiFiAPMode();
     404              : }
     405              : 
     406            0 : inline CHIP_ERROR ConnectivityManager::SetWiFiAPMode(WiFiAPMode val)
     407              : {
     408            0 :     return static_cast<ImplClass *>(this)->_SetWiFiAPMode(val);
     409              : }
     410              : 
     411              : inline bool ConnectivityManager::IsWiFiAPActive()
     412              : {
     413              :     return static_cast<ImplClass *>(this)->_IsWiFiAPActive();
     414              : }
     415              : 
     416              : inline bool ConnectivityManager::IsWiFiAPApplicationControlled()
     417              : {
     418              :     return static_cast<ImplClass *>(this)->_IsWiFiAPApplicationControlled();
     419              : }
     420              : 
     421              : inline void ConnectivityManager::DemandStartWiFiAP()
     422              : {
     423              :     static_cast<ImplClass *>(this)->_DemandStartWiFiAP();
     424              : }
     425              : 
     426              : inline void ConnectivityManager::StopOnDemandWiFiAP()
     427              : {
     428              :     static_cast<ImplClass *>(this)->_StopOnDemandWiFiAP();
     429              : }
     430              : 
     431              : inline void ConnectivityManager::MaintainOnDemandWiFiAP()
     432              : {
     433              :     static_cast<ImplClass *>(this)->_MaintainOnDemandWiFiAP();
     434              : }
     435              : 
     436              : inline System::Clock::Timeout ConnectivityManager::GetWiFiAPIdleTimeout()
     437              : {
     438              :     return static_cast<ImplClass *>(this)->_GetWiFiAPIdleTimeout();
     439              : }
     440              : 
     441              : inline void ConnectivityManager::SetWiFiAPIdleTimeout(System::Clock::Timeout val)
     442              : {
     443              :     static_cast<ImplClass *>(this)->_SetWiFiAPIdleTimeout(val);
     444              : }
     445              : 
     446              : inline CHIP_ERROR ConnectivityManager::GetAndLogWiFiStatsCounters()
     447              : {
     448              :     return static_cast<ImplClass *>(this)->_GetAndLogWiFiStatsCounters();
     449              : }
     450              : 
     451              : #if CHIP_DEVICE_CONFIG_ENABLE_WIFIPAF
     452              : inline void ConnectivityManager::WiFiPAFSetParam(const WiFiPAFAdvertiseParam & pafAdvParam)
     453              : {
     454              :     return static_cast<ImplClass *>(this)->_WiFiPAFSetParam(pafAdvParam);
     455              : }
     456              : 
     457            1 : inline CHIP_ERROR ConnectivityManager::SetWiFiPAFAdvertisingEnabled(bool enabled, uint32_t & publishId)
     458              : {
     459            1 :     return static_cast<ImplClass *>(this)->_SetWiFiPAFAdvertisingEnabled(enabled, publishId);
     460              : }
     461              : 
     462            0 : inline CHIP_ERROR ConnectivityManager::WiFiPAFPublish(WiFiPAFAdvertiseParam & args)
     463              : {
     464            0 :     return static_cast<ImplClass *>(this)->_WiFiPAFPublish(args);
     465              : }
     466              : 
     467            0 : inline CHIP_ERROR ConnectivityManager::WiFiPAFCancelPublish(uint32_t PublishId)
     468              : {
     469            0 :     return static_cast<ImplClass *>(this)->_WiFiPAFCancelPublish(PublishId);
     470              : }
     471              : 
     472            0 : inline CHIP_ERROR ConnectivityManager::WiFiPAFSubscribe(const uint16_t & connDiscriminator, void * appState,
     473              :                                                         OnConnectionCompleteFunct onSuccess, OnConnectionErrorFunct onError)
     474              : {
     475            0 :     return static_cast<ImplClass *>(this)->_WiFiPAFSubscribe(connDiscriminator, appState, onSuccess, onError);
     476              : }
     477              : 
     478              : inline CHIP_ERROR ConnectivityManager::WiFiPAFCancelSubscribe(uint32_t SubscribeId)
     479              : {
     480              :     return static_cast<ImplClass *>(this)->_WiFiPAFCancelSubscribe(SubscribeId);
     481              : }
     482              : 
     483            1 : inline CHIP_ERROR ConnectivityManager::WiFiPAFCancelIncompleteSubscribe()
     484              : {
     485            1 :     return static_cast<ImplClass *>(this)->_WiFiPAFCancelIncompleteSubscribe();
     486              : }
     487              : 
     488            0 : inline CHIP_ERROR ConnectivityManager::WiFiPAFSend(const WiFiPAF::WiFiPAFSession & TxInfo,
     489              :                                                    chip::System::PacketBufferHandle && msgBuf)
     490              : {
     491            0 :     return static_cast<ImplClass *>(this)->_WiFiPAFSend(TxInfo, std::move(msgBuf));
     492              : }
     493              : 
     494            0 : inline CHIP_ERROR ConnectivityManager::WiFiPAFShutdown(uint32_t id, WiFiPAF::WiFiPafRole role)
     495              : {
     496            0 :     return static_cast<ImplClass *>(this)->_WiFiPAFShutdown(id, role);
     497              : }
     498              : 
     499            0 : inline bool ConnectivityManager::WiFiPAFResourceAvailable()
     500              : {
     501            0 :     return static_cast<ImplClass *>(this)->_WiFiPAFResourceAvailable();
     502              : }
     503              : #endif
     504              : 
     505              : inline bool ConnectivityManager::IsThreadEnabled()
     506              : {
     507              :     return static_cast<ImplClass *>(this)->_IsThreadEnabled();
     508              : }
     509              : 
     510              : inline ConnectivityManager::ThreadDeviceType ConnectivityManager::GetThreadDeviceType()
     511              : {
     512              :     return static_cast<ImplClass *>(this)->_GetThreadDeviceType();
     513              : }
     514              : 
     515              : inline CHIP_ERROR ConnectivityManager::SetThreadDeviceType(ThreadDeviceType deviceType)
     516              : {
     517              :     return static_cast<ImplClass *>(this)->_SetThreadDeviceType(deviceType);
     518              : }
     519              : 
     520           39 : inline CHIP_ERROR ConnectivityManager::SetPollingInterval(System::Clock::Milliseconds32 pollingInterval)
     521              : {
     522              : #if CHIP_CONFIG_ENABLE_ICD_SERVER
     523              :     return static_cast<ImplClass *>(this)->_SetPollingInterval(pollingInterval);
     524              : #else
     525           39 :     return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE;
     526              : #endif
     527              : }
     528              : 
     529            0 : inline bool ConnectivityManager::IsThreadAttached()
     530              : {
     531            0 :     return static_cast<ImplClass *>(this)->_IsThreadAttached();
     532              : }
     533              : 
     534            0 : inline bool ConnectivityManager::IsThreadProvisioned()
     535              : {
     536            0 :     return static_cast<ImplClass *>(this)->_IsThreadProvisioned();
     537              : }
     538              : 
     539              : inline void ConnectivityManager::ErasePersistentInfo()
     540              : {
     541              :     static_cast<ImplClass *>(this)->_ErasePersistentInfo();
     542              : }
     543              : 
     544            0 : inline void ConnectivityManager::ResetThreadNetworkDiagnosticsCounts()
     545              : {
     546            0 :     static_cast<ImplClass *>(this)->_ResetThreadNetworkDiagnosticsCounts();
     547            0 : }
     548              : 
     549              : #if CHIP_DEVICE_CONFIG_ENABLE_WIFIPAF
     550            2 : inline WiFiPAF::WiFiPAFLayer * ConnectivityManager::GetWiFiPAF()
     551              : {
     552            2 :     return &WiFiPAF::WiFiPAFLayer::GetWiFiPAFLayer();
     553              : }
     554              : 
     555              : inline void ConnectivityManager::WiFiPafSetApFreq(const uint16_t freq)
     556              : {
     557              :     static_cast<ImplClass *>(this)->_WiFiPafSetApFreq(freq);
     558              : }
     559              : #endif
     560              : 
     561            2 : inline Ble::BleLayer * ConnectivityManager::GetBleLayer()
     562              : {
     563            2 :     return static_cast<ImplClass *>(this)->_GetBleLayer();
     564              : }
     565              : 
     566            5 : inline bool ConnectivityManager::IsBLEAdvertisingEnabled()
     567              : {
     568            5 :     return static_cast<ImplClass *>(this)->_IsBLEAdvertisingEnabled();
     569              : }
     570              : 
     571            2 : inline CHIP_ERROR ConnectivityManager::SetBLEAdvertisingEnabled(bool val)
     572              : {
     573            2 :     return static_cast<ImplClass *>(this)->_SetBLEAdvertisingEnabled(val);
     574              : }
     575              : 
     576              : inline bool ConnectivityManager::IsBLEAdvertising()
     577              : {
     578              :     return static_cast<ImplClass *>(this)->_IsBLEAdvertising();
     579              : }
     580              : 
     581              : inline CHIP_ERROR ConnectivityManager::SetBLEAdvertisingMode(BLEAdvertisingMode mode)
     582              : {
     583              :     return static_cast<ImplClass *>(this)->_SetBLEAdvertisingMode(mode);
     584              : }
     585              : 
     586              : inline CHIP_ERROR ConnectivityManager::GetBLEDeviceName(char * buf, size_t bufSize)
     587              : {
     588              :     return static_cast<ImplClass *>(this)->_GetBLEDeviceName(buf, bufSize);
     589              : }
     590              : 
     591            0 : inline CHIP_ERROR ConnectivityManager::SetBLEDeviceName(const char * deviceName)
     592              : {
     593            0 :     return static_cast<ImplClass *>(this)->_SetBLEDeviceName(deviceName);
     594              : }
     595              : 
     596              : inline uint16_t ConnectivityManager::NumBLEConnections()
     597              : {
     598              :     return static_cast<ImplClass *>(this)->_NumBLEConnections();
     599              : }
     600              : 
     601              : inline bool ConnectivityManager::IsUserSelectedModeActive()
     602              : {
     603              :     return static_cast<ImplClass *>(this)->_IsUserSelectedModeActive();
     604              : }
     605              : 
     606              : inline void ConnectivityManager::SetUserSelectedMode(bool val)
     607              : {
     608              :     static_cast<ImplClass *>(this)->_SetUserSelectedMode(val);
     609              : }
     610              : 
     611              : inline uint16_t ConnectivityManager::GetUserSelectedModeTimeout()
     612              : {
     613              :     return static_cast<ImplClass *>(this)->_GetUserSelectedModeTimeout();
     614              : }
     615              : 
     616              : inline void ConnectivityManager::SetUserSelectedModeTimeout(uint16_t val)
     617              : {
     618              :     static_cast<ImplClass *>(this)->_SetUserSelectedModeTimeout(val);
     619              : }
     620              : 
     621            0 : inline const char * ConnectivityManager::WiFiStationModeToStr(WiFiStationMode mode)
     622              : {
     623            0 :     return ImplClass::_WiFiStationModeToStr(mode);
     624              : }
     625              : 
     626            0 : inline const char * ConnectivityManager::WiFiAPModeToStr(WiFiAPMode mode)
     627              : {
     628            0 :     return ImplClass::_WiFiAPModeToStr(mode);
     629              : }
     630              : 
     631              : inline const char * ConnectivityManager::WiFiStationStateToStr(WiFiStationState state)
     632              : {
     633              :     return ImplClass::_WiFiStationStateToStr(state);
     634              : }
     635              : 
     636            0 : inline const char * ConnectivityManager::WiFiAPStateToStr(WiFiAPState state)
     637              : {
     638            0 :     return ImplClass::_WiFiAPStateToStr(state);
     639              : }
     640              : 
     641              : inline const char * ConnectivityManager::CHIPoBLEServiceModeToStr(CHIPoBLEServiceMode mode)
     642              : {
     643              :     return ImplClass::_CHIPoBLEServiceModeToStr(mode);
     644              : }
     645              : 
     646           56 : inline CHIP_ERROR ConnectivityManager::Init()
     647              : {
     648           56 :     return static_cast<ImplClass *>(this)->_Init();
     649              : }
     650              : 
     651           25 : inline void ConnectivityManager::OnPlatformEvent(const ChipDeviceEvent * event)
     652              : {
     653           25 :     static_cast<ImplClass *>(this)->_OnPlatformEvent(event);
     654           25 : }
     655              : 
     656              : inline void ConnectivityManager::OnWiFiScanDone()
     657              : {
     658              :     static_cast<ImplClass *>(this)->_OnWiFiScanDone();
     659              : }
     660              : 
     661              : inline void ConnectivityManager::OnWiFiStationProvisionChange()
     662              : {
     663              :     static_cast<ImplClass *>(this)->_OnWiFiStationProvisionChange();
     664              : }
     665              : 
     666            0 : inline CHIP_ERROR ConnectivityManager::DisconnectNetwork()
     667              : {
     668            0 :     return static_cast<ImplClass *>(this)->_DisconnectNetwork();
     669              : }
     670              : 
     671              : } // namespace DeviceLayer
     672              : } // namespace chip
        

Generated by: LCOV version 2.0-1