#include <dpl/assert.h>
#include <dpl/exception.h>
#include <dpl/singleton_impl.h>
+#include <dpl/optional_typedefs.h>
#include "localization_setting.h"
#include <dpl/wrt-dao-ro/global_config.h>
#include <profiling_util.h>
#include <dpl/wrt-dao-ro/widget_dao_read_only.h>
#include <dpl/wrt-dao-ro/global_dao_read_only.h>
-#include <EWebKit2.h>
-
-
IMPLEMENT_SINGLETON(WRT::CoreModule)
-namespace { //Anonymous
-
-const char * const bundlePath = "/usr/lib/wrt-wk2-bundles/libwrt-wk2-bundle.so";
+namespace {
+const char* const TEXT_DOMAIN = "wrt";
+const char* const TEXT_LOCALE_PATH = "/usr/share/wrt-engine/locale";
std::string cutOffFileName(const std::string& path)
{
bool if_ok = true;
if_ok &= (isDir(cutOffFileName(GetWrtDatabaseFilePath())));
- if (!if_ok) {
- LogError("Path <" << GetWrtDatabaseFilePath() << "> does not exist.");
- }
-
if_ok &= (isDir(GetDevicePluginPath()));
- if (!if_ok) {
- LogError("Path <" << GetDevicePluginPath() << "> does not exist.");
- }
-
if_ok &= (isDir(GetUserInstalledWidgetPath()));
- if (!if_ok) {
- LogError("Path <" << GetUserInstalledWidgetPath() <<
- "> does not exist.");
- }
return if_ok;
}
-}// namespace anonymous
+} // namespace anonymous
namespace WRT {
-
class CoreModuleImpl
{
-public:
+ public:
- CoreModuleImpl() : m_initialized(false), m_ewkContext(NULL)
+ CoreModuleImpl() : m_initialized(false)
{
LogDebug("enter");
}
}
Try
{
-
- // Needed settings for WKContext are located here
- // create Ewk_Context
- Ewk_Context* newEwkContext =
- ewk_context_new_with_injected_bundle_path(bundlePath);
- if (!newEwkContext) {
- LogError("Failed to create Ewk_Context");
- ThrowMsg(DPL::Exception, "Failed to create ewk context");
- }
- // cache model setting
- ewk_context_cache_model_set(newEwkContext,
- EWK_CACHE_MODEL_DOCUMENT_BROWSER);
- m_ewkContext = newEwkContext;
- ADD_PROFILING_POINT("WebProcess fork", "start");
-
- // To fork a Webprocess as soon as possible,
- // the following ewk_api is called explicitly.
- ewk_context_cookies_policy_set(m_ewkContext,
- EWK_COOKIE_JAR_ACCEPT_ALWAYS);
- ADD_PROFILING_POINT("WebProcess fork", "stop");
-
ADD_PROFILING_POINT("attach databases", "start");
MainThreadSingleton::Instance().AttachDatabases();
ADD_PROFILING_POINT("attach databases", "stop");
-
LogDebug("Initialize finished");
} catch (const DPL::Exception& ex) {
LogError("Internal Error during screen preparation:");
/* TODO:
* Do deinitialization: check on which step exception occured
* and deinitialize only initialized parts.
- */
+ */
return false;
}
+ bindtextdomain(TEXT_DOMAIN, TEXT_LOCALE_PATH);
m_initialized = true;
}
return true;
void Terminate()
{
- if (m_ewkContext) {
- LogInfo("finalizeEwkContext called");
- ewk_context_delete(m_ewkContext);
- m_ewkContext = 0;
- }
MainThreadSingleton::Instance().DetachDatabases();
-
m_initialized = false;
}
RunnableWidgetObjectPtr getRunnableWidgetObject(
- const std::string& tizenId)
+ const std::string& tizenId)
{
try {
RunnableWidgetObjectPtr runnable;
- WidgetModelPtr model = Domain::deserializeWidgetModel(tizenId);
+ WidgetModelPtr model =
+ Domain::deserializeWidgetModel(tizenId);
if (!!model) {
- runnable.reset(new RunnableWidgetObject(model, m_ewkContext));
+ runnable.reset(new RunnableWidgetObject(model));
}
return runnable;
} catch (WrtDB::WidgetDAOReadOnly::Exception::WidgetNotExist) {
return CoreModule::ALWAYS_ASK;
}
- bool developerMode()
- {
- return WrtDB::GlobalDAOReadOnly::GetDeveloperMode();
- }
-
-private:
+ private:
bool m_initialized;
- Ewk_Context* m_ewkContext;
};
CoreModule::CoreModule() : m_impl(new CoreModuleImpl())
-{
-}
+{}
CoreModule::~CoreModule()
-{
-}
+{}
bool CoreModule::Init()
{
}
RunnableWidgetObjectPtr CoreModule::getRunnableWidgetObject(
- const std::string& tizenId)
+ const std::string& tizenId)
{
return m_impl->getRunnableWidgetObject(tizenId);
}
return m_impl->roamingNetworkAccess();
}
-bool CoreModule::developerMode()
-{
- return m_impl->developerMode();
-}
-
} /* namespace WRT */