/*
* Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
*
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.1 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://floralicense.org/license/
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
result = requestPauseAll();
break;
case REQUEST_CMD_OPEN_PD:
- result = requestOpenPd(boxInfo->instanceId, boxInfo->pdWidth, boxInfo->pdHeight);
+ result = requestOpenPd(boxInfo->instanceId,
+ boxInfo->pdWidth, boxInfo->pdHeight,
+ boxInfo->pdX, boxInfo->pdY);
break;
case REQUEST_CMD_CLOSE_PD:
result = requestClosePd(boxInfo->instanceId);
break;
+ case REQUEST_CMD_CHANGE_PERIOD:
+ result = requestChangePeriod(boxInfo->instanceId, boxInfo->period);
+ break;
+ case REQUEST_CMD_UPDATE_BOX:
+ result = requestUpdateBox(boxInfo->instanceId);
+ break;
default:
LogD("not available request type");
break;
return false;
}
- return box->pause();
+ // paused by switching other page
+ return box->pause(false);
}
bool BoxManager::requestResumeAll()
{
LogD("enter");
for (auto it = m_boxMap.begin(); it != m_boxMap.end(); it++) {
- it->second->resume();
+ if (it->second->isCurrentTab()) {
+ it->second->resume();
+ }
}
return true;
{
LogD("enter");
for (auto it = m_boxMap.begin(); it != m_boxMap.end(); it++) {
- it->second->pause();
+ if (it->second->isCurrentTab()) {
+ // paused by entering background
+ it->second->pause(true);
+ }
}
return true;
}
-bool BoxManager::requestOpenPd(std::string& instanceId, int width, int height)
+bool BoxManager::requestOpenPd(
+ std::string& instanceId,
+ int width, int height, double x, double y)
{
+ LogD("enter");
IBoxPtr box = searchBoxMap(instanceId);
if (!box) {
return false;
}
- return box->openPd(width, height);
+ return box->openPd(width, height, x, y);
}
bool BoxManager::requestClosePd(std::string& instanceId)
{
+ LogD("enter");
IBoxPtr box = searchBoxMap(instanceId);
if (!box) {
return false;
return box->closePd();
}
+bool BoxManager::requestChangePeriod(std::string& instanceId, float period)
+{
+ LogD("enter");
+ IBoxPtr box = searchBoxMap(instanceId);
+ if (!box) {
+ return false;
+ }
+
+ return box->changePeriod(period);
+}
+
+bool BoxManager::requestUpdateBox(std::string& instanceId)
+{
+ LogD("enter");
+ IBoxPtr box = searchBoxMap(instanceId);
+ if (!box) {
+ return false;
+ }
+
+ return box->update();
+}
+
void BoxManager::insertBoxMap(std::string& instanceId, IBoxPtr box)
{
if (!searchBoxMap(instanceId)) {