[nwprov] Make it possible to notify network commissioning cluster for autonomous connection (#15666)
* [nwprov] Move GetLast* attributes to Driver side
* Add placeholder for other platforms
* Fix Linux ThreadStackManagerImpl
* Add issue number
* Fix
* Set LastNetworkingStatus for manual Scan operations
* Let the driver push result instead of cluster getting the value
diff --git a/src/platform/Linux/NetworkCommissioningDriver.h b/src/platform/Linux/NetworkCommissioningDriver.h
index 41daa19..19431e5 100644
--- a/src/platform/Linux/NetworkCommissioningDriver.h
+++ b/src/platform/Linux/NetworkCommissioningDriver.h
@@ -79,8 +79,8 @@
// BaseDriver
NetworkIterator * GetNetworks() override { return new WiFiNetworkIterator(this); }
- CHIP_ERROR Init() override;
- CHIP_ERROR Shutdown() override { return CHIP_NO_ERROR; } // Nothing to do on linux for shutdown.
+ CHIP_ERROR Init(BaseDriver::NetworkStatusChangeCallback * networkStatusChangeCallback) override;
+ CHIP_ERROR Shutdown() override;
// WirelessDriver
uint8_t GetMaxNetworks() override { return 1; }
@@ -104,6 +104,7 @@
WiFiNetworkIterator mWiFiIterator = WiFiNetworkIterator(this);
WiFiNetwork mSavedNetwork;
WiFiNetwork mStagingNetwork;
+ Optional<Status> mScanStatus;
};
#endif // CHIP_DEVICE_CONFIG_ENABLE_WPA
@@ -127,8 +128,8 @@
// BaseDriver
NetworkIterator * GetNetworks() override { return new ThreadNetworkIterator(this); }
- CHIP_ERROR Init() override;
- CHIP_ERROR Shutdown() override { return CHIP_NO_ERROR; } // Nothing to do on linux for shutdown.
+ CHIP_ERROR Init(BaseDriver::NetworkStatusChangeCallback * networkStatusChangeCallback) override;
+ CHIP_ERROR Shutdown() override;
// WirelessDriver
uint8_t GetMaxNetworks() override { return 1; }
@@ -144,7 +145,7 @@
// ThreadDriver
Status AddOrUpdateNetwork(ByteSpan operationalDataset) override;
- void ScanNetworks(ScanCallback * callback) override;
+ void ScanNetworks(ThreadDriver::ScanCallback * callback) override;
private:
ThreadNetworkIterator mThreadIterator = ThreadNetworkIterator(this);