DPL::Optional<DPL::String> getFilePathInWidgetPackageFromUrl(
WrtDB::DbWidgetHandle widgetHandle,
const DPL::String &url);
+DPL::Optional<DPL::String> getFilePathInWidgetPackageFromUrl(
+ const WrtDB::WidgetPkgName &pkgname,
+ const DPL::String &url);
+DPL::Optional<DPL::String> getFilePathInWidgetPackageFromUrl(
+ WrtDB::WidgetDAOReadOnlyPtr dao,
+ const DPL::String &url);
DPL::Optional<DPL::String> getFilePathInWidgetPackage(
WrtDB::DbWidgetHandle widgetHandle,
const DPL::String& file);
+DPL::Optional<DPL::String> getFilePathInWidgetPackage(
+ const WrtDB::WidgetPkgName &pkgname,
+ const DPL::String& file);
+DPL::Optional<DPL::String> getFilePathInWidgetPackage(
+ WrtDB::WidgetDAOReadOnlyPtr dao,
+ const DPL::String& file);
DPL::OptionalString getStartFile(WrtDB::DbWidgetHandle handle);
DPL::OptionalString getStartFile(const WrtDB::WidgetPkgName & pkgname);
WidgetIconList getValidIconsList(
WrtDB::DbWidgetHandle widgetHandle);
+WidgetIconList getValidIconsList(
+ const WrtDB::WidgetPkgName &pkgname);
+WidgetIconList getValidIconsList(
+ WrtDB::WidgetDAOReadOnlyPtr dao);
OptionalWidgetStartFileInfo getStartFileInfo(
WrtDB::DbWidgetHandle widgetHandle);
+OptionalWidgetStartFileInfo getStartFileInfo(
+ const WrtDB::WidgetPkgName &pkgname);
+OptionalWidgetStartFileInfo getStartFileInfo(
+ WrtDB::WidgetDAOReadOnlyPtr dao);
WrtDB::WidgetLocalizedInfo getLocalizedInfo(WrtDB::DbWidgetHandle widgetHandle);
WrtDB::WidgetLocalizedInfo getLocalizedInfo(const WrtDB::WidgetPkgName & pkgname);
}
namespace W3CFileLocalization {
+
DPL::Optional<DPL::String> getFilePathInWidgetPackageFromUrl(
DbWidgetHandle widgetHandle,
const DPL::String &url)
{
+ return getFilePathInWidgetPackageFromUrl(
+ WidgetDAOReadOnlyPtr(new WidgetDAOReadOnly(widgetHandle)),
+ url);
+}
+
+DPL::Optional<DPL::String> getFilePathInWidgetPackageFromUrl(
+ const WrtDB::WidgetPkgName &pkgname,
+ const DPL::String &url)
+{
+ return getFilePathInWidgetPackageFromUrl(
+ WidgetDAOReadOnlyPtr(new WidgetDAOReadOnly(pkgname)),
+ url);
+}
+
+DPL::Optional<DPL::String> getFilePathInWidgetPackageFromUrl(
+ WrtDB::WidgetDAOReadOnlyPtr dao,
+ const DPL::String &url)
+{
DPL::String req = url;
- WidgetDAOReadOnly dao(widgetHandle);
if (req.find(WIDGET_URI_BEGIN) == 0) {
req.erase(0, WIDGET_URI_BEGIN.length());
} else if (req.find(FILE_URI_BEGIN) == 0) {
req.erase(0, FILE_URI_BEGIN.length());
- if (req.find(dao.getPath()) == 0) {
- req.erase(0, dao.getPath().length());
+ if (req.find(dao->getPath()) == 0) {
+ req.erase(0, dao->getPath().length());
}
if (req.find(LOCALE_PREFIX) == 0) {
req.erase(0, LOCALE_PREFIX.length());
return DPL::Optional<DPL::String>::Null;
}
- auto widgetPath = dao.getPath();
+ auto widgetPath = dao->getPath();
DPL::Optional<DPL::String> found =
GetFilePathInWidgetPackageInternal(widgetPath, req);
WrtDB::DbWidgetHandle widgetHandle,
const DPL::String& file)
{
- WidgetDAOReadOnly dao(widgetHandle);
- return GetFilePathInWidgetPackageInternal(dao.getPath(), file);
+ return getFilePathInWidgetPackage(
+ WidgetDAOReadOnlyPtr(new WidgetDAOReadOnly(widgetHandle)),
+ file);
+}
+
+DPL::Optional<DPL::String> getFilePathInWidgetPackage(
+ const WrtDB::WidgetPkgName &pkgname,
+ const DPL::String& file)
+{
+ return getFilePathInWidgetPackage(
+ WidgetDAOReadOnlyPtr(new WidgetDAOReadOnly(pkgname)),
+ file);
+}
+
+DPL::Optional<DPL::String> getFilePathInWidgetPackage(
+ WrtDB::WidgetDAOReadOnlyPtr dao,
+ const DPL::String& file)
+{
+ return GetFilePathInWidgetPackageInternal(dao->getPath(), file);
}
DPL::OptionalString getStartFile(const WrtDB::WidgetPkgName & pkgname)
return OptionalWidgetIcon::Null;
}
-WidgetIconList getValidIconsList(
- WrtDB::DbWidgetHandle widgetHandle)
+WidgetIconList getValidIconsList(WrtDB::DbWidgetHandle widgetHandle)
+{
+ return getValidIconsList(
+ WidgetDAOReadOnlyPtr(new WidgetDAOReadOnly(widgetHandle)));
+}
+
+WidgetIconList getValidIconsList(const WrtDB::WidgetPkgName &pkgname)
{
- WidgetDAOReadOnly dao(widgetHandle);
- WidgetDAOReadOnly::WidgetIconList list = dao.getIconList();
+ return getValidIconsList(
+ WidgetDAOReadOnlyPtr(new WidgetDAOReadOnly(pkgname)));
+}
+
+WidgetIconList getValidIconsList(WrtDB::WidgetDAOReadOnlyPtr dao)
+{
+ WidgetDAOReadOnly::WidgetIconList list = dao->getIconList();
WidgetIconList outlist;
FOREACH(it, list)
{
LogDebug(":" << it->iconSrc);
- if (!!getFilePathInWidgetPackage(widgetHandle,
+ if (!!getFilePathInWidgetPackage(dao->getHandle(),
it->iconSrc))
{
WidgetIcon ret;
return outlist;
}
-OptionalWidgetStartFileInfo getStartFileInfo(
- WrtDB::DbWidgetHandle widgetHandle)
+OptionalWidgetStartFileInfo getStartFileInfo(WrtDB::DbWidgetHandle widgetHandle)
+{
+ return getStartFileInfo(
+ WidgetDAOReadOnlyPtr(new WidgetDAOReadOnly(widgetHandle)));
+}
+
+OptionalWidgetStartFileInfo getStartFileInfo(const WrtDB::WidgetPkgName &pkgname)
+{
+ return getStartFileInfo(
+ WidgetDAOReadOnlyPtr(new WidgetDAOReadOnly(pkgname)));
+
+}
+
+
+OptionalWidgetStartFileInfo getStartFileInfo(WrtDB::WidgetDAOReadOnlyPtr dao)
{
WidgetStartFileInfo info;
- WidgetDAOReadOnly dao(widgetHandle);
WidgetDAOReadOnly::LocalizedStartFileList locList =
- dao.getLocalizedStartFileList();
- WidgetDAOReadOnly::WidgetStartFileList list = dao.getStartFileList();
+ dao->getLocalizedStartFileList();
+ WidgetDAOReadOnly::WidgetStartFileList list = dao->getStartFileList();
const LanguageTags tagsList = LanguageTagsProviderSingleton::Instance().getLanguageTags();
FOREACH(tag, tagsList)
}
+std::string createDatabasePath(const DPL::String& tizenId)
+{
+ using namespace DPL::DB::ORM;
+ using namespace WrtDB::WidgetConfig;
+ using namespace WrtDB::GlobalConfig;
+
+ SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
+ {
+ std::stringstream filename;
+ filename << GetWidgetPersistentStoragePath(tizenId)
+ << "/"
+ << SECURITY_ORIGIN_DB_NAME;
+ return filename.str();
+ }
+ SQL_CONNECTION_EXCEPTION_HANDLER_END("Fail to get database Path")
+
+}
+
void checkDatabase(std::string databasePath)
{
SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
m_securityOriginDBInterface.AttachToThread(SECURITY_ORIGIN_DB_OPTION);
}
+SecurityOriginDAO::SecurityOriginDAO(const DPL::String& tizenId):
+ m_securityOriginDBPath(createDatabasePath(tizenId)),
+ m_securityOriginDBInterface(m_securityOriginDBPath, SECURITY_ORIGIN_DB_TYPE)
+{
+ checkDatabase(m_securityOriginDBPath);
+ m_securityOriginDBInterface.AttachToThread(SECURITY_ORIGIN_DB_OPTION);
+}
+
SecurityOriginDAO::~SecurityOriginDAO()
{
m_securityOriginDBInterface.DetachFromThread();