#include <dpl/wrt-dao-rw/widget_dao.h>
#include <sstream>
-#include <dpl/log/log.h>
+#include <dpl/log/wrt_log.h>
#include <dpl/foreach.h>
#include <dpl/wrt-dao-ro/webruntime_database.h>
#include <dpl/wrt-dao-rw/property_dao.h>
#define SQL_CONNECTION_EXCEPTION_HANDLER_END(message) \
Catch(DPL::DB::SqlConnection::Exception::Base) { \
- LogError(message); \
+ WrtLogE(message); \
ReThrowMsg(WidgetDAO::Exception::DatabaseError, \
message); \
}
const WidgetRegisterInfo &widgetRegInfo,
const IWidgetSecurity &widgetSecurity)
{
- LogDebug("Registering widget");
+ WrtLogD("Registering widget");
SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
{
DPL::DB::ORM::wrt::ScopedTransaction transaction(
const WidgetRegisterInfo &widgetRegInfo,
const IWidgetSecurity &widgetSecurity)
{
- LogDebug("Registering service");
+ WrtLogD("Registering service");
SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
{
DPL::DB::ORM::wrt::ScopedTransaction transaction(
&WrtDatabase::interface());
- registerServiceInternal(serviceAppInfo, widgetRegInfo, widgetSecurity);
+ registerServiceInternal(serviceAppInfo, widgetRegInfo, widgetSecurity);
transaction.Commit();
}
SQL_CONNECTION_EXCEPTION_HANDLER_END("Failed to register service")
const TizenAppId & tzAppId,
const WidgetRegisterInfo &widgetRegInfo,
const IWidgetSecurity &widgetSecurity,
- const DPL::Optional<DbWidgetHandle> handle)
+ const boost::optional<DbWidgetHandle> handle)
{
//Register into WidgetInfo has to be first
//as all other tables depend upon that
registerEncryptedResouceInfo(widgetHandle, widgetRegInfo.encryptedFiles);
registerExternalLocations(widgetHandle, widgetRegInfo.externalLocations);
+#if USE(WEB_PROVIDER)
+ registerLiveBoxInfo(widgetHandle, widgetRegInfo);
+#endif
}
#define DO_INSERT(row, table) \
void WidgetDAO::registerWidgetExtendedInfo(DbWidgetHandle widgetHandle,
time_t installedTime,
- const DPL::OptionalString & splashImgSrc, const DPL::OptionalString & backgroundPage,
+ const DPL::OptionalString & splashImgSrc,
+ const DPL::OptionalString & backgroundPage,
const DPL::OptionalString & widgetInstalledPath)
{
//Try and transaction not needed
AppType appType,
PkgType pkgType,
const ConfigParserData &widgetConfigurationInfo,
- const IWidgetSecurity &widgetSecurity,
- const DPL::Optional<DbWidgetHandle> handle)
+ const IWidgetSecurity & /*widgetSecurity*/,
+ const boost::optional<DbWidgetHandle> handle)
{
using namespace DPL::DB::ORM;
using namespace DPL::DB::ORM::wrt;
row.Set_author_href(widgetConfigurationInfo.authorHref);
row.Set_csp_policy(widgetConfigurationInfo.cspPolicy);
row.Set_csp_policy_report_only(widgetConfigurationInfo.cspPolicyReportOnly);
- row.Set_base_folder(DPL::FromUTF8String(baseFolder));
- row.Set_webkit_plugins_required(widgetConfigurationInfo.flashNeeded);
row.Set_tizen_appid(tzAppId);
row.Set_tizen_pkgid(tzPkgId);
{
}
}
row.Set_back_supported(widgetConfigurationInfo.backSupported);
- row.Set_access_network(widgetConfigurationInfo.accessNetwork);
row.Set_pkg_type(pkgType);
row.Set_security_model_version(
static_cast<int>(widgetConfigurationInfo.securityModelVersion));
DPL::String operation,
DPL::String uri,
DPL::String mime,
- unsigned index,
- unsigned disposition)
+ bool reload)
{
using namespace DPL::DB::ORM;
using namespace DPL::DB::ORM::wrt;
AppControlInfo::Row row;
row.Set_app_id(handle);
- row.Set_execute_index(index);
row.Set_src(src);
row.Set_operation(operation);
row.Set_uri(uri);
row.Set_mime(mime);
- row.Set_disposition(disposition);
+ // reuse execute_index field to store reset value to remove db migration task.
+ row.Set_execute_index(reload);
DO_INSERT(row, AppControlInfo);
}
{
DPL::String src = appControl_it->m_src;
DPL::String operation = appControl_it->m_operation;
- unsigned index = appControl_it->m_index;
- unsigned disposition =
- static_cast<unsigned>(appControl_it->m_disposition);
+ bool reload = true;
+ if (appControl_it->m_reload == L"false") {
+ reload = false;
+ } else if (appControl_it->m_reload == L"true") {
+ reload = true;
+ }
if (!appControl_it->m_uriList.empty())
{
{
DPL::String mime = *mime_it;
- insertAppControlInfo(widgetHandle, src, operation, uri, mime, index, disposition);
+ insertAppControlInfo(widgetHandle, src, operation, uri, mime, reload);
}
}
else
{
DPL::String mime = L"";
- insertAppControlInfo(widgetHandle, src, operation, uri, mime, index, disposition);
+ insertAppControlInfo(widgetHandle, src, operation, uri, mime, reload);
}
}
}
{
DPL::String mime = *mime_it;
- insertAppControlInfo(widgetHandle, src, operation, uri, mime, index, disposition);
+ insertAppControlInfo(widgetHandle, src, operation, uri, mime, reload);
}
}
else
{
DPL::String mime = L"";
- insertAppControlInfo(widgetHandle, src, operation, uri, mime, index, disposition);
+ insertAppControlInfo(widgetHandle, src, operation, uri, mime, reload);
}
}
}
using namespace DPL::DB::ORM::wrt;
DPL::DB::ORM::wrt::ScopedTransaction transaction(
&WrtDatabase::interface());
- LogDebug("Inserting external files for widgetHandle: " << widgetHandle);
+ WrtLogD("Inserting external files for widgetHandle: %i", widgetHandle);
FOREACH(it, externals)
{
WidgetExternalLocations::Row row;
}
SQL_CONNECTION_EXCEPTION_HANDLER_END("Failed to register external files");
}
+#if USE(WEB_PROVIDER)
+void WidgetDAO::registerLiveBoxInfo(DbWidgetHandle widgetHandle,
+ const WidgetRegisterInfo ®Info)
+{
+ using namespace DPL::DB::ORM;
+ using namespace DPL::DB::ORM::wrt;
+
+ ConfigParserData::LiveboxList liveBoxList = regInfo.configInfo.m_livebox;
+
+ FOREACH(it, liveBoxList)
+ {
+ LiveBoxInfo::Row row;
+ row.Set_app_id(widgetHandle);
+ row.Set_livebox_id((**it).m_liveboxId);
+ DO_INSERT(row, LiveBoxInfo)
+ }
+}
+#endif
void WidgetDAO::unregisterAllExternalLocations()
{
+ SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
+ {
using namespace DPL::DB::ORM;
using namespace DPL::DB::ORM::wrt;
- LogDebug("Deleting external files for widgetHandle: " << m_widgetHandle);
+ WrtLogD("Deleting external files for widgetHandle: %i", m_widgetHandle);
WRT_DB_DELETE(del, WidgetExternalLocations, &WrtDatabase::interface());
del->Where(Equals<WidgetExternalLocations::app_id>(m_widgetHandle));
del->Execute();
}
+ SQL_CONNECTION_EXCEPTION_HANDLER_END("Failed to unregister external locations")
+}
void WidgetDAO::unregisterWidget(const TizenAppId & tzAppId)
{
- LogDebug("Unregistering widget from DB. tzAppId: " << tzAppId);
+ WrtLogD("Unregistering widget from DB. tzAppId: %ls", tzAppId.c_str());
SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
{
DPL::DB::ORM::wrt::ScopedTransaction transaction(