fix AppControl argument handling to Core AppControl
authorYoung Ik Cho <youngik.cho@samsung.com>
Tue, 9 Apr 2013 11:30:53 +0000 (20:30 +0900)
committerYoung Ik Cho <youngik.cho@samsung.com>
Tue, 9 Apr 2013 11:30:53 +0000 (20:30 +0900)
Change-Id: I132d11a198cc5fcd6151ba30503916c9fcea44a0
Signed-off-by: Young Ik Cho <youngik.cho@samsung.com>
inc/FAppIAppControlResponseListener.h
src/app/FApp_AppControlImpl.cpp [changed mode: 0644->0755]

index 566a04e..001e724 100755 (executable)
@@ -65,7 +65,7 @@ public:
         * @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
old mode 100644 (file)
new mode 100755 (executable)
index dfeb082..eb6139a
@@ -628,7 +628,7 @@ _AppControlImpl::StartNative(const String* pUriData, const String* pMimeType, co
                        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)
        {
@@ -693,7 +693,10 @@ _AppControlImpl::InvokeStartAppControl(_LibraryImpl& lib, int req, const String&
        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