tizen 2.4 release
[framework/web/wrt-commons.git] / modules / widget_dao / dao / widget_dao_read_only.cpp
old mode 100755 (executable)
new mode 100644 (file)
similarity index 89%
rename from modules_wearable/widget_dao/dao/widget_dao_read_only.cpp
rename to modules/widget_dao/dao/widget_dao_read_only.cpp
index 5151dfa..78690ff
@@ -48,18 +48,18 @@ namespace WrtDB {
 
 #define SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN          Try
 
-#define SQL_CONNECTION_EXCEPTION_HANDLER_END(message)           \
-    Catch(DPL::DB::SqlConnection::Exception::Base) {                \
-        LogError(message);                                      \
-        ReThrowMsg(WidgetDAOReadOnly::Exception::DatabaseError, \
-                   message);                                    \
+#define SQL_CONNECTION_EXCEPTION_HANDLER_END(message)                    \
+    Catch(DPL::DB::SqlConnection::Exception::Base) {                     \
+        WrtLogE(message);                                                \
+        ReThrowMsg(WidgetDAOReadOnly::Exception::DatabaseError,          \
+                   message);                                             \
     }
 
 #define CHECK_WIDGET_EXISTENCE(macro_transaction, macro_handle)          \
     if (!WidgetDAOReadOnly::isWidgetInstalled(macro_handle))             \
     {                                                                    \
         macro_transaction.Commit();                                      \
-        LogWarning("Cannot find widget. Handle: " << macro_handle);      \
+        WrtLogW("Cannot find widget. Handle: %i", macro_handle);         \
         ThrowMsg(WidgetDAOReadOnly::Exception::WidgetNotExist,           \
                  "Cannot find widget. Handle: " << macro_handle);        \
     }
@@ -74,7 +74,7 @@ using namespace DPL::DB::ORM::wrt;
 
 WidgetInfoRow getWidgetInfoRow(int widgetHandle)
 {
-    LogDebug("Getting WidgetInfo row. Handle: " << widgetHandle);
+    WrtLogD("Getting WidgetInfo row. Handle: %i", widgetHandle);
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
     {
         WRT_DB_SELECT(select, WidgetInfo, &WrtDatabase::interface())
@@ -94,7 +94,7 @@ const int MAX_TIZENID_LENGTH = 10;
 
 TizenAppId getTizenAppIdByHandle(const DbWidgetHandle handle)
 {
-    LogDebug("Getting TizenAppId by DbWidgetHandle: " << handle);
+    WrtLogD("Getting TizenAppId by DbWidgetHandle: %i", handle);
 
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
     {
@@ -115,7 +115,7 @@ TizenAppId getTizenAppIdByHandle(const DbWidgetHandle handle)
 
 TizenAppId getTizenAppIdByPkgId(const TizenPkgId tzPkgid)
 {
-    LogDebug("Getting TizenAppId by pkgid : " << tzPkgid);
+    WrtLogD("Getting TizenAppId by pkgid : %ls", tzPkgid.c_str());
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
     {
         WRT_DB_SELECT(select, WidgetInfo, &WrtDatabase::interface())
@@ -135,7 +135,7 @@ TizenAppId getTizenAppIdByPkgId(const TizenPkgId tzPkgid)
 
 void getTizenAppIdListByPkgId(const TizenPkgId tzPkgid, std::list<TizenAppId>& idList)
 {
-    LogDebug("Getting TizenAppId by pkgid : " << tzPkgid);
+    WrtLogD("Getting TizenAppId by pkgid : %ls", tzPkgid.c_str());
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
     {
         WRT_DB_SELECT(select, WidgetInfo, &WrtDatabase::interface())
@@ -152,7 +152,7 @@ void getTizenAppIdListByPkgId(const TizenPkgId tzPkgid, std::list<TizenAppId>& i
 
 TizenPkgId getTizenPkgIdByHandle(const DbWidgetHandle handle)
 {
-    LogDebug("Getting TizenPkgId by DbWidgetHandle: " << handle);
+    WrtLogD("Getting TizenPkgId by DbWidgetHandle: %i", handle);
 
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
     {
@@ -173,7 +173,7 @@ TizenPkgId getTizenPkgIdByHandle(const DbWidgetHandle handle)
 
 TizenPkgId getTizenPkgIdByAppId(const TizenAppId tzAppid)
 {
-    LogDebug("Getting TizenPkgId by TizenAppId: " << tzAppid);
+    WrtLogD("Getting TizenPkgId by TizenAppId: %ls", tzAppid.c_str());
 
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
     {
@@ -193,9 +193,6 @@ TizenPkgId getTizenPkgIdByAppId(const TizenAppId tzAppid)
 }
 } // namespace
 
-IWidgetSecurity::~IWidgetSecurity()
-{}
-
 WidgetDAOReadOnly::WidgetDAOReadOnly(DbWidgetHandle widgetHandle) :
     m_widgetHandle(widgetHandle)
 {}
@@ -218,7 +215,7 @@ DbWidgetHandle WidgetDAOReadOnly::getHandle() const
 
 DbWidgetHandle WidgetDAOReadOnly::getHandle(const WidgetGUID GUID)
 {
-    LogDebug("Getting WidgetHandle by GUID [" << GUID << "]");
+    WrtLogD("Getting WidgetHandle by GUID [%ls]", GUID.get_value_or(DPL::String()).c_str());
 
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
     {
@@ -237,7 +234,7 @@ DbWidgetHandle WidgetDAOReadOnly::getHandle(const WidgetGUID GUID)
 
 DbWidgetHandle WidgetDAOReadOnly::getHandle(const DPL::String tzAppId)
 {
-    LogDebug("Getting WidgetHandle by tizen app id [" << tzAppId << "]");
+    WrtLogD("Getting WidgetHandle by tizen app id [%ls]", tzAppId.c_str());
 
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
     {
@@ -256,7 +253,7 @@ DbWidgetHandle WidgetDAOReadOnly::getHandle(const DPL::String tzAppId)
 
 DbWidgetHandle WidgetDAOReadOnly::getHandleByPkgId(const DPL::String pkgId)
 {
-    LogDebug("Getting WidgetHandle by tizen package id [" << pkgId << "]");
+    WrtLogD("Getting WidgetHandle by tizen package id [%ls]", pkgId.c_str());
 
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
     {
@@ -273,6 +270,7 @@ DbWidgetHandle WidgetDAOReadOnly::getHandleByPkgId(const DPL::String pkgId)
     SQL_CONNECTION_EXCEPTION_HANDLER_END("Failed in getHandle")
 }
 
+
 TizenAppId WidgetDAOReadOnly::getTzAppId() const
 {
     return getTizenAppIdByHandle(m_widgetHandle);
@@ -333,28 +331,12 @@ TizenAppIdList WidgetDAOReadOnly::getTizenAppIdList()
     SQL_CONNECTION_EXCEPTION_HANDLER_END("Failed to get TizenAppIdList")
 }
 
-std::list<TizenAppId> WidgetDAOReadOnly::getTzAppIdList(const TizenPkgId tzPkgid)
-{
+std::list<TizenAppId> WidgetDAOReadOnly::getTzAppIdList(const TizenPkgId tzPkgid){
     std::list<TizenAppId> result;
     getTizenAppIdListByPkgId(tzPkgid, result);
     return result;
 }
 
-TizenPkgId WidgetDAOReadOnly::getTzPkgId() const
-{
-    return getTizenPkgIdByHandle(m_widgetHandle);
-}
-
-TizenPkgId WidgetDAOReadOnly::getTzPkgId(const DbWidgetHandle handle)
-{
-    return getTizenPkgIdByHandle(handle);
-}
-
-TizenPkgId WidgetDAOReadOnly::getTzPkgId(const TizenAppId tzAppid)
-{
-    return getTizenPkgIdByAppId(tzAppid);
-}
-
 TizenPkgId WidgetDAOReadOnly::getTizenPkgId() const
 {
     return getTizenPkgIdByHandle(m_widgetHandle);
@@ -370,20 +352,9 @@ TizenPkgId WidgetDAOReadOnly::getTizenPkgId(const TizenAppId tzAppid)
     return getTizenPkgIdByAppId(tzAppid);
 }
 
-TizenPkgIdList WidgetDAOReadOnly::getTizenPkgidList()
-{
-    LogDebug("Getting Pkgid List ");
-    SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
-    {
-        WRT_DB_SELECT(select, WidgetInfo, &WrtDatabase::interface())
-        return select->GetValueList<WidgetInfo::tizen_pkgid>();
-    }
-    SQL_CONNECTION_EXCEPTION_HANDLER_END("Failed to get Pkgid list")
-}
-
 TizenPkgIdList WidgetDAOReadOnly::getTizenPkgIdList()
 {
-    LogDebug("Getting TizenPkgId List ");
+    WrtLogD("Getting TizenPkgId List ");
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
     {
         WRT_DB_SELECT(select, WidgetInfo, &WrtDatabase::interface())
@@ -435,7 +406,7 @@ WidgetLocalizedInfo
 WidgetDAOReadOnly::getLocalizedInfo(const DPL::String& languageTag)
 const
 {
-    LogDebug("Getting Localized Info. Handle: " << m_widgetHandle);
+    WrtLogD("Getting Localized Info. Handle: %i", m_widgetHandle);
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
     {
         ScopedTransaction transaction(&WrtDatabase::interface());
@@ -462,7 +433,7 @@ const
 
 DbWidgetFeatureSet WidgetDAOReadOnly::getFeaturesList() const
 {
-    LogDebug("Getting FeaturesList. Handle: " << m_widgetHandle);
+    WrtLogD("Getting FeaturesList. Handle: %i", m_widgetHandle);
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
     {
         ScopedTransaction transaction(&WrtDatabase::interface());
@@ -491,9 +462,8 @@ DbWidgetFeatureSet WidgetDAOReadOnly::getFeaturesList() const
 
 bool WidgetDAOReadOnly::hasFeature(const std::string& featureName) const
 {
-    LogDebug(
-        "Checking if widget has feature: " << featureName << ". Handle: " <<
-        m_widgetHandle);
+    WrtLogD("Checking if widget has feature: %s. Handle: %i",
+            featureName.c_str(), m_widgetHandle);
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
     {
         ScopedTransaction transaction(&WrtDatabase::interface());
@@ -513,9 +483,9 @@ bool WidgetDAOReadOnly::hasFeature(const std::string& featureName) const
 
 DbWidgetDAOReadOnlyList WidgetDAOReadOnly::getWidgetList()
 {
-    LogDebug("Getting DbWidget List");
+    WrtLogD("Getting DbWidget List");
     DbWidgetDAOReadOnlyList list;
-    FOREACH(iterator, getTizenAppidList()) {
+    FOREACH(iterator, getTizenAppIdList()) {
         list.push_back(WidgetDAOReadOnlyPtr(new WidgetDAOReadOnly(*iterator)));
     }
     return list;
@@ -523,7 +493,7 @@ DbWidgetDAOReadOnlyList WidgetDAOReadOnly::getWidgetList()
 
 bool WidgetDAOReadOnly::isWidgetInstalled(DbWidgetHandle handle)
 {
-    LogDebug("Checking if widget exist. Handle: " << handle);
+    WrtLogD("Checking if widget exist. Handle: %i", handle);
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
     {
         WRT_DB_SELECT(select, WidgetInfo, &WrtDatabase::interface())
@@ -538,7 +508,7 @@ bool WidgetDAOReadOnly::isWidgetInstalled(DbWidgetHandle handle)
 
 bool WidgetDAOReadOnly::isWidgetInstalled(const TizenAppId &tzAppId)
 {
-    LogDebug("Checking if widget exist. tizen app id" << tzAppId);
+    WrtLogD("Checking if widget exist. tizen app id %ls", tzAppId.c_str());
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
     {
         WRT_DB_SELECT(select, WidgetInfo, &WrtDatabase::interface())
@@ -553,7 +523,7 @@ bool WidgetDAOReadOnly::isWidgetInstalled(const TizenAppId &tzAppId)
 
 ExternalLocationList WidgetDAOReadOnly::getWidgetExternalLocations() const
 {
-    LogDebug("Getting WidgetExtranalFiles List");
+    WrtLogD("Getting WidgetExtranalFiles List");
     ExternalLocationList result;
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
     {
@@ -595,8 +565,8 @@ DbWidgetSize WidgetDAOReadOnly::getPreferredSize() const
     size.width = row.Get_widget_width();
     size.height = row.Get_widget_height();
 
-    LogDebug("Return size wxh = " <<
-             (!!size.width ? *size.width : -1) << " x " <<
+    WrtLogD("Return size wxh = %i x %i",
+             (!!size.width ? *size.width : -1),
              (!!size.height ? *size.height : -1));
 
     return size;
@@ -621,31 +591,31 @@ DPL::OptionalString WidgetDAOReadOnly::getDefaultlocale() const
     return row.Get_defaultlocale();
 }
 
-DPL::Optional<DPL::String> WidgetDAOReadOnly::getVersion() const
+DPL::OptionalString WidgetDAOReadOnly::getVersion() const
 {
     WidgetInfoRow row = getWidgetInfoRow(m_widgetHandle);
     return row.Get_widget_version();
 }
 
-DPL::Optional<DPL::String> WidgetDAOReadOnly::getAuthorName() const
+DPL::OptionalString WidgetDAOReadOnly::getAuthorName() const
 {
     WidgetInfoRow row = getWidgetInfoRow(m_widgetHandle);
     return row.Get_author_name();
 }
 
-DPL::Optional<DPL::String> WidgetDAOReadOnly::getAuthorEmail() const
+DPL::OptionalString WidgetDAOReadOnly::getAuthorEmail() const
 {
     WidgetInfoRow row = getWidgetInfoRow(m_widgetHandle);
     return row.Get_author_email();
 }
 
-DPL::Optional<DPL::String> WidgetDAOReadOnly::getAuthorHref() const
+DPL::OptionalString WidgetDAOReadOnly::getAuthorHref() const
 {
     WidgetInfoRow row = getWidgetInfoRow(m_widgetHandle);
     return row.Get_author_href();
 }
 
-DPL::Optional<DPL::String> WidgetDAOReadOnly::getMinimumWacVersion() const
+DPL::OptionalString WidgetDAOReadOnly::getMinimumWacVersion() const
 {
     WidgetInfoRow row = getWidgetInfoRow(m_widgetHandle);
     return row.Get_min_version();
@@ -669,17 +639,6 @@ DPL::OptionalString WidgetDAOReadOnly::getCspPolicyReportOnly() const
     return row.Get_csp_policy_report_only();
 }
 
-bool WidgetDAOReadOnly::getWebkitPluginsRequired() const
-{
-    WidgetInfoRow row = getWidgetInfoRow(m_widgetHandle);
-    DPL::OptionalInt ret = row.Get_webkit_plugins_required();
-
-    if (ret.IsNull() || *ret == 0) {
-        return false;
-    } else { return true;
-    }
-}
-
 time_t WidgetDAOReadOnly::getInstallTime() const
 {
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
@@ -712,8 +671,8 @@ DPL::OptionalString WidgetDAOReadOnly::getSplashImgSrc() const
         }
 
         DPL::OptionalString value = rows.front().Get_splash_img_src();
-        if (value.IsNull()) {
-            return DPL::OptionalString::Null;
+        if (!value) {
+            return DPL::OptionalString();
         }
 
         return DPL::OptionalString(getPath() + *value);
@@ -838,22 +797,6 @@ WindowModeList WidgetDAOReadOnly::getWindowModes() const
     SQL_CONNECTION_EXCEPTION_HANDLER_END("Failed to get window modes")
 }
 
-std::string WidgetDAOReadOnly::getBaseFolder() const
-{
-    WidgetInfoRow row = getWidgetInfoRow(m_widgetHandle);
-    DPL::Optional<DPL::String> ret = row.Get_base_folder();
-    std::string baseFolder;
-    if (!ret.IsNull()) {
-        baseFolder = DPL::ToUTF8String(*ret);
-    }
-
-    if (!baseFolder.empty()) {
-        baseFolder += "/";
-    }
-
-    return baseFolder;
-}
-
 WidgetCertificateDataList WidgetDAOReadOnly::getCertificateDataList() const
 {
     //TODO check widget existance
@@ -878,15 +821,15 @@ WidgetCertificateDataList WidgetDAOReadOnly::getCertificateDataList() const
             data.type =
                 static_cast <WidgetCertificateData::Type>(it->Get_type());
             data.chainId = it->Get_chainid();
-            DPL::Optional<DPL::String> md5 = it->Get_md5_fingerprint();
+            DPL::OptionalString md5 = it->Get_md5_fingerprint();
             data.strMD5Fingerprint =
-                md5.IsNull() ? "" : DPL::ToUTF8String(*md5);
-            DPL::Optional<DPL::String> sha1 = it->Get_sha1_fingerprint();
+                (!md5) ? "" : DPL::ToUTF8String(*md5);
+            DPL::OptionalString sha1 = it->Get_sha1_fingerprint();
             data.strSHA1Fingerprint =
-                sha1.IsNull() ? "" : DPL::ToUTF8String(*sha1);
-            DPL::Optional<DPL::String> cname = it->Get_common_name();
+                (!sha1) ? "" : DPL::ToUTF8String(*sha1);
+            DPL::OptionalString cname = it->Get_common_name();
             data.strCommonName =
-                cname.IsNull() ? DPL::FromUTF8String("") : *cname;
+                (!cname) ? DPL::FromUTF8String("") : *cname;
 
             outlCertificateData.push_back(data);
         }
@@ -917,12 +860,12 @@ FingerPrintList WidgetDAOReadOnly::getKeyFingerprints(
         FingerPrintList keys;
         FOREACH(it, rows)
         {
-            DPL::Optional<DPL::String> sha1 = it->Get_sha1_fingerprint();
-            if (!sha1.IsNull()) {
+            DPL::OptionalString sha1 = it->Get_sha1_fingerprint();
+            if (!!sha1) {
                 keys.push_back(DPL::ToUTF8String(*sha1));
             }
-            DPL::Optional<DPL::String> md5 = it->Get_md5_fingerprint();
-            if (!md5.IsNull()) {
+            DPL::OptionalString md5 = it->Get_md5_fingerprint();
+            if (!!md5) {
                 keys.push_back(DPL::ToUTF8String(*md5));
             }
         }
@@ -953,8 +896,8 @@ WidgetCertificateCNList WidgetDAOReadOnly::getKeyCommonNameList(
         WidgetCertificateCNList out;
         FOREACH(it, rows)
         {
-            DPL::Optional<DPL::String> cname = it->Get_common_name();
-            out.push_back(cname.IsNull() ? "" : DPL::ToUTF8String(*cname));
+            DPL::OptionalString cname = it->Get_common_name();
+            out.push_back((!cname) ? "" : DPL::ToUTF8String(*cname));
         }
         return out;
     }
@@ -978,7 +921,7 @@ void WidgetDAOReadOnly::getWidgetAccessInfo(
 
             info.strIRI = it->Get_iri();
             DPL::OptionalInt access = it->Get_subdomain_access();
-            if (access.IsNull() || 0 == *access) {
+            if (!access || 0 == *access) {
                 info.bSubDomains = false;
             } else if (1 == *access) {
                 info.bSubDomains = true;
@@ -1056,7 +999,7 @@ void WidgetDAOReadOnly::getWidgetSettings(
 void WidgetDAOReadOnly::getAppControlList(
     WidgetAppControlList& outAppControlList) const
 {
-    LogDebug("Getting getAppControlList. Handle: " << m_widgetHandle);
+    WrtLogD("Getting getAppControlList. Handle: %i", m_widgetHandle);
     SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
     {
         ScopedTransaction transaction(&WrtDatabase::interface());
@@ -1068,8 +1011,7 @@ void WidgetDAOReadOnly::getAppControlList(
         AppControlInfo::Select::RowList rows = select->GetRowList();
 
         if (rows.empty()) {
-            LogDebug("AppControl list is empty. Handle: " <<
-                     m_widgetHandle);
+            WrtLogD("AppControl list is empty. Handle: %i", m_widgetHandle);
         }
 
         FOREACH(it, rows) {
@@ -1078,8 +1020,7 @@ void WidgetDAOReadOnly::getAppControlList(
             ret.operation = it->Get_operation();
             ret.uri = it->Get_uri();
             ret.mime = it->Get_mime();
-            ret.disposition = static_cast<WidgetAppControl::Disposition>(it->Get_disposition());
-            ret.index = it->Get_execute_index();
+            ret.reset = it->Get_execute_index();
             outAppControlList.push_back(ret);
         }
 
@@ -1186,6 +1127,23 @@ WidgetSecurityModelVersion WidgetDAOReadOnly::getSecurityModelVersion() const
     return static_cast<WidgetSecurityModelVersion>(*result);
 }
 
+#if USE(WEB_PROVIDER)
+void WidgetDAOReadOnly::getLiveBoxInfoList(LiveBoxIdList& outLiveBoxIdList) const
+{
+    SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
+    {
+        WRT_DB_SELECT(select, LiveBoxInfo, &WrtDatabase::interface())
+        select->Where(Equals<LiveBoxInfo::app_id>(m_widgetHandle));
+        LiveBoxInfo::Select::RowList rowList = select->GetRowList();
+        FOREACH(it, rowList){
+            WrtLogD("liveBoxID: %ls", (*(it->Get_livebox_id())).c_str() );
+            outLiveBoxIdList.push_back(it->Get_livebox_id());
+        }
+    }
+    SQL_CONNECTION_EXCEPTION_HANDLER_END("Failed to get liveBox info")
+}
+#endif
+
 #undef SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
 #undef SQL_CONNECTION_EXCEPTION_HANDLER_END
 #undef CHECK_WIDGET_EXISTENCE