Add log prints for debugging
[platform/core/appfw/app-core.git] / tizen-cpp / app-core-cpp / app_core_base.cc
index 057db72..aa55b1d 100644 (file)
 #include <utility>
 #include <vector>
 
-#include "app-core-cpp/anr_monitor_private.hh"
 #include "app-core-cpp/app_core_plugin_private.hh"
 #include "app-core-cpp/exit_handler_private.hh"
 #include "app-core-cpp/sigterm_handler_private.hh"
 #include "common/glib_private.hh"
 #include "common/log_private.hh"
+#include "common/log_tracer.hh"
 
 extern "C" void aul_finalize();
 namespace tizen_cpp {
@@ -65,7 +65,6 @@ AppCoreBase* AppCoreBase::context_ = nullptr;
 namespace {
 
 internal::ExitHandler exit_handler;
-internal::AnrMonitor anr_monitor;
 internal::SigtermHandler sigterm_handler;
 
 enum TizenProfile {
@@ -194,6 +193,7 @@ class AppCoreBase::Impl {
   static void ReceiveSuspendSignalCb(GDBusConnection*, const gchar*,
       const gchar*, const gchar*, const gchar*, GVariant*, gpointer);
   static void OnLowBatteryCb(keynode_t* key, void* data);
+  static void OnTimeZoneChangedCb(keynode_t* key, void* data);
   static void LockCb(keynode_t* node, void* user_data);
   static void AutoRotationChangedCb(sensor_t sensor, unsigned int event_type,
       sensor_data_t* data, void* user_data);
@@ -756,6 +756,21 @@ void AppCoreBase::Impl::OnLowBatteryCb(keynode_t* key, void* data) {
   }
 }
 
+void AppCoreBase::Impl::OnTimeZoneChangedCb(keynode_t* key, void* data) {
+  char* time_zone_id = vconf_keynode_get_str(key);
+  if (time_zone_id == nullptr) {
+    return;
+  }
+
+  char* time_zone = vconf_get_str(VCONFKEY_SETAPPL_TIMEZONE_INT);
+  if (time_zone != nullptr) {
+    AppCoreBase* base = reinterpret_cast<AppCoreBase*>(data);
+    base->impl_->InvokeCallback(std::string(time_zone) + "|" + time_zone_id,
+        IEvent::Type::TIME_ZONE_CHANGED);
+    free(time_zone);
+  }
+}
+
 void AppCoreBase::Impl::UnregisterRotationChangedEvent() {
   if (!__rotation.ref)
     return;
@@ -797,6 +812,10 @@ int AppCoreBase::OnSetEvent(IEvent::Type event) {
     break;
   case IEvent::Type::SUSPENDED_STATE_CHANGE:
     break;
+  case IEvent::Type::TIME_ZONE_CHANGED:
+    vconf_notify_key_changed(VCONFKEY_SETAPPL_TIMEZONE_ID,
+        impl_->OnTimeZoneChangedCb, this);
+    break;
   default:
     break;
   }
@@ -1191,6 +1210,7 @@ void AppCoreBase::Run(int argc, char** argv) {
 }
 
 void AppCoreBase::Init(int argc, char** argv) {
+  LogTracer tracer("AppCoreBase::Init()");
   impl_->tid_ = 0;
   impl_->suspended_state_ = false;
   impl_->allowed_bg_ = false;
@@ -1273,6 +1293,7 @@ void AppCoreBase::Init(int argc, char** argv) {
 }
 
 void AppCoreBase::Fini() {
+  LogTracer tracer("AppCoreBase::Fini()");
   if (impl_->signal_handler_source_) {
     g_source_remove(impl_->signal_handler_source_);
     impl_->signal_handler_source_ = 0;