[common] Simplify instance methods registration (4)
[platform/core/api/webapi-plugins.git] / src / push / push_instance.cc
index 3e054e1..06d728a 100644 (file)
@@ -28,198 +28,177 @@ namespace {
 
 const std::string kPrivilegePush = "http://tizen.org/privilege/push";
 
-} // namespace
+}  // namespace
 
 PushInstance::PushInstance() {
-    LoggerD("Enter");
-    using std::placeholders::_1;
-    using std::placeholders::_2;
-
-    #define REGISTER_ASYNC(c, func) \
-        RegisterSyncHandler(c, func);
-    #define REGISTER_SYNC(c, func) \
-        RegisterSyncHandler(c, func);
-
-    REGISTER_ASYNC("Push_registerService",
-            std::bind(&PushInstance::registerService, this, _1, _2));
-    REGISTER_ASYNC("Push_registerApplication",
-        std::bind(&PushInstance::registerApplication, this, _1, _2));
-    REGISTER_ASYNC("Push_unregisterService",
-            std::bind(&PushInstance::unregisterService, this, _1, _2));
-    REGISTER_ASYNC("Push_unregisterApplication",
-        std::bind(&PushInstance::unregisterApplication, this, _1, _2));
-    REGISTER_SYNC("Push_connectService",
-        std::bind(&PushInstance::connectService, this, _1, _2));
-    REGISTER_SYNC("Push_connect",
-            std::bind(&PushInstance::connect, this, _1, _2));
-    REGISTER_SYNC("Push_disconnectService",
-        std::bind(&PushInstance::disconnectService, this, _1, _2));
-    REGISTER_SYNC("Push_disconnect",
-            std::bind(&PushInstance::disconnect, this, _1, _2));
-    REGISTER_SYNC("Push_getRegistrationId",
-        std::bind(&PushInstance::getRegistrationId, this, _1, _2));
-    REGISTER_SYNC("Push_getUnreadNotifications",
-        std::bind(&PushInstance::getUnreadNotifications, this, _1, _2));
-    REGISTER_SYNC("Push_getPushMessage",
-        std::bind(&PushInstance::getPushMessage, this, _1, _2));
-
-    #undef REGISTER_ASYNC
-    #undef REGISTER_SYNC
-
-    impl = new PushManager(this);
+  ScopeLogger();
+  using std::placeholders::_1;
+  using std::placeholders::_2;
+
+#define REGISTER_METHOD(M) \
+    RegisterSyncHandler(#M, std::bind(&PushInstance::M, this, _1, _2))
+  REGISTER_METHOD(PushRegisterService);
+  REGISTER_METHOD(PushRegisterApplication);
+  REGISTER_METHOD(PushUnregisterService);
+  REGISTER_METHOD(PushUnregisterApplication);
+  REGISTER_METHOD(PushConnectService);
+  REGISTER_METHOD(PushConnect);
+  REGISTER_METHOD(PushDisconnectService);
+  REGISTER_METHOD(PushDisconnect);
+  REGISTER_METHOD(PushGetRegistrationId);
+  REGISTER_METHOD(PushGetUnreadNotifications);
+  REGISTER_METHOD(PushGetPushMessage);
+#undef REGISTER_METHOD
+
+  impl = new PushManager(this);
 }
 
+void PushInstance::PushRegisterService(const picojson::value& args, picojson::object& out) {
+  ScopeLogger();
+  LoggerW(
+      "DEPRECATION WARNING: registerService() is deprecated and will be removed from next release. "
+      "Use register() instead.");
 
-void PushInstance::registerService(const picojson::value& args,
-        picojson::object& out) {
-    LoggerD("Enter");
-
-    CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
-    common::PlatformResult result = impl->registerService(
-            args.get("callbackId").get<double>());
-    if (result.IsError()) {
-        LogAndReportError(result, &out, ("Error occured"));
-    } else {
-        ReportSuccess(out);
-    }
+  CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
+  common::PlatformResult result = impl->registerService(args.get("callbackId").get<double>());
+  if (result.IsError()) {
+    LogAndReportError(result, &out, ("Error occured"));
+  } else {
+    ReportSuccess(out);
+  }
 }
 
-void PushInstance::registerApplication(const picojson::value& args,
-        picojson::object& out) {
-    LoggerD("Enter");
-
-    CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
-    common::PlatformResult result = impl->registerApplication(
-            args.get("callbackId").get<double>());
-    if (result.IsError()) {
-        LogAndReportError(result, &out, ("Error occured"));
-    } else {
-        ReportSuccess(out);
-    }
+void PushInstance::PushRegisterApplication(const picojson::value& args, picojson::object& out) {
+  ScopeLogger();
+
+  CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
+  common::PlatformResult result = impl->registerApplication(args.get("callbackId").get<double>());
+  if (result.IsError()) {
+    LogAndReportError(result, &out, ("Error occured"));
+  } else {
+    ReportSuccess(out);
+  }
 }
 
-void PushInstance::unregisterService(const picojson::value& args,
-        picojson::object& out) {
-    LoggerD("Enter");
+void PushInstance::PushUnregisterService(const picojson::value& args, picojson::object& out) {
+  ScopeLogger();
+  LoggerW(
+      "DEPRECATION WARNING: unregisterService() is deprecated and will be removed from next "
+      "release. Use unregister() instead.");
 
-    CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
+  CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
 
-    common::PlatformResult result = impl->unregisterService(
-        args.get("callbackId").get<double>());
-    if (result.IsError()) {
-        LogAndReportError(result, &out, ("Error occured"));
-    } else {
-        ReportSuccess(out);
-    }
+  common::PlatformResult result = impl->unregisterService(args.get("callbackId").get<double>());
+  if (result.IsError()) {
+    LogAndReportError(result, &out, ("Error occured"));
+  } else {
+    ReportSuccess(out);
+  }
 }
 
-void PushInstance::unregisterApplication(const picojson::value& args,
-        picojson::object& out) {
-    LoggerD("Enter");
+void PushInstance::PushUnregisterApplication(const picojson::value& args, picojson::object& out) {
+  ScopeLogger();
 
-    CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
+  CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
 
-    common::PlatformResult result = impl->unregisterApplication(
-        args.get("callbackId").get<double>());
-    if (result.IsError()) {
-        LogAndReportError(result, &out, ("Error occured"));
-    } else {
-        ReportSuccess(out);
-    }
+  common::PlatformResult result = impl->unregisterApplication(args.get("callbackId").get<double>());
+  if (result.IsError()) {
+    LogAndReportError(result, &out, ("Error occured"));
+  } else {
+    ReportSuccess(out);
+  }
 }
 
-void PushInstance::connectService(const picojson::value& args,
-        picojson::object& out) {
-    LoggerD("Enter");
+void PushInstance::PushConnectService(const picojson::value& args, picojson::object& out) {
+  ScopeLogger();
+  LoggerW(
+      "DEPRECATION WARNING: connectService() is deprecated and will be removed from next release. "
+      "Use connect() instead.");
 
-    CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
+  CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
 
-    common::PlatformResult result = impl->connectService();
-    if (result.IsError()) {
-      LogAndReportError(result, &out, ("Error while connect service"));
-    } else {
-      ReportSuccess(out);
-    }
+  common::PlatformResult result = impl->connectService();
+  if (result.IsError()) {
+    LogAndReportError(result, &out, ("Error while connect service"));
+  } else {
+    ReportSuccess(out);
+  }
 }
 
-void PushInstance::connect(const picojson::value& args,
-        picojson::object& out) {
-    LoggerD("Enter");
+void PushInstance::PushConnect(const picojson::value& args, picojson::object& out) {
+  ScopeLogger();
 
-    CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
+  CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
 
-    common::PlatformResult result = impl->connect();
-    if (result.IsError()) {
-      LogAndReportError(result, &out, ("Error while connect service"));
-    } else {
-      ReportSuccess(out);
-    }
+  common::PlatformResult result = impl->connect();
+  if (result.IsError()) {
+    LogAndReportError(result, &out, ("Error while connect service"));
+  } else {
+    ReportSuccess(out);
+  }
 }
 
-void PushInstance::disconnectService(const picojson::value& args,
-        picojson::object& out) {
-    LoggerD("Enter");
+void PushInstance::PushDisconnectService(const picojson::value& args, picojson::object& out) {
+  ScopeLogger();
+  LoggerW(
+      "DEPRECATION WARNING: disconnectService() is deprecated and will be removed from next "
+      "release. Use disconnect() instead.");
 
-    CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
+  CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
 
-    common::PlatformResult result = impl->disconnectService();
-    if (result.IsError()) {
-      LogAndReportError(result, &out, ("Error while disconnect service"));
-    } else {
-      ReportSuccess(out);
-    }
+  common::PlatformResult result = impl->disconnectService();
+  if (result.IsError()) {
+    LogAndReportError(result, &out, ("Error while disconnect service"));
+  } else {
+    ReportSuccess(out);
+  }
 }
 
-void PushInstance::disconnect(const picojson::value& args,
-        picojson::object& out) {
-    LoggerD("Enter");
+void PushInstance::PushDisconnect(const picojson::value& args, picojson::object& out) {
+  ScopeLogger();
 
-    CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
+  CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
 
-    common::PlatformResult result = impl->disconnect();
-    if (result.IsError()) {
-      LogAndReportError(result, &out, ("Error while disconnect service"));
-    } else {
-      ReportSuccess(out);
-    }
+  common::PlatformResult result = impl->disconnect();
+  if (result.IsError()) {
+    LogAndReportError(result, &out, ("Error while disconnect service"));
+  } else {
+    ReportSuccess(out);
+  }
 }
 
+void PushInstance::PushGetRegistrationId(const picojson::value& args, picojson::object& out) {
+  ScopeLogger();
 
-void PushInstance::getRegistrationId(const picojson::value& args,
-        picojson::object& out) {
-    LoggerD("Enter");
-
-    CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
+  CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
 
-    std::string id;
-    common::PlatformResult result = impl->getRegistrationId(id);
-    if (result.IsError()) {
-        // this method should fail silently and return null
-        picojson::value res = picojson::value();
-        ReportSuccess(res, out);
-    } else {
-        picojson::value res(id);
-        ReportSuccess(res, out);
-    }
+  std::string id;
+  common::PlatformResult result = impl->getRegistrationId(id);
+  if (result.IsError()) {
+    // this method should fail silently and return null
+    picojson::value res = picojson::value();
+    ReportSuccess(res, out);
+  } else {
+    picojson::value res(id);
+    ReportSuccess(res, out);
+  }
 }
 
-void PushInstance::getUnreadNotifications(const picojson::value& args,
-        picojson::object& out) {
-    LoggerD("Enter");
+void PushInstance::PushGetUnreadNotifications(const picojson::value& args, picojson::object& out) {
+  ScopeLogger();
 
-    CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
+  CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
 
-    common::PlatformResult result = impl->getUnreadNotifications();
-    if (result.IsError()) {
-        LogAndReportError(result, &out, ("Error occured"));
-    } else {
-        ReportSuccess(out);
-    }
+  common::PlatformResult result = impl->getUnreadNotifications();
+  if (result.IsError()) {
+    LogAndReportError(result, &out, ("Error occured"));
+  } else {
+    ReportSuccess(out);
+  }
 }
 
-void PushInstance::getPushMessage(const picojson::value& args,
-                                  picojson::object& out) {
-  LoggerD("Enter");
+void PushInstance::PushGetPushMessage(const picojson::value& args, picojson::object& out) {
+  ScopeLogger();
 
   CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
 
@@ -235,7 +214,7 @@ void PushInstance::getPushMessage(const picojson::value& args,
 }
 
 void PushInstance::onPushState(push_service_state_e state, common::PlatformResult result) {
-  LoggerD("Enter");
+  ScopeLogger();
   picojson::value res{picojson::object()};
   picojson::object& dict = res.get<picojson::object>();
 
@@ -248,54 +227,54 @@ void PushInstance::onPushState(push_service_state_e state, common::PlatformResul
   Instance::PostMessage(this, res.serialize().c_str());
 }
 
-void PushInstance::onPushRegister(double callbackId,
-        common::PlatformResult result, const std::string& id) {
-    picojson::value res{picojson::object()};
-    picojson::object& dict = res.get<picojson::object>();
-
-    dict["callbackId"] = picojson::value(callbackId);
-    if (result.IsError()) {
-        dict["error"] = result.ToJSON();
-    } else {
-        dict["registrationId"] = picojson::value(id);
-    }
-    Instance::PostMessage(this, res.serialize().c_str());
+void PushInstance::onPushRegister(double callbackId, common::PlatformResult result,
+                                  const std::string& id) {
+  ScopeLogger();
+  picojson::value res{picojson::object()};
+  picojson::object& dict = res.get<picojson::object>();
+
+  dict["callbackId"] = picojson::value(callbackId);
+  if (result.IsError()) {
+    dict["error"] = result.ToJSON();
+  } else {
+    dict["registrationId"] = picojson::value(id);
+  }
+  Instance::PostMessage(this, res.serialize().c_str());
 }
 
 void PushInstance::onPushNotify(push_service_notification_h noti) {
-    LoggerD("Enter");
-    picojson::value res{picojson::object()};
-    picojson::object& dict = res.get<picojson::object>();
+  ScopeLogger();
+  picojson::value res{picojson::object()};
+  picojson::object& dict = res.get<picojson::object>();
 
-    picojson::value push_message{picojson::object()};
-    picojson::object& push_message_obj = push_message.get<picojson::object>();
+  picojson::value push_message{picojson::object()};
+  picojson::object& push_message_obj = push_message.get<picojson::object>();
 
-    PushManagerCommon::notificationToJson(noti, &push_message_obj);
+  PushManagerCommon::notificationToJson(noti, &push_message_obj);
 
-    dict["listenerId"] = picojson::value("Push_Notification_Listener");
-    dict["pushMessage"] = push_message;
-    Instance::PostMessage(this, res.serialize().c_str());
+  dict["listenerId"] = picojson::value("Push_Notification_Listener");
+  dict["pushMessage"] = push_message;
+  Instance::PostMessage(this, res.serialize().c_str());
 }
 
-void PushInstance::onDeregister(double callbackId,
-        common::PlatformResult result) {
-    LoggerD("Enter");
-    picojson::value res{picojson::object()};
-    picojson::object& dict = res.get<picojson::object>();
-
-    dict["callbackId"] = picojson::value(callbackId);
-    if (result.IsError()) {
-        dict["error"] = result.ToJSON();
-    }
-    Instance::PostMessage(this, res.serialize().c_str());
+void PushInstance::onDeregister(double callbackId, common::PlatformResult result) {
+  ScopeLogger();
+  picojson::value res{picojson::object()};
+  picojson::object& dict = res.get<picojson::object>();
+
+  dict["callbackId"] = picojson::value(callbackId);
+  if (result.IsError()) {
+    dict["error"] = result.ToJSON();
+  }
+  Instance::PostMessage(this, res.serialize().c_str());
 }
 
 PushInstance::~PushInstance() {
-    LoggerD("Enter");
-    if (impl) {
-      delete impl;
-      impl = nullptr;
-    }
+  ScopeLogger();
+  if (impl) {
+    delete impl;
+    impl = nullptr;
+  }
 }
 
 }  // namespace push