Skip to content

Commit

Permalink
DELIA-64891, ES1-1048 : Network failed to connect after Reset (#5139)
Browse files Browse the repository at this point in the history
* DELIA-64891, ES1-1048 : Network failed to connect after Reset

Reason for change: Avoided posting event when the interface state is empty.
Posting the event only when there is a valid interface state.PSB the details
of the interface state for posting event.
Event name : state
onInterfaceStatusChanged : INTERFACE_REMOVED or INTERFACE_ADDED
onConnectionStatusChanged : INTERFACE_LINK_DOWN or INTERFACE_LINK_UP
Test Procedure: Test and verified with GUI
Risks: Medium
Priority: P1
Signed-off-by: Gururaaja ESR <gururaja_erodesriranganramlingham@comcast.com>
  • Loading branch information
gururaajar committed Apr 9, 2024
1 parent 96fc63b commit 9840031
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
12 changes: 10 additions & 2 deletions NetworkManager/service/NetworkManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,8 @@ namespace WPEFramework
}

public:
/* Only for legacy, we are posting 2 events(onInterfaceStatusChanged and onConnectionStatusChanged)
in onInterfaceStateChange() function */
void onInterfaceStateChange(const Exchange::INetworkManager::InterfaceState event, const string interface) override
{
NMLOG_TRACE("%s", __FUNCTION__);
Expand All @@ -133,15 +135,21 @@ namespace WPEFramework
legacyParams["enabled"] = true;
else if(event == Exchange::INetworkManager::INTERFACE_REMOVED)
legacyParams["enabled"] = false;
_parent.Notify("onInterfaceStatusChanged", legacyParams);
/* Posting the "onInterfaceStatusChanged" event only when the interface state
is either INTERFACE_REMOVED or INTERFACE_ADDED */
if(event == Exchange::INetworkManager::INTERFACE_REMOVED || event == Exchange::INetworkManager::INTERFACE_ADDED)
_parent.Notify("onInterfaceStatusChanged", legacyParams);
if(event == Exchange::INetworkManager::INTERFACE_LINK_UP)
onConnParams["status"] = "CONNECTED";
else if(event == Exchange::INetworkManager::INTERFACE_LINK_DOWN)
onConnParams["status"] = "DISCONNECTED";
onConnParams["interface"] = legacyParams["interface"];
onConnParams.ToString(json);
NMLOG_TRACE("onConnectionStatusChanged onConnParams=%s", json.c_str() );
_parent.Notify("onConnectionStatusChanged", onConnParams);
/* Posting the "onConnectionStatusChanged" event only when the interface state
is either INTERFACE_LINK_UP or INTERFACE_LINK_DOWN */
if(event == Exchange::INetworkManager::INTERFACE_LINK_UP || event == Exchange::INetworkManager::INTERFACE_LINK_DOWN)
_parent.Notify("onConnectionStatusChanged", onConnParams);
#endif
params["interface"] = interface;
params["state"] = InterfaceStateToString(event);
Expand Down
3 changes: 3 additions & 0 deletions NetworkManager/service/NetworkManagerLegacy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ namespace WPEFramework
*/
void NetworkManager::RegisterLegacyMethods()
{
CreateHandler({2});
Register("getInterfaces", &NetworkManager::getInterfaces, this);
Register("isInterfaceEnabled", &NetworkManager::isInterfaceEnabled, this);
Register("getPublicIP", &NetworkManager::getPublicIP, this);
Expand Down Expand Up @@ -70,6 +71,8 @@ namespace WPEFramework
Register("saveSSID", &NetworkManager::saveSSID, this);
Register("getSupportedSecurityModes", &NetworkManager::GetSupportedSecurityModes, this);
Register("getCurrentState", &NetworkManager::GetWifiState, this);
GetHandler(2)->Register<JsonObject, JsonObject>("setIPSettings", &NetworkManager::setIPSettings, this);
GetHandler(2)->Register<JsonObject, JsonObject>("getIPSettings", &NetworkManager::getIPSettings, this);
}

/**
Expand Down

0 comments on commit 9840031

Please sign in to comment.