namespace Tizen { namespace App
{
+static const int MAX_REQUEST_COUNT = 128;
+
class _MapDataControlEventArg
: public IEventArg
{
{
result r = E_SUCCESS;
+ int req = -1;
+ _AppControlManager* pAppManagerImpl = _AppControlManager::GetInstance();
+
+ // Check the request count of DataControl operation
+ int count = pAppManagerImpl->GetLaunchRequestCount();
+ SysLog(NID_APP, "Current launch request count: %d", count);
+
+ SysTryReturnResult(NID_APP, count < MAX_REQUEST_COUNT, E_MAX_EXCEEDED, "The number of requests has exceeded the maximum limit.");
+
_AppArg* pArg = new(std::nothrow) _AppArg; // XXX: pArg will be released in _AppManagerImpl::LaunchApp().
SysTryReturnResult(NID_APP, pArg != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
pArg->Construct(*this, static_cast <_DataControlRequestType>(type), pDataList);
- _AppControlManager* pAppManagerImpl = _AppControlManager::GetInstance();
- int req = -1;
-
if (__pMapDataControlEvent)
{
// reqId is system-wide id because the bundle is system-wide.
}
}
+ // Remove the request count
+ SysLog(NID_APP, "Remove a launch request: reqId: %d", reqId);
+ _AppControlManager::GetInstance()->RemoveLaunchRequest(reqId);
+
return E_SUCCESS;
CATCH: