typedef NM_ErrorCode (*GetDevicePolicyFunc)(NM_hContext, const char* devId, const char * agentId, char** policy);
typedef NM_ErrorCode (*SetDevicePolicyFunc)(NM_hContext, const char* devId, const char* policy);
typedef NM_ErrorCode (*GetDeviceAgentsFunc)(NM_hContext, const char* devId, char** agents);
- typedef NM_ErrorCode (*UninstallAppFunc)(NM_hContext, const char* devId, const char* appName);
+ typedef NM_ErrorCode (*UninstallAppFunc)(NM_hContext, const char* devId, const char* parentUUID, const char* appName);
public:
ErrorCode NotifySubscribers(const std::string& title, const std::string& message);
- ErrorCode UninstallApp(const std::string& devId, const std::string& appName);
+ ErrorCode UninstallApp(const std::string& devId, const std::string& parentId, const std::string& appName);
struct ModuleSymbols
{
NetworkManager* nm = reinterpret_cast<NetworkManager*>(userData);
+ if (!nm)
+ {
+ LOG_ERR("Null context was passed");
+
+ return;
+ }
+
if (data.message && data.title)
{
if (data.type == NM_NotificationType::NT_Notify)
LOG_INFO("push simple notification: [%s] || [%s]", data.title, data.message);
PushNotification::GetInstance().Push(data.title, data.message);
}
- else if (data.duid && data.appname && (data.type == NM_NotificationType::NT_RemoveAppRequest))
+ else if (data.duid && data.appname && data.parentUuid && (data.type == NM_NotificationType::NT_RemoveAppRequest))
{
std::string app {data.appname};
LOG_INFO("appname ok");
LOG_INFO("message ok");
std::string duid {data.duid};
LOG_INFO("duid ok");
+ std::string parentUuid {data.parentUuid};
+ LOG_INFO("parent duid ok");
// if (PushNotification::GetInstance().PushActionRequest(data.title, data.message, data.duid, data.appname))
if (PushNotification::GetInstance().PushActionRequest(title, msg, duid, app))
{
int unistallRes = NM_ErrorCode::EC_OK;
- if ((unistallRes = nm->UninstallApp(data.duid, data.appname)) != NM_ErrorCode::EC_OK)
+ if ((unistallRes = nm->UninstallApp(data.duid, data.parentUuid, data.appname)) != NM_ErrorCode::EC_OK)
{
LOG_ERR("failed to send remove app request, error code: %d", unistallRes);
}
return GetPolicy(deviceId, agentId, policy);
}
-ErrorCode NetworkManager::UninstallApp(const std::string& devId,
+ErrorCode NetworkManager::UninstallApp(const std::string& devId, const std::string& parentId,
const std::string& appName)
{
+ LOG_DBG("BEGIN");
ASSERT_RETURN(m_moduleSymbols.m_nmUninstallAppFunc, "function isn't loaded", ErrorCode::Error);
NM_ErrorCode res;
- if ((res = m_moduleSymbols.m_nmUninstallAppFunc(m_context, devId.c_str(), appName.c_str()))
+ LOG_INFO("Send uninstall app request with params: dev id:[%s] parent id:[%s] appName:[%s]", devId.c_str(),
+ parentId.c_str(), appName.c_str());
+
+ if ((res = m_moduleSymbols.m_nmUninstallAppFunc(m_context, devId.c_str(), parentId.c_str(), appName.c_str()))
!= NM_ErrorCode::EC_OK)
{
LOG_ERR("network manager returned: %s", std::to_string(res).c_str());
return GetCorrespondingErrorCode(res);
}
+ LOG_DBG("END");
+
return ErrorCode::Success;
}