* @param[in] appId The ID of the requested application
* @param[in] operationId The operation ID used in application control invocation
* @param[in] appControlResult The application control result
- * @param[in] pExtraData A pointer to an result map of key and value pair where the key of type String and the value of type ArrayList of String
+ * @param[in] pExtraData A pointer to an result map of key and value pair where the key of type String and the value of type String or of type ArrayList of String
* @remarks The application control completion result is received when the requested application control
* sends the result using AppControlProviderManager::SendAppControlResult().
* @see AppControl
req = _AppControlManager::GetInstance()->__inAppManager.InsertItem(pItem);
}
}
- r = InvokeStartAppControl(*pLib, req, _provider, _opId, null, null, pDataList);
+ r = InvokeStartAppControl(*pLib, req, _provider, _opId, pUriData, pMimeType, pDataList);
if (pListener == null)
{
pFunc =
reinterpret_cast<result (*)(int, const String&, const String&, const String*, const String*, const IMap*)>(lib.GetProcAddress(L"StartAppControl"));
SysTryReturnResult(NID_APP, pFunc != null, E_OBJ_NOT_FOUND, "Entry \"StartAppControl\" not found for %ls", appId.GetPointer());
- return (*pFunc)(req, appId, oId, pUri, pMime, pMap);
+
+ const String* pActualUri = (pUri && !(pUri->IsEmpty())) ? pUri : null;
+ const String* pActualMime = (pMime && !(pMime->IsEmpty())) ? pMime : null;
+ return (*pFunc)(req, appId, oId, pActualUri, pActualMime, pMap);
}
static bool